language_fan wrote:
On Sat, 03 Oct 2009 10:32:28 -0400, Jeremie Pelletier wrote:
I don't believe D is having some features merely to attract attention to
it, that's the thing I like best about D; it provides a very large set
of tools and let me choose how to use them, instead of enforcing a
certain model or paradigm.
There has to be some limit on the amount of features a language can have
before managing the complexity gets too large. Imagine that D 4.0 had 50
keywords more than D 2.0 currently has. Those features would make your
code 5% faster. Would you still love D?
Think of the english languages, how many words does it have? I would
hate to try and express my ideas if I had only 100 words to choose from.
Some people do but we call them simple minded or uneducated :)
Same for programming, D could have 100 keywords and be the most flexible
language ever. Some would think its the best thing since sliced bread,
others would only use the subset they're comfortable with, and a few
would be scared away back to javascript.
People using a very limited subset of words to express their ideas tend
to talk more to say less.
Pointers are a critical feature of D, they allow both binary
compatibility with C code and optimizations not possible without
pointers. I use pointers all the time in D, just not nearly as much as I
would in C/C++.
I did not argue against pointers, in general! Pointers can be useful but
you do not need the C style syntax for declaring pointers to functions
anywhere. I find it hard to read, especially after reading too much maths
or functional code.
It makes writing C bindings that much easier, function pointers are
mostly used for C code anyways since D has the much better delegate type.