Live data from Hacker News

The Go Programming Language and Environment

cacm.acm.org

11–20 of 250 posts

Re: The Go Programming Language and Environment

#12
post #5

The CTO dictated our move to Go two years ago on what felt like a combination of whimsy and anti-Microsoft sentiment. I'll admit that there are parts of the language that are nice, such as the relatively snappy compile times and single statically linked binary output, but not a single day goes by where I don't miss C#, and more specifically .NET Core (now just .NET I guess?), which can do everything Go is doing.

Like Go, C# has also always been a decade behind on the tooling side. For a recent project I wanted very fast HTML templating and I/O. Went with C# instead of Go and it's looking pretty good so far. The tooling is close to the level Ruby was ten years ago, and that was really acceptable. I was very happy with my previous project that I did in Go as well, you just can't go wrong with Go for implementing network protocols.

If you need more than a microservice, then you need more than Go in my opinion, and C# is an excellent choice. I think most of these startups going mono-lingual on Go are going to regret it, just like the startups that went mono-lingual on Node.js a decade ago.

If you're building anything that requires some serious architectural structure, and that might be easiest to implement as a monolithic app, then you need a language that supports that instead of getting in the way. Now with Typescript Node.JS might finally be suitable. But I'd definitely consider Ruby and C# or maybe Java or even Haskell first. Maybe Elixir, I heard that's still going strong as well.

Re: The Go Programming Language and Environment

#13
No need to overthink it, I think – it fills a niche where there were poor choices before. It's a safe(ish) language offering a reasonably fast runtime, with good tooling, a standard library that covers most common requirements, some clever and clean API design, and which generates native binaries. It's pretty pragmatic in that sense.

I still find it a bit of a frustrating wasted opportunity – the type system in particular just needs a few more steps to make me feel comfortable. But others may feel differently.

Re: The Go Programming Language and Environment

#15
post #5

The CTO dictated our move to Go two years ago on what felt like a combination of whimsy and anti-Microsoft sentiment. I'll admit that there are parts of the language that are nice, such as the relatively snappy compile times and single statically linked binary output, but not a single day goes by where I don't miss C#, and more specifically .NET Core (now just .NET I guess?), which can do everything Go is doing.

I migrated from Python and C and JS (and kind-of java, but Java 7...) and from that direction, Go seems amazing.

I cannot, however, compare it to modern Java or C#.

Re: The Go Programming Language and Environment

#20
What I'm more interested in is the comparison between the cases of Go and Dart, which both are languages developed by Google.

Why Go is so much more successful (in the system programming domain) than Dart (in the web/mobile/desktop domains)? Many of the listed good choices (e.g. being developer-focused) can be (had been?) applied to Dart as well.

Post reply on HN