On Saturday, 28 April 2012 at 20:09:50 UTC, q66 wrote:
On Saturday, 28 April 2012 at 20:05:30 UTC, SomeDude wrote:

There are minimalistic languages that don't add too much complexity, instead it results in code being kept simple.

I appreciate minimalistic languages. I love the simplicity of Scheme and the design of Lua. Lua and Python are extensible language, but truth be told, they cannot handle large scale programming. In fact, I don't know of any minimalistic language that can scale from hundreds of thousands to millions of lines of code. When you reach these sizes, their simple design becomes a drawback. You start missing lots of features. When you reach large scale programming, you want really powerful tools.

That's basically what the Java designers discovered after experience. The original language was simple and easy, but that simplicity translated into way too much boilerplate code. So they kept adding features from version to version, generics, then annotations, a means to create new keywords. And now they would like to add delegates. These are all needed in large programs.

D needs to do something it does really well and concentrate on that. Otherwise the language will remain being rather vague and doing "a bit of everything, but nothing truly well".


It does a lot of things well already. Our point of comparison should not be Python or Lua, it must be C, C++, C#, Haskell, Ocaml, i.e languages that are designed to develop large systems.

But most of all it needs to stabilize and polish, not change all the time. I think its feature set is very good already.
We are far from having explored all its possibilities.

Instead of adding more and more features into a rigid language, it needs to be made more flexible and extensible, both syntactically and semantically.

Reply via email to