Live data from Hacker News

Go is more than a language; Go is a platform

eltonminetto.dev

1–10 of 16 posts

Re: Go is more than a language; Go is a platform

#2
No, it's not a platform, unless you want to redefine platform to mean "something with lots of supporting tools", instead of "something that other things run on top of".

We would have to call pretty much all languages platforms if so. The list of things called out is not unique in any way to Go.

Re: Go is more than a language; Go is a platform

#3
It's very similar to Java and the JVM in many ways. Curly braces, garbage collected, strong typing, etc. Which raises the question, if you could level up the Go platform with a more modern language where e.g. generics and typing are less awkward & verbose. For Java there have been a few languages that provided that. I'm doing a lot of Kotlin the last few years for example. Other languages are available.

And of course with a native compiler now maturing, Kotlin is increasingly becoming more suitable for exactly the kind of stuff Go is being used for. I've not done a lot with Go but enough to not be too impressed with it as a language. I'm more impressed with it as a platform though. So much so that I might tolerate the language even. I appreciate the wide availability of good libraries and components out there. The build tools. Great decisions to make formatting mistakes a compilation error, etc. There's a lot to like. But the language as such is a bit bare bones and somewhat verbose especially for things like error handling. IMHO the comparison with Java is actually very fair in that sense since it is also a bit dated and clunky at this point.

Whether Kotlin or some other language (Zig?) gets more popular for native development is of course an open question but there's no good reason why system programmers should not have more access to more modern language features.

Re: Go is more than a language; Go is a platform

#4
It's a bit of a stretch because half of the tools are not part of the Go distribution, for instance IDEs like Jetbrains or VS Code. Also, other languages do have IDE support as well :) Other examples are Delve, SBOM generation tools or Sonar code scanning.

It's nice that Go includes a tool for finding race conditions or vulnerability checking with govulncheck but the overall claim is more marketing than a factual assessment of "Go".

Re: Go is more than a language; Go is a platform

#5
> Compatibility Promise: This makes choosing Go much safer, especially for companies, as it avoids the need for significant future refactorings, as happened from PHP 4 to PHP 5 or from Python 2 to Python 3, for example—more details on the language blog.

Wait until it is time for Go2.0. until then it is comparison of minor vs. major versions.

Overall, this is not a platform description. This is fanboying over ecosystem richness. I'm glad for the author that they've found something they like, but they are a bit off the mark in the post.

Re: Go is more than a language; Go is a platform

#6

No, it's not a platform, unless you want to redefine platform to mean "something with lots of supporting tools", instead of "something that other things run on top of". We would have to call pretty much all languages platforms if so. The list of things called out is not unique in any way to Go.

You only need to read as far as the first paragraph for confirmation that some Kool-aid was drunk in the production of this article.

Re: Go is more than a language; Go is a platform

#7
post #5

> Compatibility Promise: This makes choosing Go much safer, especially for companies, as it avoids the need for significant future refactorings, as happened from PHP 4 to PHP 5 or from Python 2 to Python 3, for example—more details on the language blog. Wait until it is time for Go2.0. until then it is comparison of minor vs. major versions. Overall, this is not a platform description. This is fanboying over ecosyste…

It also ignores how young Go is as a language. It was released in late 2009, and is 14 years old. Python was first released in 1991. Python 3.0 was released in 2008 (17 years old), but the strong push for migration didn’t start until python3.4 in 2014 (23 years old).

Stability guarantees are never absolute, and can only be evaluated in retrospect. At this point, python 3.x on its own has just as much history of stability as the entire Go language, along with cultural agreement of “let’s never do that again”. On the other hand, if Google had an internal goal that was most easily met by breaking backwards compatibility in Go, I would be very surprised if Go didn’t make that change.

Re: Go is more than a language; Go is a platform

#8

No, it's not a platform, unless you want to redefine platform to mean "something with lots of supporting tools", instead of "something that other things run on top of". We would have to call pretty much all languages platforms if so. The list of things called out is not unique in any way to Go.

Agree, but clickbaity title aside I think the main purpose of this article is to provide a good overview of golangs features and it did do a good job of that
Post reply on HN