Necessities for Adoption of D

Hans W. Uhlig huhlig at clickconsulting.com
Sat Feb 9 19:10:14 PST 2008


Tyro[a.c.edwards] wrote:
> Hans W. Uhlig さんは書きました:
>> Good morning everyone,
>>     I am new to the D forums but I have been following D's progress 
>> for a good while.
>>
>> 2) A single standard library for most tasks - The whole Phobos here 
>> and Tango there and DWT someplace else makes picking up a language 
>> difficult. Not only that but as a Java Instructor I can simply point 
>> to the Sun java & javax library sets available and say here is 
>> something that can do that. In Suns case it may not do it well but its 
>> there.
>>
> 
> I boggles the hell out of me every time someone comes and complains that 
> there are more than one standard library. 

Having several libraries that do the same thing, are fully community 
supported and do things radically different are wonderful for confusing 
new users. As was mentioned in another thread, the concept of objects is 
radically different between the two "standard" libraries, this is an 
aweful way to unify your platform and make it "popular" which is what 
deems any language to success or failure in use.

> I have never had that problem 
> and I can attest to you that my programming experience pales in 
> comparison to anyone on this newsgroup. There has only ever been one 
> standard library. Tango and its predecessor "Mango" was created because 
> patches submitted to Phobos were not readily implemented. 

For a "supplementary library" I find it funny that its not released as a 
set of source files to be added to a compiler or a set of libs for 
version x, for version y, or version zed. Its distributed as a set of 
libs, compiler, linker, make & debugger. This to me smacks not only of a 
standard library but nearly a full fork based on said library.

> But instead of 
> sitting around and complain about it, people actually took a positive 
> step to address the situation. It grew into what it is today because the 
> creators believe in what they are doing and continue to develop their 
> product. Of course, a good following (aka user base) is always a morale 
> booster. But if I recall correctly, the Tango Team has never claimed 
> that they are the standard and Walter has never endorsed it as the 
> "Other Standard". 

Well I will address this as two pieces, First, having a community driven 
project is a wonderful thing. It tends to do two things, increase 
submitted code and exponentially increase scope creep. Now, neither is 
bad for a standard library as long as someone is managing all these 
pieces and cleaning them up afterwards. However since the majority of 
vocal users here seem to think tango is the future and phobos was a 
wonderful stepping stone development library for Dv1, perhaps its time 
to look at what will get solidified for D2 and ensure some common 
standards for the future.

As to the second comment you made, even if the Tango Team does not say 
we are the new standard, the community seems to have made up its mind 
that it is. Since Phobos is not being updated well and needs some code 
rewrites(noting the IO speeds and a few other areas) perhaps this isnt a 
bad thing. As D is a growing language it can go through changes and even 
entire library sets.

> Don't get me wrong, it is a damn good library and 
> could easily become the standard. But as I sit here typing this message 
> it is most definitely not a standard.
> 

Perhaps you should look at why your peers seem to think it is.


> This is plain asinine. Most, if not all complaints of this sort claim 
> that new users are hampered because the website is badly designed, there 
> are two standard libraries, there is no IDE, debugging support is 
> nonexistent or under par and the list goes on and on. 

All of those are killers to your average code money, remember, they are 
told to code, not think. D seems to sit where linux is right now, It is 
a beautiful product with lots of future, proven ideas, a good community 
and about as much continuity and polish as a train wreck.
No quality IDE(some are getting there but not there yet), no good 
debuggers or the IDE to use with them,and a badly designed website 
without good documentation wont attract the attention of companies. 
These same companies who say "I need to use D! It will decrease 
development time, increase productivity and lower my support costs." and 
then funnel large amounts of money into developing the few rough areas. 
This includes mainstream IDE support, and loads of other things.


 > As a novice
> programmer, I’m here to tell you that these claims do not apply to 
> people who really want to learn the language. 

My comment is for anyone who wishes to learn the language for usage, not 
necessarily for pleasure. If you learn said languages for pleasure then 
your niche of people will be small and your languages usage will be so 
as well. If your language is powerful, easy to use and easy to learn by 
ANYONE including the 9-5 code monkeys who their boss says we need X 
written in Zed then it serves a far larger crowd.

 > I really doesn’t even
> require you to understand what you are doing to learn this language. 

I beg to differ. Most lower end programmers don't understand a command 
line let alone linkers, and debuggers. Visual Studio, Komodo and 
Eclipse/Netbeans are as far as they go.

> I’ve ported the Mersenne Twister on two separate occasions (both 
> original and SIMD versions) to D, and while I learned a little more 
> about D in the process of doing so, I still do not understand a whole 
> lot about programming. 

To write that complex an algorithm and no know much about programming 
you are either an idiot savant or a liar.

 > The amazing thing about this is that I learned
> and did it all without any documentation other than the D website, the 
> source code, and asking a few questions here and there. My debugger was 
> me, my IDE was first notepad then I upgraded to UltraEdit because the 
> job paid for it. I used the only standard library D has: Phobos.

And my father walked up hills both ways in the snow & rocks without 
shoes because thats what he had. So when it came to us, he paved the 
road, bought us shoes and gave us a segway. Were learn a whole lot more 
  at school now then he did.

> 
> I've been able to do in D what I still cannot do in C++ which has only 
> one "STANDARD LIBRARY" and thousands of volumes of books dedicated to 
> explaining its every intricate detail. I've spent in excess of $5000 
> dollars to learn C++ and still cannot do in it what I can do in D on 
> which I've spent $0. 

Notice my argument failed to mention C++. I have written code in c++ and 
found its object orientation and standard library to be painful to use. 
http://www.phy.duke.edu/~rgb/Beowulf/c++_interview/c++_interview.html 
while tongue in cheek seems to be very poignant. C++ was an attempt to 
bring OO to a procedural language without breaking anything. I find most 
real systems programmers still prefer C over C++. Isn't this why Walter 
Wrote D rather then C+2?

I will however note that spending loads of money on books at this point 
in free communication is a laugh. You can learn C from 50-100 sites on 
the internet without spending a dime on direct material. Same goes for 
most any language you care to learn. So the number of trees you cut down 
for your library in this argument has very little sway, times have changed.

> Sorry, make that $10 since I did buy "Learn to 
> Tango with D". The language is not that difficult to learn especially if 
> you are a novice and have no preconceived ideas about what programming 
> should be. 

Since this is plesant conversation, how is the book? I was looking to 
pick it up as a reference since there is a limit on the online material 
available.

> For those who come across with preconceived ideas, the site 
> provides enough to explain differences between D and C, D and C++, D and 
> JAVA and so on… To me, that is all you should require if you are an 
> experienced programmer.

Preconceived ideas, tested solutions and methods seem to be what D is 
sold as. 30 years of experience from all languages brought together in 
one tight clean package written to be easy to learn and easy to use. Or 
perhaps I misread Walter's sales pitch.

> 
> Yes, bells and whistles can make easier. But is that truly a 
> showstopper? I don’t think so.

Bells, whistles, the entire percussion section, and a missing lead 
singer could stop the show, or at least delay it. Perhaps we should let 
the band in, and let the understudy take the stage.

> 
> Regards,
> Andrew

Sincerely,
   Hans W. Uhlig



More information about the Digitalmars-d mailing list