Live data from Hacker News

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

news.ycombinator.com

31–40 of 96 posts

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

#31
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.

Can you flesh out the reasoning behind the rule?

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

#32
Just use C++. C++11 is a nice, modern language. Lots of OO and functional constructs. It compiles and runs just about anywhere. Lots of people know enough to get stuff done with it. You don't have to worry about a VM and performance issues, and with RAII and smart pointers you don't have to worry overmuch about memory management.

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

#33
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.

Can you flesh out the reasoning behind the rule?

Taking some risk has benefits in innovation if you can afford it, but the project shouldn't have two major unkowns that can wildly affect its result.

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

#34
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.

Thats a very good advice for a lot of valid reasons and I follow the same mantra.

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

#35
tooling available and libraries / frameworks are as important as language imho, often the domain of the application drives the choice of these. From these the language is determined.

Other factors are familiarity and what tech the people who have to support it are familiar with. Language is in some ways a less important choice and is seldom a matter of choosing the 'best' one.

if you're talking about a side project though, knock yourself out. Personally I'd recommend looking at Typescript (web), C# (windows), Swift (apple) or Delphi (cross platform).

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

#36

Personally I feel most comfortable in Python / Go / Java - while I have no problem kicking off a project in another language, those three just happen to hit the sweet spot for me for different use cases while not getting too much in my way. I assume we are talking about some side / hobby project, not starting new projects for a client? One thing I usually take into consideration is if there are libraries or framework…

I also maintain a three pronged approach like this, where I keep one dynamically typed scripting language, one compile-to-native speedy one and one general purpose on a VM style language like Java.

Currently my picks are:

Rust -> to native + speedy Ruby -> nice relaxed scripting language Scala -> on a VM general purpose language

Though the difference is more blurred from original intent these days - it used to look like:

C Perl (5) Java / C#

which is considerably more pronounced.

The only addition I can make to this is I'd pick based on how I'm going to deploy too - Java is fairly difficult to deploy to desktops compared to Golang for example (for reasons like ensuring the correct JVM version is installed etc). Ruby is even higher on the difficulty to deploy scale, to the point where I probably wouldn't ship it to a customer non-dockerized (but if hosted internally, that's fine).

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

#37
post #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…

"Go with what you know." It even rhymes.

I'm all for learning stuff, and if I'm working on a project that has no particular deadline (or a deadline that's far enough out that I can deal with frustrations of learning), by all means use new and shiny. But if I have a real goal and a deadline, I'm going to use something I already know in and out so I can spend my time making, not learning. If I get something to production and find that it's performance is horrendous, I can always come back and optimize (or rewrite) later, but it's better to get something out and see if it even works than to be fighting a new syntax or picking middleware.

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

#38

Earlier quoted context omitted.

Can you flesh out the reasoning behind the rule?

Taking some risk has benefits in innovation if you can afford it, but the project shouldn't have two major unkowns that can wildly affect its result.

I'm going to tweet this. Upvoted.

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

#40
post #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... ;)

woah there, he said _interesting_ technology!
Post reply on HN