You know about languages - the ones people complain about and the ones no one uses.
This post was satire. Really good satire.
Here is Go
You know, the true horror of Go is that it is Singapore.
Not because it is oppressive. Not because it is inefficient. Quite the opposite.
Everything works.
The trains arrive on time. The streets are clean. The bureaucracy is streamlined. The economy is thriving. The people are productive.
And you will follow the rules.
You arrive from C++ expecting freedom. You want templates, operator overloading, metaclasses, inheritance hierarchies stretching beyond the horizon. You want to express yourself.
Go looks at you the way a Singaporean urban planner looks at somebody proposing to keep livestock in a downtown apartment.
"Why would you need that?"
"Because I am free."
"No. You are causing traffic."
The genius of Go is that every feature feels as though it was approved by a committee of engineers who had personally witnessed too many disasters.
Exceptions? Somebody abused them.
Operator overloading? Somebody abused it.
Template metaprogramming? Several people abused it, nobody could explain it, and the build server was down for three days.
The solution was simple.
Ban everything.
The famous gofmt is not a formatter. It is urban planning.
There is one approved style.
There have always been other styles.
Nobody remembers them.
You can argue about where the brackets should go. The language will politely ignore you and place them where the government has determined they belong.
Interfaces are perhaps the most Singaporean feature of all.
In Java, you must explicitly declare your intentions, fill out the forms, obtain approval, and publicly announce your membership.
In Go, the compiler simply observes your behavior.
You walk like an interface.
You talk like an interface.
Congratulations. You are now an interface.
No paperwork required.
The goroutine is the ideal citizen.
Small. Efficient. Productive.
You do not know where it runs.
You do not know when it runs.
You do not know why it suddenly woke up at 3 a.m. and consumed half the CPU.
This knowledge belongs to the scheduler.
Trust the scheduler.
The famous if err != nil is not error handling.
It is civic responsibility.
Every few lines the government asks whether everything is proceeding according to plan.
Sometimes it is.
Sometimes it is not.
Either way, the paperwork must be completed.
Even generics arrived in the most Go way imaginable.
For years, the outside world looked on in disbelief.
"Surely you need generics."
"No."
"But every other modern language has them."
"We have investigated the matter."
"And?"
"We remain unconvinced."
A decade later they finally appeared, looking less like a revolutionary feature and more like a zoning permit reluctantly approved after years of review.
In Go, every abstraction must justify its existence.
Every feature must pay rent.
Every clever idea is presumed guilty until proven useful at scale.
In short, Go is not a programming language.
It is a prosperous tropical city-state built on the radical belief that most programmers, if left unsupervised, will eventually reinvent C++.
The language designers saw this future, looked upon the smoldering ruins of a thousand enterprise codebases, and chose order over freedom.
The result is modern, efficient, slightly humid, occasionally frustrating, and extraordinarily difficult to argue with.
And, much to the annoyance of its critics, it keeps working.
You know, the true horror of Rust is not the borrow checker. That is merely the smiling border guard, the bureaucrat stamping your papers and saying, “No, comrade, this reference cannot travel.”
No! The real nightmare is ownership.
Imagine: you declare your little String, this humble worker-owned means of production. You think it belongs to you. But then you pass it to a function, and suddenly it is gone. Moved! Expropriated! The Party has reassigned it to another scope for the good of the program. You reach for it again, and the compiler says: “Use of moved value.” This is not an error message. This is a denunciation.
And lifetimes, my friends, lifetimes are the five-year plans of memory. Every reference must declare its historical purpose. Nothing may outlive the structure that gave it meaning. The individual pointer is nothing. The collective ownership graph is everything.
The borrow checker is late-stage Communism in its purest form: everyone may share, but only immutably. You may read the pamphlet, yes, but do not edit it. For mutation, there can be only one comrade at a time, standing alone in the freezing queue, clutching &mut, watched by the compiler-police.
And unsafe? Ah, unsafe is the black market. Officially forbidden, morally condemned, yet somehow necessary to make the trains run. Everyone pretends not to use it, but deep in the standard library, behind the concrete apartment blocks of abstraction, there it is: raw pointers, transmute, little capitalist deviations hidden under the floorboards.
In short, Rust is not a programming language. It is the final administrative form of memory. C++ says, “You are free, and therefore doomed.” Rust says, “You are safe, because freedom has been abolished.”
@ThePrimeagen My personal estimation right now is about 10-15x. I believe today I am capable of generating about 2-3k of working code per day. In the past it was about 200.
@EMostaque The thing is that besides Elon (arguably) no one else involved in AI at Anthropic or OpenAI was a billionaire before they built their respective companies. And even today they are likely billionaires only on paper because of their holdings in the companies they built
@nic_carter@giansegato Dude. Computers forcefully restating is more and more of a thing. I have both Mac and win set to ask, and both would occasionally just set a short ack timer and restart.
@davepl1968 Dave... Apple is not Seville row. At best (generously) it is Saks. Seville row brings taste and custom tailoring you do not get with apple. Framework + omarchy ( I use neither for the record) is much more Seville Row
@blightersort Honestly - I will take an X1 carbon over an Apple any day. Yes yes - the battery.... Is that really worth the rest of the apple eco system you have to put up with?
@ChinaEV_Eng_Lif So yesterday I was in Yas Mall in Abu Dhabi. (Not China, clearly). After my car charged to 80% (I had set it to 90 limit) I got a text that I would be charged extra 2 USD per minute for staying longer due to high demand. Also the parking lot attendee looked pretty vigilant. :)