up vote 138 down vote favorite
6
share [g+] share [fb]

I stumbled several times over D and really asked myself why it isn't more popular.

D is a systems programming language. Its focus is on combining the power and high performance of C and C++ with the programmer productivity of modern languages like Ruby and Python. Special attention is given to the needs of quality assurance, documentation, management, portability and reliability.

Do you think it has got a future? I really would like to try it but somehow the thought that I'm the only person on earth programming D discourages me to try it.

link|improve this question
3  
To quote Pulp Fiction: "Z's dead baby". Today is all about "D"! ;-) – Seventh Element Jan 28 '09 at 23:40
2  
It takes ten years for any language to become popular, C++, Ruby, Perl, PHP. All of them. D is just over 12 months old. – Max Howell Apr 8 '09 at 23:20
45  
@Max, D has been around since 2001, at least. – Kevin Jun 16 '09 at 22:08
15  
I have always wondered the same. After all these years, the only conclusion I get, is that the ugliness of Digital Mars webpage is the only one to blame. – OscarRyz Jun 25 '10 at 23:39
8  
@Wayne Werner: It's just you. – maxwellb Aug 6 '10 at 15:08
show 3 more comments
feedback

migrated from stackoverflow.com Feb 15 '11 at 12:37

This question came from our site for professional and enthusiast programmers.

closed as not constructive by Aaronaught, Walter, Mark Trapp Jul 2 '11 at 8:20

This question is not a good fit to our Q&A format. We expect answers to generally involve facts, references, or specific expertise; this question will likely solicit opinion, debate, arguments, polling, or extended discussion. See the FAQ.

34 Answers

1 2

DO it! D is one of my favorite programming languages. It's not just a systems programming language, it's used for the same things C++ is used for, EVERYTHING. There is also an alternative standard library for general purpose usage which I think you would like unless you're really attached to C/C++, then the standard library would probably be better for you. I have been using D for over a year now. It has a very vibrant community, everyones really nice and helpful! There are new projects being made for and with the D language everyday! I'd give it a try :).

link|improve this answer
6  
Thanks, great to hear someone being enthusiastic about D :)! I think I'll really try it after all. – Anonymous Oct 30 '08 at 15:15
4  
s/EVERTHING/EVERYTHING/ – J.F. Sebastian Jan 11 '09 at 1:25
show 2 more comments
feedback

I really would like to try it but somehow the thought that I'm the only person on earth programming D discourages me to try it.

Check out the D newsgroups at news.digitalmars.com, and you'll find a large and thriving community of D programmers.

For instructions on how to set up a news reader, see http://www.digitalmars.com/NewsGroup.html or the web interface.

link|improve this answer
23  
No vested interests here :o) – Motti Dec 7 '08 at 20:15
feedback

I wonder...

I stumbled once or twice on web tutorials for D, and, as a C++ developer, I was not impressed.

Not because D lack qualities.

It's just that, as far as I am concerned, learning a language takes time, and I would rather use this time learning different languages.

For me, D, like Objective-C, are either:

  1. too much similar to C++ when compared to other languages like Ruby, Python, Perl, Lisp, or even JavaScript, i.e., unlike those language, I believe D won't change a lot my way of thinking. So there's no way I will invest personal time in it.
  2. being less interesting than Java or C# when I'm just drooling over their huge standard libraries, i.e., unlike those languages, I believe D won't add a lot to what C++ is able to do.
  3. I never (i.e. never as in never) saw a job offering near my home where D (unlike Objective-C) was mentioned

And I did not even mention the fact that C++ is huge as a language, and that I am still learning each day new uses of C++ features.

In the end, I guess C++'s shadow hides somewhat D, and thus limits the growth of D's community, which is perhaps a shame. Or perhaps not. I don't know. Without a strong incentive, I just don't see the point to investigate.

Note this is not saying D is a bad language. Quite the contrary. Just giving a personal opinion of why I won't try D, an opinion that could be shared by other people.

Thus, I guess this can be some valuable additional info to the "Does the D programming language have a future?" discussion.

Edit

Note that I stumbled on D's page on Wikipedia, and was positively impressed by its features... But it doesn't change what I said above

Edit 2

