Top
Best
New

Posted by xngbuilds 2 days ago

Just Use Go(blainsmith.com)
214 points | 203 commentspage 5
binaryturtle 2 days ago|
Go, similar to Rust, has a horrible ecosystem, IMHO. I want to like it, but they already broke backwards compatibility with older systems (try to get the Go compiler running on a slightly older OS X, f.ex.), and for a compiler that's a no-go to me.
jvanderbot 2 days ago||
I regret to inform you, but the post was not about maintaining old systems, it was about simplicity in creating services using a language purpose-designed for creating services. The modern underlying os/docker image was kind of a baked-in assumption.
binaryturtle 2 days ago||
The post was about Go and uses the "The boring choice is the right choice." point at the end. But a compiler that's so quick to abandoned previously perfectly fine supported systems, and basically is bleeding edge, is anything but the "boring right choice". I personally prefer long term stability in the toolchains I use for my projects at least.
Milpotel 2 days ago||
What language/toolchain/platform are you talking about because C/C++/Python/... all have the same issues?
asdfasgasdgasdg 2 days ago||
Isn't that the same thing that Homebrew does? It only has CI for the last couple of Mac OS X versions. Seems like this is more of an issue with Mac OS X architecture than Go.
binaryturtle 2 days ago||
Dunno about Homebrew (haven't used that since many years for various reasons), but Apple is certainly pushing things in a way that makes 3rd party developers quickly abandon old systems too. That's true. At least lots of 3rd party developers are very quick to give up if their new Xcode will not cooperate.
alexander2002 2 days ago||
Lately using go is becoming attractive to me also this seems a sign to take the plunge
bee_rider 2 days ago||
How well does Go handle GPGPU?
perarneng 2 days ago||
With agentic coding you can just use Rust. AI agents are really good at Rust and the good error message the compiler and or borrow checker gives makes it easy for the AI agent to adjust its code and fix it.

For non agentic coding Go has terrible error handling. It does not have exceptions or monadic error handling. Some call that a feature but many avoid Go or that specific reason. This will not change because that debate has been settled so if you can live with if err != nil after each function call (almost) then you are fine.

Things that is beautiful with Go are: * Its simplicity * Superb cross compilation support and excellent support for many different OS/arch combos. Not sure if anything comes close to this level of easy way of compiling to Many targets and target support.

clumsysmurf 2 days ago||
After a few years of Kotlin, I recently ran into what I consider to be some shortcomings here as well, with respect to returning errors. As we know, Kotlin does not have checked exceptions. Ok, but ...

The KEEP for Result<T> goes into details, but basically there are a few ways of handling return values + errors:

1) throw exception if something goes wrong

2) return null if something goes wrong (stdlib XXXorNull)

3) Use Result<T> in some cases, its error type is not paramerized and catches CancellationException

4) Use Arrow if Result<T> doesn't meet your needs

5) Return Sealed Classes / Interfaces with all the possibilities.

Right now, I am going the Sealed Class interface route, but its such a verbose pain in the ass, so I only use it at certain levels of abstraction (like from a Repository, or library API, etc).

The code I needed to write was calling into okio, and it was not straightforward to figure out what kinds of exceptions would be thrown by the JVM layer underneath (docs just say IOException, but sublasses can be thrown).

Its sad to see they still haven't figured this out. Rich Errors was mentioned a year ago but its not even in preview yet. Its also not clear how it will work with Java interop.

kibwen 2 days ago|||
> Not sure if anything comes close to this level of easy way of compiling to Many targets and target support.

Cross-compilation has been a standard feature of every compiled language toolchain for the past decade at least.

Einenlum 1 day ago|||
I personally avoid Go because if the if err != nil But I love the fact they have no exceptions. Rust handles this very well but it's way more complicated in general. I feel like we miss a middle ground. Maybe when Gleam becomes really popular, it could be the one?
dboreham 2 days ago|||
Also a big plus for Go: no async.
mountainriver 2 days ago||
Exactly, I don’t know why we are even arguing over this anymore. People basically don’t write code today so why not use the best languages?

Go is handicapped in significant ways which were specifically designed so that it was easier for humans to write. People pushing for Go code in this age either don’t understand the future or the past

xRyen 2 days ago||
I still can understand the attraction with having the same language and codebase if you need a deeper level of interactivity on the frontend. That's where Node shines.
boxed 2 days ago||
A dig at Django's ORM seems hilarious. I wonder how many SQL injection vulnerabilities are written daily by Go devs.
leetrout 2 days ago|
sqlc is pretty darn great but it's no comparison to Django. Django has its own problems and I would love for it to take some lessons from sqlc.

Really hate we don't have proper type hints for Django.

rick1290 2 days ago||
Is django the best backend batteries included framework at the moment?
boxed 2 days ago||
For the ORM/schema evolution part at least imo. And iommi is written for it so that is also a big boost (I'm one of the authors of iommi :P)
dzonga 2 days ago||
Go is simple, but Rails is pragmatic for web stuff.
za3faran 1 day ago||
Basically everything mentioned in the article, and more, is served better with Java or C#.
jryio 2 days ago|
I wrote about this here [1]

The big idea with LLMs is consistent references in the training corpus produced cheddar output by the language model during inference.

Go is an amazing language for language models because it's actually quite boring predictable while packing a lot of powerful distractions with a world class tool chain supported by Google and strong std library as well.

As a programmer I actually hated writing Go... and wanted to write Rust; but using coding agents makes me appreciate writing Go more.

I can get consistent results out while having concurrency cross compilation and predictability.

https://jry.io/writing/ai-makes-golang-one-of-the-best-langu...

More comments...