Hacker News new | ask | show | jobs
by sly010 34 days ago
No batteries!? Go has a huge stable standard library no other language even comes close to. Built in tooling for unit testing, performance testing, debugging, code formatting, package management, etc. And most go binaries can be compiled statically so libc is not even a dependency. Golang is the definition of batteries included.
3 comments

>Go has a huge stable standard library no other language even comes close to

Well, Java and Python do.

Python has a quite random collection of stuff, and it's often quite low quality and people don't use it anyway. I wouldn't say it is close to Go.

I haven't used Java for a decade or so but as I recall its standard library was pretty bare bones (similar to Rust).

Apparently C# has a pretty comprehensive standard library but I've never used it.

> Apparently C# has a pretty comprehensive standard library but I've never used it.

I use C# more days than not. The comprehensive standard lib is impressively large and accomplished everything I need. Third-party libraries is a real pain point though. I haven't looked in sometime, but things like sane PDF libraries, reporting libraries, etc. were severely lacking when I needed them last. As much disdain as I have for Java, I think it is better in that regard.

>Python has a quite random collection of stuff, and it's often quite low quality and people don't use it anyway. I wouldn't say it is close to Go.

People who came into Python for ML and Data Science, and just care for their array and ML libs maybe.

But long time Pythonistas absolute use Python's standard library - and it's hardly "quite low quality". "Batteries Included" is one of the community slogans.

> I haven't used Java for a decade or so but as I recall its standard library was pretty bare bones (similar to Rust).

Even a decade ago (and more) the collections library in the Java standard lib was second to none. It's standard lib only got better since then (e.g. `HttpClient`).

Yet the first thing most people do before making a HTTP request is pip install requests
Yet, a nicer request wrapper is not the be all end all of batteries, and Python covers a huge spread of libs
C# (.NET) would probably be the winner here. Go standard library is rather minimalistic compared to it.
Not my words, lol. It's what people say about the language. But thank you, this was the type of answer I was looking for.
> Go has a huge stable standard library no other language even comes close to.

Java, C#, Python, Node.