Whoa... If someone like Andrei Alexandrescu wrote an article on D, then I am probably wrong to ignore it:

http://www.ddj.com/go-parallel/article/showArticle.jhtml?articleID=217801225

link|improve this answer
2  
I think it might be a good thing for D to remain in C++'s shadow, for a while anyway. That way the community can grow outside of the limelight. – Brad Gilbert Dec 10 '08 at 1:03
13  
Yes but you seem to miss out on the fact that C++ is a god-awful disaster of a language! steve.yegge.googlepages.com/tour-de-babel yosefk.com/c++fqa – kronoz Dec 10 '08 at 9:16
18  
"FQA-Lite" is a bad joke turned sour. The guy's arguments could have been interesting if they were not biased by his too-much-apparent hate. Sorry, but for me, anyone quoting FQA-Lite is by default ruining any chance of being considered seriously. – paercebal Dec 11 '08 at 20:57
2  
@J.F. Sebastian: I once thought about answering FQA's arguments in my own web page, but then, this is just encouraging trolling... The point is: If you're learning C++, avoid FQA-Lite, because it will overwhelm you with biased arguments. If you're familiar, then it can be a good exercise to recognize the technical points/weaknesses of FQA's arguments... That is, if you can go beyond the useless, idiotic, insulting, arrogant, and/or disgusting comments like "Named Parameter Idiocy" and "WARNING - cyclic dependency between C++ features detected"... – paercebal Jun 16 '09 at 22:47
9  
Andrei has now also written a book on D: amazon.com/D-Programming-Language-Andrei-Alexandrescu/dp/… – BCS Jun 22 '10 at 1:54
show 11 more comments
feedback

Everybody speaks about projects and nobody about maintenance. I worked during 20 years supporting the programs which were made by other people. The main problem of C++ is not even GC unavailability but unreasonable quantity of features. Every programmer has their own set of his favorite features and as everybody likes the music listened when he was 16, mostly we make programs as it was in our university times. But every professor has their own views on the subject matter. As a result I have seen C++ programs written in 2007 where all constants were defined in the preprocessor. So for maintenance programs in C++ with so many options we need in industry first class personnel but it is impossible, espeсially for small and middle size companies. As contrasted to this D has only the essential but all purpose, modern and actual set of features for pragmatic people. But D has future only when it will overcome some very critical difficulties. The main ones IMHO are:

  • D is not good name. We all are the pawns of ratings and mode (as we say in Russian). The ratings come from TIOBE and others. With simple one letter 'D' we have many confusion with it and it is very difficult to find adequate information in Internet. My proposition is DPL as "D Programming Language." If anybody thinks that the name is not important I can say only: "How you will name the ship so she will ride". And it is not too late to change the name.

  • We have to stop to use two libraries. Tango is more popular. It is a winner. Our leader must have not only good ideas. He must have responsibility before the community. It is quite enough to have one Carl Sassenrath with his REBOL. We have not to become a group of sectary . The decisions have to be accepted collegial. It's time to have a community body of 3-5 respect people. And we have to think about a standard for D.

  • We need our own GUI library written in D, clear and modern. DWT is not a good choice for newcomers. Did you see the documentation? You have to go to JWT. And there you have to learn Eclipse. I want only to write a program in D and don't want to analyse examples in Java because I don't know it and I don't want to know. Maybe it would be better to support this guy which alone makes DFL?

I am not a system programmer and I start to use D as a general purpose language. But in many blogs I can read complaints about debugger. But I thought that first of all D is a system programming language. And it must have a good, modern and effective debugger. Stop any other works and make this immediately!

If D is considered to be a general purpose language it needs the real strings in syntax level. Maybe it is only syntax sugar but int[char[ ]] x1 in hash arrays IMHO has too many brackets. And you can imagine how ugly it will look in multidimensional variant. Is int[string] x1 really not better? And when we have made a first step and included string operations in language why not to make it in more clear manner?

We have to look at D as at technology. Therefore we need an interpreter which is near as D to use it in small quick lazy i.e. agile programming and as internet and glue language. And we have such one - MiniD from this young genius Mr. Jarrett Billingsley. Community have to support this project. Our leader Mr. Charles Walter Bright have to give hearty approval to it.

