Re: The programming language/paradigm debate
It's a fairly new language, so right now, not a whole lot of people. But why would they? For the same reasons you might use C++. It's a C-style language (so low barrier to entry) that compiles to native code, gives you low level hardware access, and interoperates easily with C. The difference is it sacrifices being a superset of C's syntax in order to have a language with sane syntax, fast compile times, garbage collection, a more modern multithreading model, and most importantly no undefined behavior by default. It's a language you can write full applications in without dozens of potential traps and pitfalls, while still making it easy to do hacky, low level optimizations (you just have to ask).
I still feel that's a non-issue, since documenting the code is mandatory for any kind of team-based work, and the IDE should know the types just as well as the compiler. In the very worst case, figuring out the type should just be a mouse hover away.
Only pure functional programming holds it as anathema. The only pure functional language that's not completely obscure is Haskell. All the others - Standard ML, OCaml, F#, Scala, and even Lisp - let you use side effects if you want to; they just don't assume that's what you want by default. I agree that mutable state is sometimes necessary, either because what you're trying to do just can't be done immutably (e.g. a circularly-linked list) or because the immutable solution doesn't have the performance you want. Sometimes you even need mutable state to create immutable values (e.g. using memoization to create a stream out of an ephemeral process like reading user input.)
True, but who uses D, and why would/should they? See my comment below regarding interpreted vs. compiled development.
Originally posted by Icemage
Originally posted by Icemage
Comment