At a crossroad

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Mon Jun 29 11:57:12 PDT 2009


superdude wrote:
> As someone who is reading this newsgroup instead of watching a soap 
> opera, I will give you my useless reasons why I have given up on D, 
> completely:

Since your reasons were useful to one person at least, they aren't 
useless. To be completely honest, however, they are all technically 
inaccurate. In that way, I'm afraid I can't say I am sorry the community 
is losing your membership. We need an increase in the quality of 
participation to this newsgroup.

> Lost focus:
> D was intended as a system programming language, at some point the 
> direction changed to a pure functional research toy. No longer 
> intresting for me.

D has been, is, and will be a systems programming language. The fact 
that it has the keyword "pure" doesn't make it a pure functional 
research toy. It has acquired functional capabilities for a variety of 
good reasons. But its system-level abilities have been also improved 
considerably, and the way they are all integrated is rather remarkable.

> D2 Vapoware:
> Using pure, side effect free, shared nothing, transitiv, functional 
> programming D2 will automatically distribute your program on multiple 
> cores and your programm will run - magically - number of cores times - 
> faster.

Such was not claimed. It is, however, well known that read-only sharing 
across threads is very safe and fast. It does deserve its place in any 
language that's serious about concurrency.

> If not, at least D2 will make it possible to write multithreaded 
> programs, easily. Besides this it is still an ideal system programming 
> language. You can use it to build the next operating system. *Show me 
> the results, YESTERDAY!* Unfortunately it will not be compatible with 
> D1, so prepare yourself to rewrite your programs.

How large is your D1 codebase, and how large a part of it is concurrent?

> Conservative Garbage Collection:
> Some of my programs build structures requirering more than 1.5GByte of 
> memory. Conservative Garbage Collections, simply does not work for 32bit 
> programs. Try it for yourself.

I have hit the same issues in my own code, and it is a hindrance. But 
it's not a showstopper. I did write programs that consume as much memory 
as the machine has. It takes extra care, but then writing such a program 
requires care in any language. This is the only reasonable technical 
point you are making.

> Library Split:
> "I'm not interested in Tango and in no way I'm going to support it! 
> Phobos is the standard library. Period." - I was looking for such a 
> sentence. Or "Ok, Tango is great. It will replace Phobos. Phobos will 
> only stay for backwards combatibility."

Neither sentence is the right one. The right sentence is "Phobos is the 
standard library and Tango will work with it as well as any other 
library." There's no "Tango vs. Phobos". You will be able to use either 
or both in your code, just like you can use C++'s standard library and 
Berkeley sockets or Qt strings.

> I recognized I'm looking for something different:
> I recognized what I actually want is not D. It is a python or ruby - 
> with the speed of C. I'm aware it does not exist, yet. But actually it 
> is a lot easier and more fun to use Python and write some performance 
> critical stuff in C or C++ than to use D. All this template stuff... For 
> what? Give me a high dynamic language, please.

At this point you are contradicting your earlier point that D is no 
longer interesting to you because it is not a systems programming 
language anymore. A highly dynamic language is not a systems programming 
language.

> D offers too less compared to C++, C# or Java. And D is usually slower 
> than C++ or Java...

"Too less"? I'm starting to have an idea on who superdude is :o).

I believe D's offering as a language is already vastly superior to 
others', but such advantages are hard to see when there's little 
infrastructure using them. We're working on that.

> Zealots trolling in the news:
> Sometimes very offending discussions in the forum. Some people show very 
> litle tollerance to different opinions. No one steps in and says: "Stop 
> it, now! It's enough! This is not a forum about XXXXX. It's about the D 
> programming language!".
> 
> As long as superdan is licking his balls and fucking his mother. - 
> Nothing will change. There will be at least two standard libraries. Who 
> gives a fucking shit! There will never be a a high concurrent D2 - It's 
> the halting problem, you sucker! - only transtitiv const. There will 
> always be funny discussion to read in the forum, etc.

I think the tone of discussions has improved enormously since a couple 
of years ago. Back then flamewars were the norm, interrupted by short 
periods of relative peace. But one thing I'd really want is to improve 
the technical level of the posts; many posts are technically not up to 
snuff. I'm as annoyed by superdan's language as anyone else, but I have 
to say that most of the time he has his facts right, unlike, for 
example, your post.


Andrei



More information about the Digitalmars-d mailing list