Remix.run Logo
jbreckmckye 2 days ago

But Go is so simple!

(Points to a myriad of Go functions that do in eight or nine lines what other languages do in two)

acuozzo 2 days ago | parent [-]

I'm not defending Go here, but simplicity can also be used to describe not having to incur the cost of (often leaky) abstractions when things go wrong under the hood or when you need to do something different from the intended use-case(s).

For instance, PyTorch is simple until you have a __need__ (e.g., rfft/irfft with bfloat16) to drop to CUDA and, in so doing, break autograd and all kinds of other things. Now you need to write a Torch extension and handle Meta/Fake tensors and the like if you want it to work with torch.compile. A lot of the simplicity goes right out the window.

If you run into this a lot, then you're doing something sufficiently weird for the simpler solution to, well, not be simpler.