D programming language
category: general [glöplog]
A liveblog of the D programming language conference: http://leancode.com/category/dlanguage/
Specifications and link to implementations
http://www.digitalmars.com/d/index.html
Quote:
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.
The D language is statically typed and compiles directly to machine code. It's multiparadigm, supporting many programming styles: imperative, object oriented, and metaprogramming. It's a member of the C syntax family, and its appearance is very similar to that of C++. For a quick comparison of the features, see this comparison of D with C, C++, C# and Java.
i've been watching d closely for years now, but there's still so many kinks in the compiler and standard libraries that i can't recommend it for medium- to large-sized projects yet.
D for Demo.
Ryg, likewise for me. I very much wish for it to succeed yet haven't switched boats ..
Well the main problem of D is that it is still under heavy development API-wise, so you can write program that just barely works under compiler version X.001, uses obsolete syntax under version X.002 and does not work at all under version X.003, that all in one week. When it will be complete it may be decent competition for C++/C# but for now it is little more than a playtoy.
I coded a 64k in D once.
Garga, anything to conclude out of that experiment?
knos: http://www.pouet.net/prod.php?which=10172 - although admittedly charlie wrote the basecode.
(on second thought, it might not be the same D)
I would have never heard of D, if it wouldn't be for Mr. Kenta Cho. :)
Mr. Kenta Cho should stop making stupid games and do demos.
...deja vu.
tomaes, so true, I would have never taken a look actually were it not for Kenta Cho =)
I've been thinking about making bloated peeceejunk demostuff with D rather than C or C++. However I still need to experiment with it for a while before getting convinced of its superiority.
There a two things I don't like about D:
1) static typing
2) "multiparadigmness"
The way I see it, if you develop your code using TDD (which I see no real arguments for not doing, except perhaps some obscure legacy-reasons) static typing not only gets in your way - it's a serious productivity impediment.
Regarding the "multiparadigm"-issue: I haven't seen a language so far that's achieved this in a successful-way. The multiparadigm-idea is one of the reasons I (and a lot of other people) hate programming in C++.
Yeah sure, I write a lot of C++ code but I fucking hate it.
I think a programming language should follow the Less is More principle like smalltalk, ruby (and yes, to an extent earlier versions of Java) etc and not the More is More principle of C++.
1) static typing
2) "multiparadigmness"
The way I see it, if you develop your code using TDD (which I see no real arguments for not doing, except perhaps some obscure legacy-reasons) static typing not only gets in your way - it's a serious productivity impediment.
Regarding the "multiparadigm"-issue: I haven't seen a language so far that's achieved this in a successful-way. The multiparadigm-idea is one of the reasons I (and a lot of other people) hate programming in C++.
Yeah sure, I write a lot of C++ code but I fucking hate it.
I think a programming language should follow the Less is More principle like smalltalk, ruby (and yes, to an extent earlier versions of Java) etc and not the More is More principle of C++.
You can't spell "code" without C. Think about it.
You can speel code with a 'k'! It will sound the same :|
Try reading "code". Now read "kode". Sounds the same to me.
Try reading "code". Now read "kode". Sounds the same to me.
.kkode
I always do TDD, have done so with Ruby vs. C#/C/C++, and haven't noticed static typing getting in the way. The more is more principle of C++ rocks actually, once you realize that just because a feature is there doesn't mean you need to use it.
i smell the ol' featurists vs purists debate coming.
so let's start: features suck.
so let's start: features suck.
Nah, not today :D
I was merely pointing out that static/dynamic typing doesn't influence unit testing much, not for me anyway.
I was merely pointing out that static/dynamic typing doesn't influence unit testing much, not for me anyway.
After watching it for almost a year, I decided to give D a try.
In sum: I really like this language. Yeah, its not perfect (tools still have to mature, some features are overpowered, some bits about the operator overloading are weird) but overall it is a very good alternative to C++. It compiles insanely fast (immensely faster than C++, and sometimes even beating C, even heavily templated >7k lines of code are done in less than a second, where the C++ equivalent took over 30 seconds), has proper modules instead of headers, the language is easy to parse, already has several features that are scheduled for C++0x. I'll continue using it.
In sum: I really like this language. Yeah, its not perfect (tools still have to mature, some features are overpowered, some bits about the operator overloading are weird) but overall it is a very good alternative to C++. It compiles insanely fast (immensely faster than C++, and sometimes even beating C, even heavily templated >7k lines of code are done in less than a second, where the C++ equivalent took over 30 seconds), has proper modules instead of headers, the language is easy to parse, already has several features that are scheduled for C++0x. I'll continue using it.
bla bla bla fast compile time:
And the running speed?
And the running speed?
dmd (the original D compiler) seems to lack some returnvalue optimizations, but as said, the tools are immature. Thats the only test where C++ was faster, in all others they were even.