Programming languages: out of the box legibility and extensibility
- by sova
Two excellent results of SOLID development ideology are
- Legibility
- Extensibility
over the life of a project (http://en.m.wikipedia.org/wiki/Solid_(object-oriented_design)
Although SOLID is a set of language-agnostic design ideas, some languages inherently support these ideas better than others. Out-of-the-box or after various customizations, in your opinion which language is best-suited to be both easily readable and easy to extend functionality in?
Some definitions to pre-empt biases and flamewars:
Legibility: amount of thinking done to understand the code proportional to the amount of code: (amount_think-energy / amount_code) is fairly constant and as low as possible in the optimal case.
Extensibility: Addition of X amount of functionality requires a change in code or code additions in proportion to X (amount_added_functionality / amount_added_code) is fairly constant and as high as possible in the optimal case.
Supporting information and tutorials encouraged.
Code snippets welcome.