Today we have already 128 bit processor but we don't have even 64 bit D compiler. Maybe it is such a strategy?

We need one big and successful project. Nothing helps so greatly as a good example.

May be somebody will not agree with me but every great language has its mother company. Borland and Microsoft for C++, Sun and IBM for Java, ZOBE for Python. Maybe it is necessary to find such one for D?

Another way to popularity is to work with universities communities. Our leaders have to read lectures for students. D should be included in educational programs. Young people are our future. And for our publicity D have to take place in all benchmark tests (http://shootout.alioth.debian.org/) Last tests from 22 January 2009 were run without D. Why? May be because the processor was Intel Q6600.

So I beg my pardon for such a long answer and for my mistakes in English. D is really nice but we have only 2-3 years to solve these problems. If our leaders and community will do it - D has a future. If not - it will cast in lot with thousands of languages which are used only by small groups of fans.

link|improve this answer
11  
I totally agree! Two standard libraries, no debugger, missing 1st rate D GUI toolkit, lack of marketing ... that and no binary compatibility with C++ are the reasons which turned me off from D. Also some features can lead to bad coding styles, reducing maintainability. – phoku Nov 25 '09 at 10:45
show 3 more comments
feedback

No, I don't think it has a future. There's no doubt it's better designed than C++, but it doesn't really stand out enough to ever get mainstream acceptance. The world just doesn't need a cleaned-up C++. For most purposes, other languages are better suited (Python, Ruby, C#, Java), and for the areas where C/C++ still dominates, they're likely to keep doing so. Switching to a new language isn't a small task on most projects, and will only be done if the rewards are really worth it. And even if D is a nicer language than C++, it lacks in library/tool support.

I don't see D ever breaking through, for the same reason that we're still using x86 and a million other messy, badly-designed technologies. Because they're here already, they're widespread and well-supported, and the advantages of switching to something better designed just aren't big enough to justify the initial cost.

link|improve this answer
6  
Also, D is more than a cleaned up C++. Templates are much more powerful, and D2 (the alpha version) makes a serious attempt at addressing concurrency issues w/ transitive const and pure functions. – dsimcha Jan 28 '09 at 3:59
8  
Yes, but C++ templates are a Turing tarpit. D templates are usable for serious metaprogramming by mortals. See compile-time raytracer: h3.team0xf.com/ctrace – dsimcha Jan 28 '09 at 14:03
7  
Still missing the point. There's a limit to how many people need a compile-time raytracer. I'm simply saying that it takes more than this to make people ditch their C++ codebase, tools and skillset and switch to D. There's a cost to switching language, and for most people, it's not worth it. – jalf Jan 28 '09 at 15:25
7  
"The world just doesn't need a cleaned-up C++" -> Since 12 years, I'm using C++ every now and then, and I'm still learning. The more I know about it, the more I feel that the world DOES need a cleaned-up C++. Just yesterday this feeling was so strong that I would have loved to "invent" something like this - luckily I found out about D, and though I have never worked with it, I think this need could be fulfilled by it. – Brian Schimmel Jan 27 '10 at 22:48
2  
@Brian: Why are you using C++ "now and then"? For most people, compatibility with existing C++ code is one of the main reasons. D can't be used in those cases. Or perhaps portability and stability is important. D can't do that either, because the language is still constantly changing and hasn't been formalized or standardized in any way. The point is that in most of the cases where we need a "cleaned up C++", there are already a million other better languages we could use instead. Oh, and @dsimcha, you want C++ compile-time raytracing? gitorious.org/metatrace :) – jalf Jan 27 '10 at 23:50
show 8 more comments
feedback

Honestly, no. I think it's going to stay a niche language. The needs its trying to meet are already met.

link|improve this answer
25  
Some things that D has that C++ does not: inline assembler, immutable data structures, modules, compile time function evaluation, mixins, delegates, closures, automatic memory management, template constraints, fast compilation turnaround, export that works, unit testing, doc generation, etc. – Walter Bright Nov 5 '08 at 9:11
4  
I'm a C++ n00b and even I know it has mixins, automatic memory management, unit testing, and doc generation. I'm sure D has other things C++ does not, but when you throw things in there that are obviously not true, you lose credibility. – davr Nov 11 '08 at 1:04
9  
D is the language that C++ wishes it was. The only reason C++ is such a disaster, is it was designed to be backward compatible with C. C is a poorly designed language, because it was designed before anyone had real experience designing languages. – Brad Gilbert Dec 10 '08 at 0:58
6  
The D language has automatic memory management, doc generation, unit testing, etc - native to the language & compiler itself. I love how you have the gall to talk down to Walter Bright like that - he only wrote the first native C++ compiler for Windows. He wouldn't know anything about C++. sheesh... – komma8.komma1 Jan 13 '09 at 19:39
14  
Thing is...D has automatic memory management in the language, while C++ has it in libraries. D has unit testing and doc generation in the language, while C++ has separate frameworks. Who cares about those differences? How important is immutability vs. const to most people? Mixins? They were in mainstream C++ Mac programming in the 90s (Metrowerk's PowerPlant framework). Lots of C++ compilers allow inline assembler, and inline assembler is going to be implementation-dependent anyway. D is probably an improvement on C++ (it isn't difficult), but enough of one? – David Thornley Nov 24 '09 at 15:15
show 12 more comments
feedback

I certainly think it has a future, otherwise I wouldn't have spent as much time on it as I have, including being part of the project lead of Tango (close to 100 contributors) for more than 2 years and co-authoring the book "Learn to Tango with D". Also the 40 people at the Tango conference in Poland last September suggests that you won't be alone as a user.

link|improve this answer
2  
You can only tango with Django :) – Andrei Taranchenko Feb 23 '09 at 3:33
show 1 more comment
feedback

