retard wrote:
Is this also true for Haskell/OCaml/SML/Erlang/Clojure/Lisp programmers? Nothing new to learn when using the "functional" features of D? Does TCO work well? Other common optimizations such as common deforestation techniques? The sad fact is, there's no need to learn new stuff ONLY when one comes from C/C++. Users of every other language have very much to learn. Not necessarily in a good way.
If they're already using D, they don't have to learn a totally new grammar/style when deciding to use a functional style.
Really, *why* force people to rewrite their loops to use tail recursion? It's a giant turn-off, and completely unnecessary.
And D does do tail call elimination, if you *want* to write your code that way. The point is, D doesn't require it if you don't like it.
I also think you're way, way overstating your case when you argue that the only language D is grammatically similar to is C and C++. It's also similar to Java and C#, and when you combine the users of C, C++, Java, and C# you're probably covering 90+% of the programmers out there. That's a feature, not something sad.