Let Go, Standard Library From Community

Chad J gamerChad at _spamIsBad_gmail.com
Wed Apr 18 21:05:14 PDT 2007


Stephen Waits wrote:
> freeagle wrote:
> 
>> And majority of people will tell you that only one instance of FreeBSD 
>> is a better thing than hundreds of instances of linux
> 
> 
> Me included.  But that's OT.
> 
> The things about a "standard library".. first of all, it's "standard", 
> second, it's singular.
> 
> I want to (eventually) use D on the PS3.  If you've got some giant 
> standard library, then porting it to new platforms becomes burdensome. 
> Welcome to smelly town.
> 
> In my job, we don't need tons of library support.  Basic math, basic 
> containers, basic algorithms.  As a matter of fact, we (and about a 
> billion other people) have been using C and C++ and the associated 
> (relatively small other than that iostreams crap) stdlibs for a long 
> time now.  Crypto in the standard library?  NFW!
> 
> KISS guys, KISS..  why not retarget Tango as an addition to Phobos? 
> Something more kitchen-sink'ish?  (ala Python)
> 
> Community or not, it's Walter's language.  Luckily for us, Walter is 
> really freakin' smart about this kind of stuff, and he'll decide, and 
> we'll all thank him for it.
> 
> --Steve

Size of library and porting difficulty are pretty much unrelated if the 
library is written well.  I do believe Tango is written well.  The 
porting difficult comes when there are OS or machine dependant features 
used (system function calls, ASM use), since all of those have to be 
replaced.

When you start to talk about a large do-everything library, there are a 
couple categories of code that become very common:
- Things like crypto that only need one dep: a turing complete language. 
  (It can be asm optimized, but intrinsics and abstraction kill that issue.)
- Things that sit ontop of OS abstractions.  Once you write a File class 
that handles file level io, then you no longer need to use any OS 
dependant functions to handle file use.  Port one and you port them all.

Now I remember reading that Tango is interested in doing some media 
library stuff (SDL kinda stuff- low level graphics, sound and all) and 
that might be trouble to port.  Of course, I doubt much of the other 
stuff will depend on it, so just don't port that part of Tango if you 
are strapped on time.  If they decided to handle GUI at some point, it 
might be the same deal (espec for app GUIs where native look-and-feel 
matters).

I've talked with kris some about the idea of porting Tango to 
arm-wince-pe, a popular PDA platform.  Realize I have done this with 
phobos, so I have some experience in the matter.  I liked what I heard. 
  It is very layered.  Get the bottom layers and the rest falls into 
place.  Minimal OS function dependance, no ASM deps - dude that is /nice/.



More information about the Digitalmars-d mailing list