I think the thing to keep in mind here is that languages like Ruby and Python started out the same way, as one-man projects with grassroots following. Without a huge corporate backing, D will only become popular through a grassroots movement of programmers, starting with hobby projects, non-production code, etc., just like Ruby and Python. I've been using D for about a year and love it. Remember, if you're interested in a language, but won't try it because you're worried it won't become mainstream, and enough other people think like you, it will become a self-fulfilling prophecy.

Edit: Another very important thing to keep in mind is that D is still a bleeding edge technology. IMHO, declaring a 1.0 version when it was declared was probably a mistake in hindsight, as it gives the wrong impression as to what the community is focusing on now. D2 makes several very fundamental changes to the language and, by seriously addressing concurrency issues, increases the justification to undergo the switching costs from C++. Most of the effort of the core D people is going into getting the core language of D2 right. Most community effort is going into getting the code to libraries, tools and alternative implementations written, and keeping up with changes to the core language. Polish, documentation, etc. will come after the dust settles on D2.

link|improve this answer
show 1 more comment
feedback

You may also want to look at these questions:

D Programming Language in the real world?

How widespread is D here at SO?

Is anyone using D in commercial applications?

It seems to be popular enough on SO.

link|improve this answer
feedback

A good (but not the best), but certainly not the most relevant, source which shows an increase of popularity of the D programming language is certainly TIOBE's index located at http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html . From a perspective of a professional C++/C developer (since 1992) - D is the best designed OO programming language with features that actually go beyond OO (see new "pure" functions for an example). Out-of-box D code is pretty fast. Shootout examples can give some clues about the speed: http://shootout.alioth.debian.org . But, software engineers know pretty well that it is not all about speed. Personally the power of D comes not just from speed, but also from it's PRACTICAL values (code coverage, design by contract, built-in unit testing, invariants, const correctness, scope keyword, built-in documentation system, etc).

To sum everything up in one, single sentence - D is a heaven for a software engineer.

link|improve this answer
show 2 more comments
feedback

Glancing at the Wikipedia article, a few impressions:

The article looks like it was written by enthusiasts, so I rather question whether it has WP's Neutral Point of View.

