Necessities for Adoption of D

Neil Vice psgdg at swiftdsl.com.au
Sat Feb 9 20:02:02 PST 2008


> 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.

My only complaint with the "two standard libs" issue is their 
incompatibility. The idea of writing a library for a language that replaces 
Object thereby breaking compatibility with any "standard" code sounds like 
madness to me.

Besides that, as wonderful as it would be to have all the tools you'll ever 
need already written for you in exactly the manner you'd choose, that is 
very unlikely to ever occur no matter what the development model. I like the 
idea that people write libraries for themselves and make them publicly 
available. If you like them, use them; if you don't, don't. It only affects 
me negtively when a library like Tango breaks compatibility.

>> 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.

A would love to see a great D IDE with all the features mentioned and more. 
Of course I'd also love a great C++ IDE - I've still yet to find one. It 
strikes me as a massive project and one that IMHO comes second to polishing 
the language itself.

> 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.

More's the pity.

> > 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.

Whereas I'm still struggling to make it up the hill at all. I'd much rather 
sufficient tools soon than ideal tools eventually. Every time I go to write 
a struct I come across some language or compiler "odity" that isn't 
explained in the brief specification, crashes the compiler or is even a 
legitimate, though unintuitive initially to me, language feature that I'd 
love to have explained to me but haven't.

Now as much as some of my complaints may apply to 1.0 admittedly I am 
working with 2.0. It is of course an alpha and you expect plenty of hiccups, 
but I would have thought you should also expect to be able to have some way 
of going about getting them resolved. The open source front-end is little 
help if I can't compile it to attempt patches and, for example, nobody has 
yet explained to me why I need to write a redundant opCall just to make a 
copy of a struct?

Please excuse my rant but I find myself quickly losing patience with D2 and 
thinking about 'going back' to C++ primarily due to a lack of documentation 
and not because of a lack of IDE or complete std-lib.

*vent complete* 





More information about the Digitalmars-d mailing list