On 11/16/2014 10:27 AM, "Ola Fosheim Grøstad" <[email protected]>" wrote:
Returning to programming languages: if I cannot implement 100% of my design with
a language then it is a non-solution. 85% is not enough.

You can do anything with a language if it is Turing complete.


In business applications people sometimes have to settle for ready-made 85%
solutions and change their business practices to get the last 15%, but that is
not good enough for systems programming IMO. That's how you think about
frameworks, but not how you think about language design (or system level 
runtime).

Be careful you don't fall into kitchen sink syndrome. Add enough features, and the language becomes unusable. Features are almost never orthogonal, they always interact and interfere with each other. This applies to all engineering, not just languages. There are no 100% solutions.

For example, D doesn't support multiple inheritance. This is on purpose. Yes, some C++ programmers believe D is badly broken because of this. I don't at all believe it is unreasonable that one should make adaptations in design in order to use a language successfully.

After all, D is explicitly designed to be a "pragmatic" language.

Reply via email to