DEV Community

Discussion on: Which backend programming language should I choose?

ahferroin7 profile image
Austin S. Hemmelgarn

Starting fresh? Go is almost certainly your best bet. It's not quite as marketable right now as some of the others, but it's also quite simply the best option out there. In particular:

  • It actually makes good on Java's old 'write once run anywhere' mantra, to the point that you can cross build for any supported platform from any supported platform. Got an ARM-based Linux server for deployment, but only have macOS for development? No problem, Go will spit out binaries for whatever platform it supports that you ask it to. Originally developed for FreeBSD running on a POWER9 system but need to switch to Windows running on x86? No problem, just update GOOS and GOARCH in your build system and almost everything is taken care of automatically.
  • The programming paradigm is designed for backend work. It's got basic networking, concurrency, and parallelization support built in in a way that makes all of it dead simple to use.
  • Deployment is insanely easy. Unless you're using odd configurations, go build will spit out an entirely self-contained static binary for whatever platform you're building for. Just copy that in, make sure all your static assets are in the right place, and start it.

You're right that there aren't as many job offers for Go developers, but a significant part of that is the fact that there's almost no legacy code written in Go (unlike every other language you listed except Kotlin).

kovah profile image
Kevin Woblick Author

That's some great details about Go. Will definitely take a closer look into it.

yashraj021 profile image

What about JavaScript? Express.js I mean.