3 ms·
> Language power is inversely related to maintainability/readability, Is that really True? Having worked on VB6 codebases in the past, the less powerful natur
by collyw 8y ago
> Language power is inversely related to maintainability/readability,
Is that really True?
Having worked on VB6 codebases in the past, the less powerful nature of the language just meant a LOT more code which is definitely harder to maintain.
- crdoconnor 8y agoIt's inversely proportional to length too. Maintainability is about maintaining a delicate a balancing act between several competing fundamental concerns - two of which are expressiveness and verbosity. I think python's popularity is partly because it found a sweet spot that was neither too expressive nor too verbose. It's certainly possible to dial up the expressiveness (LISP, Perl) or dial it down (Golang, VB) and get something that is harder to maintain both ways.
- dpwm 8y agoPython derives a fair amount of expressiveness from the power it gives to library authors. A lot of this in turn comes from its dynamic implementation. As a library author you can write effective python at different levels. Some involve quite heavy meta-programming (jinja2, collections.namedtuple, django's ORM) and most users would never find this out.
- pjmlp 8y agoPython has C++/Lisp level of power, but since many just do toy scripts they don't realize it.
- collyw 8y agoAgain I think Perl / Python are a perfect example of why post I was responding to is not true. > Language power is inversely related to maintainability/readability, Perl and Python are both considered equally powerful languages, yet Perl is a fair bit more expressive and as a result is often harder to maintain.
- rboyd 8y agoNo, it’s not, and even if it were true it wouldn’t disqualify lisp, since you can quite happily wield lisp in a context which lets you express logic in simpler/constrained forms. Consider hiccup, datalog DSLs, etc.
- joe_the_user 8y agoWell, The law of power linked above says to use the least powerful language appropriate for the task. So it's possible VB6 fell into the category not-powerful-enough/not-appropriate.