It looks like it does some things better than C++ (which isn't really a hard goal), but it doesn't look to me like it does enough things better. Lots of people have worked on a better C++, and the only two candidates to succeed on a large scale have had massive corporate backing. There's now three languages in that niche: C++, Java, and C#. Squeezing another one in is not going to be easy.

The WP article said it didn't handle Unicode smoothly, which to me is a showstopper. I'm willing to forgive older languages for having problems with Unicode, but not newer ones.

I don't see why I'd want to learn D. I'm potentially interested in learning languages that are different from what I know, or lots better. D doesn't look like either. Moreover, I do my home stuff on Linux (or possibly OSX), and it looks like the main development is only for Windows (which I use at work, but only to play games on at home).

The primary development on Windows is a potential problem. Unless and until anybody can convince Microsoft to adopt it for .NET, which I see as very unlikely, it won't get mainstream status there. The Unix-side ecosystem has lots of developers, and more room for a new language to force its way in, much as C++, Perl, and Python did.

I could be wrong (every so often I remember my first impression of the Web, that it would never catch on), but I'd bet fairly heavily against D becoming mainstream. I'm sure it's a nice language, but I've seen lots of nice languages that never became mainstream. The current direction seems to be aimed at displacing the products of large corporations, rather than climbing around in the wainscoting to emerge triumphant.

I do have some suggestions for its proponents.

Fix any Unicode problems. Now. It really doesn't matter what you have to change and discard, or how many programs you break. No language with Unicode issues has a future any brighter than its present.

Keep the Unix-side development at least as current as the Windows-side. It's a lot easier to get mindshare in a world where nobody is fixated on Visual Studio and no company dominates, and critical mass is probably smaller there.

Get some significant application written in D. Anything that a large number of people would recognize would be good for a start. That way, it'll at least look like a serious language, and perceptions are critical in this game.

link|improve this answer
2  
D has proper support for Unicode, you just have to remember a character in unicode is not a single byte. Linux has an up-to-date/stable dmd compiler, released at the same time as the windows version. Innovation is being put into D v2. – he_the_great Mar 8 '09 at 3:58
1  
Glad to hear it; I was just going from the Wikipedia article. However, features with "you just have to remember" in the explanation are always a little suspect at first. – David Thornley Mar 9 '09 at 13:24
1  
I don’t agree on your niche. D, and also C++, fill a completely different niche than C# and Java, i.e. system programming. C++ isn’t all about OOP and in fact OOP is only a minor possible programming style in modern C++. D and C#/Java aren’t fighting for the same niche at all, as far as I see it. The rest of this answer is good, though. – Konrad Rudolph Nov 25 '09 at 18:41
show 5 more comments
feedback

You aren't alone. I installed D, but haven't written anything in it (yet). And there are a number of questions here tagged "d", so there are users out there.

From what I've read, yes, I think it has a future. But it's going to take one programmer at a time to develop something in D before enough of us are out there to make it more mainstream.

link|improve this answer
feedback

You won't be alone; you will be in a minority for a while yet. My impression is that D has a lot of promise, but is too much in a state of flux for many people. Give it a few more years to stabilize, and it could become a contender.

link|improve this answer
feedback

I wanted to try D a weeks ago, however I gave up eventually, as the entry barrier was too high for me. After a hour of browsing D related web pages to learn what I need to download and install, I have downloaded Eclipse, some D plugin for it and and some more basic D packages, but after another hour of experimenting I was not able to compile and run even the most basic hello world application because of some build system ill-configuration errors.

link|improve this answer
2  
No. I am sorry, this is more than I am willing to do. I was just curious, I have no deeper interest in D. If D wants to convince me, it needs to try harder and to make the entry barrier lower. – Suma Jan 29 '09 at 9:09
3  
Stop blaming D for your own incompetence. – Rayne Feb 6 '09 at 21:42
1  
Way to share the love, Rayne :) – Ellery Newcomer Feb 23 '09 at 1:40
1  
Setting up the D compiler on the Windows platform is a fairly trivial exercise: zeusedit.com/forum/viewtopic.php?t=2465 – jussij Jul 31 '09 at 4:05
show 3 more comments
feedback

One problem it has is that there are a number of different programming languages called "D". The first one I heard of (and the one with the best reason for the name) was in the late 1980's (it optimized database access via a C-like syntax, hence "D")

link|improve this answer
1  
oops... Ya'know I had first typed it as "1890s" and then "fixed" it. But then you usually takes three tries to get my code right also... – James Curran Oct 30 '08 at 15:42
show 2 more comments
feedback

