Does D have too many features?

q66 quaker66 at gmail.com
Sat Apr 28 13:59:46 PDT 2012


On Saturday, 28 April 2012 at 20:35:40 UTC, SomeDude wrote:
> 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.

This kind of attitude "we need big fat bullshit like Java and 
heavy use of OO and idioms and EH and all that other crap" is 
broken and false. And you have no way to prove that Python for 
example wouldn't scale for large projects; its main fault is that 
the default implementation is rather slow, but it's not pretty 
much missing anything required for a large project.



More information about the Digitalmars-d mailing list