On 7/7/2016 5:56 PM, deadalnix wrote:
While this very true, it is clear that most D's complexity doesn't come from there. D's complexity come for the most part from things being completely unprincipled and lack of vision.
All useful computer languages are unprincipled and complex due to a number of factors:
1. the underlying computer is unprincipled and complex (well known issues with integer and floating point arithmetic)
2. what programmers perceive as logical and intuitive is often neither logical nor intuitive to a computer (even Haskell has wackadoodle features to cater to illogical programmers)
3. what the language needs to do changes over time - the programming world is hardly static
4. new features tend to be added as adaptations of existing features (much like how evolution works)
5. new features have to be worked in without excessively breaking legacy compatibility
6. no language is conceived of as a whole and then implemented 7. the language designers are idiots and make mistakes Of course, we try to minimize (7), but 1..6 are inevitable.
