I’m aware of all the arguments against nonlocal jumps, but this is a near-showstopper for readily translating code out of Python into Go; too many Python idioms will break and have to be translated in complicated and failure-prone ways.
It is always kinda sad to see people dragging the baggage^Widioms of one language into the virgin soil of another language.
I think he’s just griping about transition cost. That always has to be small to get significant codebases to switch to new languages. Best to have something ready for such features in a given language if a design goal is ports from it.
Ok, I’m just going to say it. I’m getting tired of reading the same article over and over again. I feel like I’ve read it 3 times now. The Rust article talked about the shortcomings that Go didn’t have. Then he reviewed Go which echoed much of this… Then this, which goes into a little bit of detail about how he deconstructed a problem, but really says nothing particularly new.
So… don’t read it again if you don’t want to?
My point went right past you. There have been 3 very similar articles written and submitted to lobsters within a short period of time. They say the same thing, but are distinct in title, and in words. They are not distinct in content, and it’s not easy to discern this without at least skimming through it, which I did.
I’m otherwise interested in articles about Go, so on the off hand that there happened to be something useful stated, I click through. I won’t make the same mistake again.
ESR’s always been a guy who is in love with the sound of his own typing. I do think that “probably just don’t read things he wrote” is your best strategy if you find his particular brand of circular logorrhoea and endless self-congratulation tiresome.
Agreed wholeheartedly! There’s a reason I hadn’t read anything ESR wrote since the Cathedral and the Bazaar. And, I was perfectly fine with him being off of my radar for … 15 plus years? :)
The language does have annoyances. The absence of const is a minor one.
Was he talking about const here or I’m missing something?
const in method/function arguments. const in Go has limited uses, and is effectively the most basic #define in C, though it does support some compile-time arithmetic.