Live data from Hacker News

Ask HN: Should orgs limit the number of languages/frameworks?

news.ycombinator.com

11–20 of 28 posts

Re: Ask HN: Should orgs limit the number of languages/frameworks?

#11
Handle proposing a new language or framework the same as any other proposal: figure out the benefits and drawbacks, and decide if the former outweigh the latter.

Adding a new language or framework to an existing organization has big drawbacks: it requires developers to learn it, adds complexity overhead, and if the project using it integrates with any other projects, well, integration between most languages and frameworks isn't very good. If the organization is already using several languages and frameworks, presumably they cover a wide-range of use-cases, so they're less likely to encounter a new use-case that only a new language or framework solves.

But I'd strongly suggest not to implement a fixed "company will use N languages and M frameworks max", because it depends on the situation. It's similar to enforcing strict coding conventions (e.g. "variable names should be between N and M characters", "functions should be under N LOC", etc.). Sometimes there is a good reason to write unconventional code, and similarly, sometimes there is a good reason to add a new language, no matter how high the number of already-used languages is.

Re: Ask HN: Should orgs limit the number of languages/frameworks?

#12

Unless the main set of languages you have are totally unable to solve the new usecase, its almost certainly going to land on the tech debt side of things. This is a new build chain, set of dependencies, development tools, developer skillset, etc. we are talking about here - not small stuff. Also to get common libs (e.g. middleware, API definitions) going will be much harder. The real reason new languages come up in d…

I've worked at several companies that have used Hack Days as that release valve, which has worked really well.

Once or twice a year have a 2-3 day break where engineers can build prototypes using any technology they like. Ideas that look good can get turned into production projects, sometimes (but not always) rewritten in a supported stack.

Re: Ask HN: Should orgs limit the number of languages/frameworks?

#13

I had a client that enforced writing every customer facing software in C++14. In 2024 they suddenly need to support various web technologies and modern web infrastructure. They still rely on their language limitations and don’t get stuff done any longer. I advised to use Go and most developers were interested and even enthusiastic about it. We proved Go introduction by using it for simulators and testing. But finally…

Very typical and probably the most important takeaway: these things are almost never decided by technical merit.

Almost any organization, once it reaches a certain size, ends up thinking about standardizing on languages and technologies, and put in place certain systems to support the preferred choices and discourage others.

Whenever the subject is revisited, it tends to end up as a political fight at the management level, and technical folks don't have much say. Even when a company does have set standards, if the project is important enough to be visible at a high enough level, the technology choice can go against the standards.

In one case I'm aware of, a shop that was heavily Microsoft/C#/TS/Azure chose Go and K8S for a high-visibility project, despite almost no one in the company knowing those technologies, and the few who did could not be pulled away from their existing work.

Re: Ask HN: Should orgs limit the number of languages/frameworks?

#14
I wrote about how multiple languages cost us a lot of time at a previous place

https://zoenolan.org/2022/09/language-choices/

This means now, I have a high bar for choosing something non-standard . It is not just writing the code but all the support, bug fixing, deployment and maintenance. Not to mention being able to hire with those skills

Re: Ask HN: Should orgs limit the number of languages/frameworks?

#16
IMHO, it's pretty useful to have some consistency across a large organization. That way lessons learned can be applied broadly, and you can pull in people from elsewhere to work on hard problems, etc.

It doesn't necessarily need to be one way to do things worldwide, but you probably don't need to support 5 server operating systems, 7 http servers, and 35 languages in production.

Re: Ask HN: Should orgs limit the number of languages/frameworks?

#17

Unless you have a really good reason to, stick to a few programming languages. Hypothetically let's say F# Guru gets hired. They're the only ones who really knows it. They program a key system in it, then quit. Who maintains all this F# code.

Agreed - I worked for a company that had no restrictions so there was Java, C#, C++, Python, JavaScript, TypeScript, CoffeeScript, Go, Ruby, Scala, Lua for various different bits and pieces (as well as some more esoteric stuff like a niche database that there very few developers for). I think things kind of worked because the different choices were restricted to very siloed teams but... hardly ideal.

Re: Ask HN: Should orgs limit the number of languages/frameworks?

#18
post #6

Start by quantifying what the cost of acquisition is for more developers with said specialization and if that business use case is making you money. As an engineering leader I have witnessed that oftentimes folks confuse "neat", "cool", and actual business use cases/needs.

I guess what I'm wondering is more about the opposite of the "cool/neat" where orgs either prohibit development in non-standard langs (and that was good/bad) or allow development in non-standard langs (and that was good/bad). What criteria is used to determine when it's ok to deviate from in-house langs? What justification is used to prevent deviation at all costs?

At my job we have a set of pre-approved languages and frameworks. If you want to do something outside of it we have an architecture review board you can pitch your idea to, but you better have a good explanation why the existing tools don’t solve the problem and why your suggestion does.

Re: Ask HN: Should orgs limit the number of languages/frameworks?

#19
Letting languages be a free for all is a terrible decision for an org of any size.

1. The more languages and frameworks, the more things need to be updated. The number of security upgrades you find yourself doing scales linearly with the number of runtimes you support.

2. If you can't share business logic, you're wasting time. Gluing two microservices together because the logic you need is in another codebase is infinitely more complex than just importing/copying/submoduling what you need.

3. You're not gonna support all those languages forever. Maybe two will survive. The champions of whatever one off project you have will leave, and that code will languish. You will pay the cost of rewriting that code.

4. There's really no issue with "the right tool for the job." All the languages can do all the things if you wield them correctly. The first version of Uber was written in PHP. There's no strategic advantage to picking a language for one specific project: pick your languages to support the needs of all your future projects.

5. Your greatest bottleneck is going to be people. Hiring and keeping good people is and will always be the hardest task you encounter. If you rush it, you get bad people. You simply cannot hire enough people who are either polyglots or of such quantity that you can dedicate them to each one off project in its own special language.

6. You will eventually need to start scanning for security issues. Multiply the complexity of that by the number of languages and frameworks you use. Explain to your general counsel and CFO why is so slow and costly to do an audit.

Post reply on HN