HNHacker News
TopNewBestAskShowJobs

fetchfetch

13 karma · joined August 19, 2017

submissionscomments
fetchfetch··on Why Go is my favorite programming language
After having coded tens of thousands of lines in Golang for 4 years, there are a list of probably hundreds of grievances I have about the language itself. The problem is that they're generally outweighed by the simplicity, consistency, and clarity of the language. Is the error system terrible? Obviously. Lack of abstract data types? Awful. Is Rust one thousand fold safer and more syntactically powerful by comparison? Sure.

But the fact is, in a world where we as developers often are learning and working in a new language every year or two, time-to-productivity and proficiency in a given language is one of the most important, if not the most important, metrics for a language. And Golang knocks this out of the park with its obvious syntax and great tooling. You can bring in a new junior programmer onto your Golang stack and have then turning out useful pull requests in a week or two, which I can't say for languages like Rust.

I _hate_ much of Golang's engineering, but for collaborative programming I think anyone would agree that it's a highly productive language.

fetchfetch··on Why Go is my favorite programming language
- Real concurrency without having to deal with spawning multiple programs that communicate over some higher level process

- Good concurrency primitive (channel), although asyncio Futures in Py3 aren't that bad either

- Strong typing

- Easy byte-level manipulation

- Extremely easy to learn

- Simplistic error handling compared to exceptions (there are problems with this I won't go into, but it's easy to learn at least)

- Amazing tooling (gofmt forces your codebase to be consistent regardless of who is writing it)