standardization of D

Dan murpsoft at hotmail.com
Thu Apr 5 09:08:20 PDT 2007


> "Anders F Björklund" <afb at algonet.se> wrote in message 
> > Yeah, I find that it's kinda funny that we have gone from:
> >
> > int main(char[][] args)
> > {
> >     printf("hello world\n");
> >     return 0;
> > }
> >
> > in the original D introduction and samples to the current:
> >
> > version (Tango)
> > import tango.io.Console;
> > else // Phobos
> > import std.stdio;
> >
> > void main()
> > {
> >     version (Tango)
> >     Cout ("Hello, World!").newline;
> >     else // Phobos
> >     writefln("Hello, World!");
> > }

Wow!  That's god-awful!  I just write:

int main(){ printf("Hello World!\n"); return 0; }

It compiles, for everyone.  Those people who use Tango, write their programs only for Tango, they don't version every last fucking call off.  That would be retarded - obviously.

With libraries, the concept is that you pick one, and compile with it.  Job finished.  

The fact that D has more than one means you *get* to pick one.
The fact that D doesn't have tons, means you can reasonably keep both the libraries on your computer in case a program you download uses one or the other.  

Unless you're going to cry about 30Mb?  I can give you $0.15.

Going on about how D is unstable and so bad for commercial development because it has two libraries that are both evolving...

Oh, and PS: There *IS* a feature freeze at 1.0.

D 1.0 code will compile on everyone's post 1.0 compilers.  You write for the 1.0 spec, your program will work just as it did when D 1.0 was first released.  What's the name of that compiler flag?



More information about the Digitalmars-d mailing list