You are not logged in.
Opinion question: should language distributions contain a large standard library?
Offline
IMO it depends on the intended usage for the language.
Evil #archlinux@libera.chat channel op and general support dude.
. files on github, Screenshots, Random pics and the rest
Offline
Yes. If I had to use any of the programming languages I know (that means Java and some C-based languages) without using its standard library, I would probably stop using it. Imagine having to code everything using ints and chars!
Now you could argue that you could of course use code provided by thirds, but that would (in my opinion) result in a big mess. If everyone adhered to their own standard and created their own libraries, what would become of a language's paradigms and things like backwards compability?
Last edited by MrAllan (2009-10-26 22:38:16)
Offline
I like the "batteries included" concept behind Haskell where there's a centralized repository for third party libraries and official packages alike. It makes it very easy to get things that you may need while still having strong peer-to-peer review. This is something that OCaml is trying to do now. Previously with OCaml you could find three or four different versions of a package written by the same people in as many places. That's no good.
Offline
Mhm. To be honest, I sort of expected a lot of 'no, that's bloat!' answers.
Offline
No, that's bloat!
But really, there's nothing wrong with including a large standard library. Only the parts a programmer needs are linked, so it's not like every application is filled with unused library routines or anything.
Offline
Having a large standard library is helpful for a lot of reason as long as it doesn't get to be too absurd. And not including things that are painfully obvious is equally absurd. For instance, I remember learning Java and there was no console class in the standard library. That's ridiculous.
Offline
Okay, I will take all your opinions under advisement for my next project.
Offline
I think a strong standard library is important, but the keyword here is strong, not "large". One of the reasons I liked newLISP over other Lisps/Schemes was that the standard library included many practical functions, that would otherwise need to be implemented for nearly every script/application. I also like the idea of Hackage, which as Skottish points out, creates a central point of distribution and information.
A similar interesting idea to point out.. I don't know how many of you are familiar with Litestep on the Windows platform, but most Litestep installations these days include a NetLoad module, which is able to automatically fetch required modules from a central repository as they need to be loaded.
I guess what I'm trying to say is that a language should have a reasonable standard library, without being too large (no one wants to download 100mb of JDK) to keep the level of entry as low as possible, but it should be easy enough to bundle or "require" modules in a straightforward way when they're needed.
Offline
No, thats bloat!
IMO, I want a lean mean core for any language so it can find it's way into embedded devices and other limited resource areas. I also want a large body of optional and easily installable modules (e.g. CPAN) for the times I'm not limited by the hardware.
Offline
just depends how big that is.
mono does that. As a consequence it's not exactly popular because of the hdd space used. However it's only about 15-20mb more than python.
Offline
A standard library should have things are going to be used by a variety of programmers. For example:
Library for guis for should not be included since not everyone needs these, libraries for handling data storage should be, as it is used by a large variety of programmers.
Personally, I'd rather be back in Hobbiton.
Offline
A good question to ask is where the "standard" library leaves off and other libraries start to take up the slack. Perl seems to work well in this respect, with many features standard and the rest available via CPAN. Java seems to suffer from a standard library that is rather large and cumbersome to extend. C has an incredibly small standard library, to the extent that one needs third-party libraries for e.g. networking, IPC, multithreading, regexes, etc.
It's a delicate balancing act, and, naturally, each approach has its strength.
Offline
I like Lua's philosophy , small compact yet can do a lot, however it is easy to extend via luarocks.
There is a difference between bleeding [edge] and haemorrhaging. - Allan
Offline