There are two big problems with D. 1) Everyone treats D2 as being the current stable version of the language, when it isn't. 2) Tango vs Phobos when it comes to D1. But trust me, the D community is aware of those things. [1] There are a lot of tensions over the developments of D2, how they're going, etc. If and when D2 ever actually comes out, it should address lots of the issues. But you may see something sooner tha…
The Case for D
11–20 of 48 posts
Re: The Case for D
#12There are two big problems with D. 1) Everyone treats D2 as being the current stable version of the language, when it isn't. 2) Tango vs Phobos when it comes to D1. But trust me, the D community is aware of those things. [1] There are a lot of tensions over the developments of D2, how they're going, etc. If and when D2 ever actually comes out, it should address lots of the issues. But you may see something sooner tha…
Having read that blog post, I can completely and emphatically rule out using D at all for anything, unless and until I hear it's no longer a pitiable train-wreck (and I won't hold my breath).
Your comment is akin to "After seeing the debacle with the C++0x committee, I will rule out C++ for anything until I hear it's no longer a train-wreck." Which might be legit. Just saying.
Re: The Case for D
#13The question is, is D better enough than C++ to make us switch? When taking over you must not just be better, you must be a hell better to justify the cost of the switch.
D might not be better from the glance over it, but it's little things in it that REALLY add up. I strongly recommend anyone who ever wrote C++ code to give it a go for at least a couple of months and see for themselves. That is the best way to measure - I can only give you my sincere recommendation to try it out.
Is the output binary as good as a C++ one? That would be my first purely technical concern.
Other concerns would be related to the building tool chain and the quality of IDEs.
But the real concern is business oriented.
For pet projects I'd be inclined to give a green light. It's always nice to play with new technologies as it opens your mind and give you new ideas.
For full fledged commercial products you expect to live several years, that's going to be a solid red light. I wouldn't take the risk of using an unsupported language.
Re: The Case for D
#14There are two big problems with D. 1) Everyone treats D2 as being the current stable version of the language, when it isn't. 2) Tango vs Phobos when it comes to D1. But trust me, the D community is aware of those things. [1] There are a lot of tensions over the developments of D2, how they're going, etc. If and when D2 ever actually comes out, it should address lots of the issues. But you may see something sooner tha…
I kind of remember this argument with Ada over the years, particularly when the GNAT front-end to GCC was mainlined. Having tools available is a big noticeable percentage of the problem; maybe 30-45%. Tooling is becoming more than just a compiler though, an eclipse IDE for D would be nice too and it's probably required for serious consideration by the masses. Supported and live are important for this stuff.
Another aspect of adoption seems to be adoption. It's a snowballing kind of thing. In the GNAT/Ada days there were a lot more advocates of its use than there were users. If you really want D to start getting more attention, then start doing some successful D software, particularly packages that get attention seem to be good (see Mono and Tomboy) Ada has a good complaint compiler that is supported and still doesn't have many users. Some free/open software that shows some of the benefits and advantages of D would help.
Re: The Case for D
#15Earlier quoted context omitted.
D might not be better from the glance over it, but it's little things in it that REALLY add up. I strongly recommend anyone who ever wrote C++ code to give it a go for at least a couple of months and see for themselves. That is the best way to measure - I can only give you my sincere recommendation to try it out.
It looks great, I agree. I like the range approach for the standard library. I also like the end of the include nightmare. Is the output binary as good as a C++ one? That would be my first purely technical concern. Other concerns would be related to the building tool chain and the quality of IDEs. But the real concern is business oriented. For pet projects I'd be inclined to give a green light. It's always nice to pl…
This is D2 - I don't use D2 and wouldn't use it. I was talking about D1/Tango combination. I don't think I'll make a switch to D2.
"Is the output binary as good as a C++ one? That would be my first purely technical concern."
That depends on the compiler/linker, of course. In short - dmd good enough, ldc great (llvm as the backend after all).
"Other concerns would be related to the building tool chain and the quality of IDEs."
You can download DMD/Tango package from their Trac page and you're ready to go, however I would strongly advise you to use SVN tango version - which implies you need MSYS(on Windows) to build it. Ask for help on forum there (dsource.org/projects/tango) or on irc d.tango (freenode). As for IDE, you can use Descent for Eclipse, as some people do. I use Emacs for everything though, same applies for D - there is a module for it.
"But the real concern is business oriented."
There is no concern here, since basics of risk management should tell you not to use it. Same applies for other emerging or obscure technologies as well (I'm looking at you Lisp). Short answer, don't use it for business critical things yet, though some have done that with success.
Re: The Case for D
#16There are two big problems with D. 1) Everyone treats D2 as being the current stable version of the language, when it isn't. 2) Tango vs Phobos when it comes to D1. But trust me, the D community is aware of those things. [1] There are a lot of tensions over the developments of D2, how they're going, etc. If and when D2 ever actually comes out, it should address lots of the issues. But you may see something sooner tha…
A top quality, supported, opensource compiler would help. The LLVM front-end looks promising but I half expect it to be abandoned. It's kind of odd, it definitely seems like there is a desire for a compiled machine code producing language to compete with C and C++. I kind of remember this argument with Ada over the years, particularly when the GNAT front-end to GCC was mainlined. Having tools available is a big notic…
LDC is a really great project. It's not being abandoned anytime soon, trust me. Those guys are working hard, and they answer bug reports really, really fast. Though I'm admittedly slightly biased, since they use my kernel as a test case.
There are several IDEs that support D, though I can't think of them off of the top of my head, since I use vim. Posiedon?
There have been several intersting D projects, but you're right, more would certainly help. The blog post I linked to's author wrote a little language called MiniD that's pretty interesting, I (and several others) are writing a kernel, etc... but dsource.org can look like a graveyard sometimes...
Re: The Case for D
#17Earlier quoted context omitted.
It looks great, I agree. I like the range approach for the standard library. I also like the end of the include nightmare. Is the output binary as good as a C++ one? That would be my first purely technical concern. Other concerns would be related to the building tool chain and the quality of IDEs. But the real concern is business oriented. For pet projects I'd be inclined to give a green light. It's always nice to pl…
"I like the range approach for the standard library" This is D2 - I don't use D2 and wouldn't use it. I was talking about D1/Tango combination. I don't think I'll make a switch to D2. "Is the output binary as good as a C++ one? That would be my first purely technical concern." That depends on the compiler/linker, of course. In short - dmd good enough, ldc great (llvm as the backend after all). "Other concerns would b…
Re: The Case for D
#18Kenta Cho, sole member of ABA Games, uses D to write his (excellent, open source, freeware) shmups. Go for the code, stay for the games: http://www.asahi-net.or.jp/~cs8k-cyu/index_e.html
Re: The Case for D
#19Earlier quoted context omitted.
"I like the range approach for the standard library" This is D2 - I don't use D2 and wouldn't use it. I was talking about D1/Tango combination. I don't think I'll make a switch to D2. "Is the output binary as good as a C++ one? That would be my first purely technical concern." That depends on the compiler/linker, of course. In short - dmd good enough, ldc great (llvm as the backend after all). "Other concerns would b…
I'm curious, why don't you want to do the switch to D2? Is it because it's not mature enough?
Secondly, lots of people won't ever switch to D2, even when it's done, because they feel that it adds a lot of feature bloat for very little gain.
Re: The Case for D
#20Earlier quoted context omitted.
"I like the range approach for the standard library" This is D2 - I don't use D2 and wouldn't use it. I was talking about D1/Tango combination. I don't think I'll make a switch to D2. "Is the output binary as good as a C++ one? That would be my first purely technical concern." That depends on the compiler/linker, of course. In short - dmd good enough, ldc great (llvm as the backend after all). "Other concerns would b…
I'm curious, why don't you want to do the switch to D2? Is it because it's not mature enough?
- D2 looks and feels foreign to me as a somewhat D1 experienced user
- Templates maelstrom and strong emphasis on them
- D1 grew organically, D2 looks like an academic exercise where stuff is put in just for the sake of it by the people that don't write programs in D at all (Andrei)
- D2 book and Andrei are a filibuster for D2
- Walter Bright listens to Andrei (ok, a smart guy) but he doesn't write D programs, I doubt even Walter writes them (seriously). If you look at his code, it is more of a C in D than D code.
- I have little to no trust in DMD/OPTLINK, LDC/LLVM is what I'm after and that front is D1 only, and looks like it will be
- Lots of people smarter than I am are on D1 also (Tango, namely) - and I don't want to go against the trend since it would isolate me from little support I can get
these are just of top of my head, there are more. General summation could lead to "It just doesn't feel right" - at least for me as a heavy D1 user.