Go to dice.com and see how many openings there are for D programmers.

link|improve this answer
8  
-1 The number of job openings for programmers who know X may only tell us anything about X's present (and possibly its past), not its future. – hillu Jul 24 '09 at 12:00
2  
I'd say job openings is one of the most lagging indicators there is. Most programming languages get their start on hobby projects and side projects, then move to bigger projects as they mature. Furthermore, there will always be plenty of jobs maintaining legacy code in languages that have a long past, but no future in greenfield code. Look at Cobol. – dsimcha Jan 31 '10 at 22:10
2  
I think openings are not indicators only for lang-s with big industrial past, isn't it? How can anything become mainstream, if nobody(with money) really use it. – Alexander Malakhov Apr 14 '10 at 4:47
feedback

There are a lot of good ideas in D. But I wouldn't use it in the current incarnation. It doesn't really offer any compelling (besides something nice to have) over C/C++ for system programming and Java/Ocaml/Haskell/Erlang/Python/Ruby/Perl for application development.

I have a hunch that the next gen c/c++ successor will come from clang/llvm folks (sponsored mainly by Apple with cash position recently bigger than Microsoft BTW) (with killer features like fast/tight IDE integration, JIT/static code generation switchable), where many good ideas of D will be absorbed.

link|improve this answer
show 2 more comments
feedback

D is a D-ead horse if you ask me. If you've got time, okay. But it's not well documented and hasn't got enough industrial support jet.

link|improve this answer
3  
People have to use the language for it to be well known, and no one will ever use the language if they are too worried about documentation and industrial support. There is a book written about it, and growing documentation. – Rayne Mar 6 '09 at 1:57
show 2 more comments
feedback

Depends on what you call "future". I don't believe any single-source language has ever survived over the years: tcl has been replaced with python/perl. There is a trend to replace python/perl with ruby code, etc. C/C++, FORTRAN, LISP, SCHEME -- all had many implementations and have survived many years.

The key to mainstream acceptance and continued support is the existence of multiple sources.

D currently has only one implementation -- and this makes it hard to rely on it being available on many platforms.

link|improve this answer
1  
Wrong. It has GDC and LDC in addition to DMD. Unfortunately, GDC is dead (or at least appears to be), but LDC is actively being maintained and is in beta testing. – dsimcha Jan 11 '09 at 2:08
feedback

Remember how long it took for C++ to become the dominant offspring of C. C++ programming with CFront was feasible in 1983 (after a couple of years in the lab), but it didn't become the go-to language (no pun intended) until the 90s, when hardware became fast enough, and software subsequently complex enough, that the merits of C++ over straight C became overwhelming.

D hasn't even been around for a decade (the earliest newsgroup posts, talking about an alpha release of the compiler, date back to 2001), so I feel it has some time yet. And if the creators of the language have made a wise design choice in optimizing for multiprocessor hardware, then it may yet have its day.

link|improve this answer
feedback

