4 ms·
Casual observation: adding a framework to any language seems to improve the overall code quality. It adds and teaches structure, patterns and good practices tha
by ggregoire 7y ago
Casual observation: adding a framework to any language seems to improve the overall code quality. It adds and teaches structure, patterns and good practices that developers usually follow.
I've seen terrible codebases written in vanilla PHP, JavaScript, Python (probably the worst ones). But I've seen very good looking, easy to understand, easy to maintain codebases written in Symfony, React and Django.
(React is an interesting case because it's not actually a framework but a view library, which doesn't force you to follow any structure to your project. But its declarative, component-based paradigm seem to help developers structuring their projects and writing simple, reusable and composable components in a good way).
- tabtab 7y agoI agree. Our framework, libraries, and/or interfaces can and should make a bigger difference than programming language. If you have to use the "weird parts" of a language to get typical work done, you are doing something wrong. And if you are not using the weird parts, then programming languages look and do pretty much the same thing. Braggings such as, "look! My language can do double recursive lambda backflips while blindfolded and chewing gum!" are mostly just 1950's car racing done in cubicles. We buy cars to get to work and shops as cheaply and conveniently as possible, not beat Fonzy.
- syastrov 7y agoI think it really depends on how you use the “weird parts”. Some of those let you write code much more concisely and effectively. Used in the wrong context, it’s a unnecessary distraction. It also depends on if you want to write “typical code” or code that the competition can’t match. See Paul Graham’s essay on the Blub Paradox [0], which discusses why some languages seem to have “weird parts” from the perspective of someone who knows a less-powerful language. [0] http://www.paulgraham.com/avg.html http://www.paulgraham.com/avg.html
- tabtab 7y agoYou make it hard to hire if you limit the field to those who know the esoteric techniques. Programming itself is mostly a dead-end career; you either move into management or quasi-management, or face ageism on average. There is thus not a lot of incentive to "perfect the art".
- imtringued 7y agoIn my experience productivity is strongly correlated with the quality of frameworks and libraries that are available to a language. Java as a language might be fine but batshit insane frameworks like JSF really drag your productivity down. There are also solid libraries available but they are often too complicated and hard to use. Languages built on top of the JVM often have very very thin wrappers that increase the usability hundredfold.