Live data from Hacker News

Ask HN: How do you decide for a backend language?

news.ycombinator.com

21–30 of 96 posts

Re: Ask HN: How do you decide for a backend language?

#21
I have a personal rule, which I've shared on here before and people seem to think has some merit:

If a project is innovative in a business sense, then choose a boring technology. If it is boring in a business sense, then choose an interesting technology.

Re: Ask HN: How do you decide for a backend language?

#23
If it's a purely learning project for myself I would usually pick a new language which I would like to learn.

If it's not, you owe it to your client to have an open discussion about which backend (and frontend) language to select. If you are working with a contract, remember that you are only selling your services as a software engineer and that the client will eventually own the code (unless there is some other agreement).

Re: Ask HN: How do you decide for a backend language?

#24
For companies with existing technology stacks try to reuse existing knowledge (JNode, Java, .Net, ...).

For companies "starting from scratch": analyse possibilities and make a strategic decision about your technology then try to stay with it and build up the knowledge along the way...

In 1996 I made a decision to use Java everywhere where it is possible and I sticked to that decision up until today, so I prefer Java...

Re: Ask HN: How do you decide for a backend language?

#25
It depends on the requirements of the project, but generally speaking I'll write in whatever I feel I'll be most productive with (previously that was PHP, these days it's Node). This is because the code I write doesn't need to scale up - I write pretty niche things that will never have more than a few tens of thousands of users. The language choice won't ever lead to a performance problem because it'll never get so busy that the implementation is the bottleneck. If there's a problem it's most likely to be down to my code/logic.

If I had to write a scalable system where the code would make a difference for whatever reason, then I'd do a lot more research in to that specific area.

Re: Ask HN: How do you decide for a backend language?

#26
I choose languages based on what is best suited for the project. That is determined by the architecture of the project (is it a SPA or a more Ye Olde Fashioned web site? Is it just an API? Does it need web sockets? etc.)

The architecture is dependent on the requirements. Who will maintain this once I'm done writing it counts as a requirement. If I'm making it for someone else and I won't be maintaining it, and they don't have someone on hand to maintain it, I might not want to write it in Clojure or Node because it might be harder for them to find someone who can work on it affordably than if I write it in PHP or Ruby.

Sometimes multiple languages will be equally suited to the same type of project, in that case I go with personal preference. But that's very rare. Usually there's some good objective criteria like those listed above which will help you nail it down.

Re: Ask HN: How do you decide for a backend language?

#28
post #21

I have a personal rule, which I've shared on here before and people seem to think has some merit: If a project is innovative in a business sense, then choose a boring technology. If it is boring in a business sense, then choose an interesting technology.

Ohh so you're the guy who's responsible for writing the BI data aggregator with React... ;)

Re: Ask HN: How do you decide for a backend language?

#29
post #21

I have a personal rule, which I've shared on here before and people seem to think has some merit: If a project is innovative in a business sense, then choose a boring technology. If it is boring in a business sense, then choose an interesting technology.

this is actually interesting advice. I never thought of it like this.

Re: Ask HN: How do you decide for a backend language?

#30
If you're starting a one man project, just take the one you're being the most productive in. If the project is a team effort, then it comes down to the team preferences or team members' willingness to change. From my experience, team adopting a completely new language isn't the big deal per se, more difficult is team dynamics, requirements/people changes, hiring new team members especially if your area can't provide many people with desired skillset. Take a look around what's the trend locally, for the vast majority of projects it's more important to deliver a quality project on time, than to code in a, now matter how, exotic (and other super attributes) language.
Post reply on HN