I haven't looked at D because of the lack of time and industry support.. I haven't seen a big company picking up, using and supporting D :( So from this point of view probably not.

Ruby, for example became popular just because of Rails.. But probably somebody writes a killer app in D, who knows..

link|improve this answer
feedback

there's plenty of languages that address the problems with C++ and have also widespread acceptability. If D offers something critical that no other languages offer, then use it. Otherwise your time might be better invested learning the languages that everyone else knows.

link|improve this answer
3  
Other languages, collectively, address the shortcomings of C++, but none address most or all of them while keeping the good aspects, and therefore they don't replace C++ in a lot of its niches. – dsimcha Jan 28 '09 at 4:02
show 1 more comment
feedback

Last time I checked there were two different versions: A new and current one for Windows only, and an older version (GCC backend) for the rest (Linux, MacOS X, …).

I don't think this development model is very attractive. So, no future at the moment.

link|improve this answer
show 1 more comment
feedback

D strongly reminds me of Eiffel, which in my opinion was a better Java. The question is: who will provide the indispensable tool chain (an advanced IDE, debugger, profiler, etc...)? Who will make sure it runs effortlessly and buglessly on multiple platforms? Who will promote the language? And will there be a lot of good third party libraries?

Furthermore, I don't see any killer features. For example, if D could come up with a solution to simplify parallelism considerably, this would provide a strong incentive to make the transition. Pure functions are an insufficient step towards this goal. It solves the automatic parallelization issue, but does not provide a simplification of explicitly intended parallelism. I am thinking about a new programming paradigm that tries to hide low-level multithreading issues. Instead of multithreading primitives such as mutexes and call queues, I'd like these to be hidden from me. The language should provide constructs that abstract these away. I know, this is far from simple, but this is an example of a feature that would justify a major transition.

All these things make it very unlikely D will become a popular language.

link|improve this answer
3  
I'm not sure how Eiffel could be classified as "a better Java." it is about 10yrs before Java and is not similar. – he_the_great Nov 24 '09 at 15:14
1  
I'd say that all the metaprogramming facilities count as a seriously killer feature. It's like template metaprogramming in C++, except more powerful -- and you can use the same language because it was designed with TMP in mind. Templates, static if, running functions at compile-time to generate code, string mixins, etc.. It's really amazing. Even if you don't care about D, it's worth checking out if only to see that one aspect of the language. Reminds me of the power of Lisp's "macros". – Jyaan Aug 11 '10 at 1:05
show 3 more comments
feedback

Quoting from the wiki:

"The release of Andrei Alexandrescu's book The D Programming Language on June 12, 2010 marked the stabilization of D 2.0."

I've been using D for 3 or more years now, been doin lots of things form little backup programs, to database benchmarks, raytracers, fractals, opengl, EVERYTHING I just love it! And now its probably the best time to start learning D 2.0, as a developer I'm gonna tell you... You won't be dissapointed.

link|improve this answer
feedback

I am learning DPL. So far, its so good.

D has come a long way so far. Its development, if not exactly snowballing, seems to have had a slow but sustained momentum for nearly a decade. So now D the language and its tools are available for a number of OS including Linux, MacOS, and Microsoft Windows. There some independent versions of the compiler. The DPL seems to seriously address the many challenges of writing software. From the newsgroup postings, it seems the DPL team seems to be working on offering more multithreaded facilities as a priority. Several design features of D2 support multiple threads better than D1. As for the changes or questions of stability of D2, I cannot see that the key newer features will be thrown away by further evolution.

The progress of DPL seems good in the face of existing competition for mindspace of people expert in existing technologies. D struggles to be seen amongst the JVM and CLR based languages, C/C++ and a host of other scripting / specialist / functional languages that keep popping up. A newer pop-up is "GO" or whatever name it settles on. Since Google was keen on it, and "GO" was already the name of another language, maybe the name should change to GOO.

link|improve this answer
feedback

I for my part would like to see it overtake C++, but I wish that for Objective-C also. My background with Eiffel makes D a decent option if you like the C syntax more than the pascalish syntax from Eiffel. But D has taken quite a few good things from Eiffel, I once was a big fan for Eiffel but these days I assume I'd prefer D.

link|improve this answer
feedback

D hasn't stable opensource compiler, it hasn't normal debugger like C++ has. But it has very clean syntax, much better than C++ and more similiar to C# (but doesn't require anything like .NET framework - it generates native code). If it will have stable opensource compiler and good debugger - it will have a great future... I think.

link|improve this answer
show 4 more comments
feedback

If you see the history! It's difficult to adapt new player if we already use to with existing ones. So nothing strange about mix reactions (most of the negatives). But i think "D" would shine soon. It has potential to be the main stream language. My advice is to just go for it.

link|improve this answer
show 1 more comment
feedback

For those using a range of languages for different tasks, I think learning D becomes a very worthwhile undertaking. I was working with Sed, AWK, perl, C, C++ and Fortran. For any new project now, I use D.

I was looking for a long time for a more flexible alternative to Fortran 90-2003, but the C variations do not match Fortran's simplicity, safety, speed and terseness for numerical programming. However, D has these qualities and many more.

Learning the language has been relatively easy, especially given my (mainly) Fortran background. Andrei Alexandrescu's book on D is a must if real progress is to be made though.

(Also, the digitalmars.D.learn newsgroup is excellent!)

link|improve this answer
feedback
1 2