Hacker News new | ask | show | jobs
by seabrookmx 22 days ago
Try another language? The Go ecosystem tends towards libraries as opposed to "frameworks."

I personally chose C# for this reason, because ASP.NET is mature and (IMO) well designed. But there's also Java/Spring and and lots of other options in different languages depending on your preferences.

2 comments

Well it might prefer libraries but the culture around basic DX things like ORMs is toxic. Just write the SQL yourself they say, until they themselves optimise to a half baked in-house ORM of their own.
I don't think I will ever understand the culture of Go. The syntax of a very low level language (needlessly verbose), combined with the performance of a very high level language (needlessly slow), with a bizarre aversion to any DX conveniences (pattern matching, ORMs, etc). If you're already giving up all that performance, why would you not take the extra convenience?

Not to mention that the demographic using Go - a simplistic-by-design, relatively slow GC'd language - is the last group I'd expect to get elitist about ORMs and demand every pound of performance from rawdogging SQL. That's a valid stance, but then why are you writing Go??! The common thread appears to be picking the most masochistic solution possible.

I can usually see the value of different languages for different use cases, but Go flummoxes me.

It was a mix of who came up with it, and having hit jackpot with Docker and Kubernetes rewrites from Python and Java respectively, into Go.

Had the rewrites not taken place, or Rust already being 1.0 by then, most likely would have had as many commercial success as Oberon and Limbo managed to.

You see this happening nowadays newer CNCF projects tend to be done in Rust, and there are even some that even go the C++ way, e.g. Envoy.

Good observations.

Judging by the community around Go, I also wonder if there's not an element of baby JS devs upskilling to Go, without yet having picked up a wider perspective. The performative aversion to DX could be explained if one sees Go as the opposite swing of the pendulum to JS and its excessive reliance on libraries, sugar, etc.

I'm aware of those platforms and have used them in the past. The tendency towards libraries is what bugs me. My preference would be a "Djan-go" framework, with the models, migrations, auto-admin, views, routing, caching, templates, all rolled into one cohesive framework that works out of the box. I don't want to make choices. I want to install it and start working.