April 18, 2007 Re: Let Go, Standard Library From Community | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Dan | Dan wrote:
> I just use phobos. It gets the job done, instead of trying to be everything and anything the user might possibly want to interact with; like the Java libraries.
>
> I find the Java libraries are so freakin' huge and multipurpose that they couldn't possibly be even close to efficient or practical for any one solution.
>
> Likewise I fear for Tango, as it's got that OO gleam in it's eye and is implementing classes for crypto.. I mean.. crypto!? What's next, a math class? *shudders*
Oh to be a fly on the wall when the current lib doesn't have a function you need...
| |||
April 18, 2007 Re: Let Go, Standard Library From Community | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Brad Anderson | Brad Anderson Wrote:
> Oh to be a fly on the wall when the current lib doesn't have a function you need...
I can write assembler.
I can write D.
I can write ECMAScript.
If there's something I need that isn't there, I write it. I personally think there's something wrong with someone who claims to be a programmer but *can't* solve a trivial puzzle.
Not knowing what address to write directly to the screenbuffer is forgiveable. Look it up. Not being able to implement huffman compression or a quicksort or binary search, or a jump gate after knowing what you need to achieve... well, that means you lost that gleam in your eye you had back in kindergarten.
- Dan
| |||
April 18, 2007 Re: Let Go, Standard Library From Community | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Dan | Dan wrote: > > I just use phobos. It gets the job done, instead of trying to be everything and anything the user might possibly want to interact with; like the Java libraries. > > I find the Java libraries are so freakin' huge and multipurpose that they couldn't possibly be even close to efficient or practical for any one solution. > > Likewise I fear for Tango, as it's got that OO gleam in it's eye and is implementing classes for crypto.. I mean.. crypto!? What's next, a math class? *shudders* Seriously, classes don't inherently mean in-efficient as you seem to believe. Tango puts it's pride in being an efficient library, and if it is provably slower than other solutions, whether they are OO or procedural, then we would like to know, as it is most likely a bug. Note that the overhead with classes most often are related to the allocation cost. In very many cases, when it makes sense to keep the ojbect a live for a period, keeping state can you help you make many operations more efficient than if they had to be done repeatedly through a free function, quickly overcoming the initial allocation cost. This also often leads to easier overall use. Then you have the cases where the related operations (especially disk IO) are so expensive in itself, that whether classes are used or not, won't be noticed in the grand scheme of things. They may however ease use through encapsulation. As for the String class; Yes, Tango has one, but do also have free functions for the same operations, and in most cases we provide versions that do not induce heap activity. Additionally we try to design the library to be flexible and easy to use, and coherent with itself. We even worry about binary sizes. -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango | |||
April 18, 2007 Re: Let Go, Standard Library From Community | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Dan | Dan wrote:
> Brad Anderson Wrote:
>> Oh to be a fly on the wall when the current lib doesn't have a function you need...
>
> I can write assembler. I can write D. I can write ECMAScript.
>
> If there's something I need that isn't there, I write it. I personally think there's something wrong with someone who claims to be a programmer but *can't* solve a trivial puzzle.
>
> Not knowing what address to write directly to the screenbuffer is forgiveable. Look it up. Not being able to implement huffman compression or a quicksort or binary search, or a jump gate after knowing what you need to achieve... well, that means you lost that gleam in your eye you had back in kindergarten.
>
> - Dan
That's fine. You choose to keep your feet on the ground, as opposed to standing on the shoulders of giants.
No biggie. It's just kind of reinventing the wheel. I know it's fun to implement things yourself at times, and a lot of it has to do with what you're trying to accomplish. When time and all the -abilities matter most, I think your approach is wrong. Or rather, not the one I would choose.
BA
| |||
April 18, 2007 Re: Let Go, Standard Library From Community | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Davidl | Davidl wrote:
>>
> I don't think it's handy at all, and I don't like the feeling of forcing
> users to choose between 2 base libraries at the very first. And I'm quite
> sure they would *IN MOST CASE* be misled to phobos without any cosideration
> even they don't know if phobos is what they want, they just think it comes
> with the compiler. And I think this brings a *GREAT UNFAIR* in library
> competition
The Tango binary distribution now includes the compiler as well.
Sean
| |||
April 18, 2007 Re: Let Go, Standard Library From Community | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Dan | Dan wrote:
> I just use phobos. It gets the job done, instead of trying to be everything and anything the user might possibly want to interact with; like the Java libraries.
I think there is a reason why Java's library is trying to provide all the standard things that the coders might need. If you have a small std library, like phobos, or stdc, then there will be several groups of people trying to code the things missing. And so you have bazillion different libraries trying to solve the same problem. Trying to find the one that best fits your needs is a pain. Like trying to find the best linux distro. You can make a nice analogy with linux and freebsd e.g. It's very much the same. And majority of people will tell you that only one instance of FreeBSD is a better thing than hundreds of instances of linux
Freeagle
| |||
April 18, 2007 Re: Let Go, Standard Library From Community | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Dan | Dan wrote: > Brad Anderson Wrote: >> Oh to be a fly on the wall when the current lib doesn't have a function you >> need... > > I can write assembler. I can write D. > I can write ECMAScript. > > If there's something I need that isn't there, I write it. I personally think there's something wrong with someone who claims to be a programmer but *can't* solve a trivial puzzle. > The problem is that every code monkey ends up re-writing the same code. That means a lot of time wasted focusing on writing solutions to problems that have already been solved. It also means when reading someone else's code there's more to learn, rather then there being a standard way of writing something (more time wasted). Furthermore things that have been in some public library (not necessarily standard) generally receive a high level of free testing from the community, that means I save more time. My approach to coding is to try to do as much re-use as is feasible. It means I can focus on the actual problem more, not how I get there. > Not knowing what address to write directly to the screenbuffer is forgiveable. Look it up. Not being able to implement huffman compression or a quicksort or binary search, or a jump gate after knowing what you need to achieve... well, that means you lost that gleam in your eye you had back in kindergarten. I can, have and believe anyone one on this newsgroup could as well. It doesn't mean I should do it again. Its a time investment, even if it only takes you 5 minutes to write a quicksort. I'm sure Michael Abrash could write a ASM optimized quicksort that could rival anything normal people could write (and sure given time any code monkey(s) could produce something better). Even Michael Abrash is an avoid code reuser. That's an advantage of using code that has been worked on by a community or been available forever. That's this code monkey's view. Humm, although I respect your option: You should know that this is one common interview question. PS - Yes I'm a Michael Abrash fan-boy. > > - Dan | |||
April 18, 2007 Re: Let Go, Standard Library From Community | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Dan | Dan wrote:
> [...]
> Not knowing what address to write directly to the screenbuffer is forgiveable. Look it up. Not being able to implement huffman compression or a quicksort or binary search, or a jump gate after knowing what you need to achieve... well, that means you lost that gleam in your eye you had back in kindergarten.
This is utterly stupid. I am an undergraduate student, claiming to be quite a good programmer. I have never implemented one of those, yet I can produce proper library & application code... why? Oh..seems like someone else solved this already, and I can head forward to the solution of my actual problem, without having to care about the obstacles that might be in my if I haven't had a pre-made solution.
Wait.. this is kindergarten? I wonder how you pay your rent and earn money for food...oh well..you wouldn't need to, when you're in kindergarten..
Kind regards,
Alex
| |||
April 18, 2007 Re: Let Go, Standard Library From Community | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Alexander Panek | Alexander Panek wrote: > [...] ..I'm sorry for my harsh response. I didn't mean to let my really-bad-day-mood out like this.. please don't take it personally. | |||
April 18, 2007 Re: Let Go, Standard Library From Community | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Alexander Panek | Alexander Panek Wrote:
> Dan wrote:
> > [...]
> > Not knowing what address to write directly to the screenbuffer is forgiveable. Look it up. Not being able to implement huffman compression or a quicksort or binary search, or a jump gate after knowing what you need to achieve... well, that means you lost that gleam in your eye you had back in kindergarten.
>
> This is utterly stupid. I am an undergraduate student, claiming to be quite a good programmer. I have never implemented one of those, yet I can produce proper library & application code... why? Oh..seems like someone else solved this already, and I can head forward to the solution of my actual problem, without having to care about the obstacles that might be in my if I haven't had a pre-made solution.
>
> Wait.. this is kindergarten? I wonder how you pay your rent and earn money for food...oh well..you wouldn't need to, when you're in kindergarten..
*sigh*
A good programmer needs to be able to do more than simply type down what's blatantly obvious. They need to be able to overcome obstacles as simple as these. That was the point of the message.
If you can't overcome something, and be creative - even if your solution isn't a perfect qsort, but maybe you just need to sort, and recreate a decent shellsort instead. If you can't approach a problem and overcome it, you shouldn't be programming, you should be in data entry and speaking Vorgon (for those who've read/seen Hitchhiker's Guide to the Galaxy).
You obviously were quite offended by this line of thought.
| |||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply