3 ms·
Some of the worst and unmaintainable code I've ever seen was written in Python & Java. While some of the cleanest codebases were written in Scala and Javascrip
by practice9 6y ago
Some of the worst and unmaintainable code I've ever seen was written in Python & Java.
While some of the cleanest codebases were written in Scala and Javascript.
The problem is not the language, but the team & overall approach to development (rushing to deploy bad code because your manager said so; lack of code review).
Tooling can be better, but it was massively improved over last 2 years
- flurdy 6y agoI have seen quagmire in several languages at various small and very large companies. So many withered and bloated Java apps that is hard to maintain. And I agree it is not the language, it is the stewardship. Who they hire, how they manage their tech, culture, pairing/mob, quality over speed etc. And the reality that all codebases rot, at different speeds depending on these factors, but eventually they all rot. I have seen well maintained large Scala architectures, at very large organisations because of great stewardship of the projects and people. And I have seen car-crash bundle of apps in Scala because they hired rockstar developers that incorporated every shiny feature continuously leaving it unmaintainable by the rest. Or by recent Java converts that were not mentored well enough so still writing Java code in Scala. I love Scala but with bad HR processes and weak leadership it will ground to a halt. And they will blame the language not themselves. But the same would probably have happened with any language.
- switchbak 6y agoI've written a ton of code in a bunch of different languages, and you're exactly on point here. It's got everything to do with discipline and time spent on creating and keeping a codebase simple and well factored. If you don't have a team doing that, you're going to have problems. Scala is a sharp tool, in the wrong hands you're gonna slice your toes off. In the right hands, you can create simple, elegant solutions to challenging problems.