Ask HN: Should we narrow our language/tech stack focus?
In many ways this leads to nice advancements, but it also has negative impacts: distraction, reinvention, technical debt, and other issues.
Proprietary zones have few or no options (C# Windows, Swift macOS); but those are the narrow cases. Internet and web services run Python, Ruby, Elixir, C#, Java, Kotlin, PHP, JavaScript, Perl, and probably half a dozen other languages.
If you look at any one language, you'll usually find one or more heavy frameworks (Rails, Django, Phoenix, Laravel, etc.), and even more lightweight frameworks and libraries tailored to more specific needs (APIs, services, etc.).
Should we not stop for a bit and evaluate what exists, then make an effort to consolidate? Are we not exhausted with job specs that list 5-10 very specific requirements which fit an increasingly narrow target group of devs?
Or the counter question: are we really benefitting from further diversification? Is there an overall return on investment in our proliferation of frameworks and libraries (and languages?).
6 comments
[ 4.6 ms ] story [ 25.4 ms ] threadI fully admit that I find Ruby a much, much more elegant language compared to Python. I see Python as the caveman's tool. But I find Clojure much more elegant than Ruby. However, at the end of the day, or the project, what matters is what you achieved. I write Python when the libraries that serve me best are for Python, just as I use GNU/Unix tools and *sh when that suits me best.
It seems like time to make an effort to give up some preferences in favor of standards which will normalize and simplify our solutions. These would also make hiring and job finding much better for us all.
Anyway, while different languages each have their own tradeoffs and benefits, doing a sanity check on whether the putative benefits actually apply to your use might be advisable. IOW, do you really care that language X has a faster startup time when the app written in it is a long-lived server process, so startup time isn't the bottleneck?
Also - not all companies adopt more than 1-2 languages. It's pretty crazy to have 5-10 languages in one company I think.