Hacker Newsnew | past | comments | ask | show | jobs | submit | nick_'s commentslogin

The convention of explicit error handling after every method call is absolutely bonkers to me. I would never use it for anything serious.


I recently vibe coded a large app in Go, it’s so mind-numbing to read. Like half the code base is error handling.


The anti-exception mind virus of the 2010s did a lot of damage. Go designers finally caved and added panic & recover, but jeez, the damage was done. The whole ecosystem has exception derangement syndrome.


Go had panic/recover right from the get go. Nobody “caved.” And indeed, you are free to use panic/recover for error handling in your code. That was always allowed.

That said, the key insight of the exception craze is that error returns are a normal part of a functions behaviour and as such should not use extraordinary control flow to take place.

Exceptions (panics) are used for things that should never happen or are indicative of a programmer error, like nil dereferences or out-of-bounds array accesses. That is, things where the programmer is not expected to provide reasonable behaviour on the API level if it happens (but perhaps there is a whole-program fault handler to shut down cleanly).

Opening a file that does not exist? Database record not found? Invalid credentials? These should be anticipated by the programmer and can occur at any time. Not exceptions, normal return values. Go requests that you think about these possibilities instead of pretending they can be ignored.


You're right about recover being in 1.0 of golang.

I definitely fully understand the trade-offs of returning result/error unions vs handling thrown exceptions. Exception handling is clearly superior to me. That said, the typical performance complaints made against the most common implementations of exceptions are valid.


> I definitely fully understand the trade-offs of returning result/error unions vs handling thrown exceptions. Exception handling is clearly superior to me.

Then you definitely don't understand the tradeoffs after all, and/or don't know the history of error handling.

Exceptions are an outdated concept that's inferior to explicit error returns for 99% of software.

The tradeoffs are super simple here - exceptions require very little of your input but lead to terrible spaghetti due to hidden control flow. Explicit error returns are seemingly the opposite, but their verbosity issues have mostly gone away thanks to modern language improvements, so they're just better, unless you're writing short scripts and the like.

The situation is very similar to static vs dynamic typing - dynamic typing used to make a lot of sense in the days of extremely verbose Java type declarations, but modern static type systems with inference have made dynamic typing basically obsolete.

> That said, the typical performance complaints made against the most common implementations of exceptions are valid.

This also sounds off and outdated to me. If anything, exceptions typically have better performance, so long as errors aren't common. Indeed, if optimized correctly, exceptions have zero cost if not thrown, which can get you better perf than error returns, which have a low, but constant cost.


Can you point me to a language that encodes the handling of errors in a less verbose way than C++/Java/C# exception handling?


AFAIK this is called sleep consolidation.


Same. Need multiple terminals visible at once? New window. Need a few separate sessions? New tab(s).

All the bells and whistles people have shown me over the years... it never even gets close to making me think "oh yea, that's better than basic tab/window management and the terminal app that comes with my OS".


I've always found tabs to be pretty limiting, though I have a ton of them in Firefox and Konsole since that's what's - been - available. They're marginal improvement over multiple windows. Then Horizon[0] came on the scene a few weeks ago and I fell in love with that infinite canvas. Started tweaking it like crazy, but now I'm working on a full port that natively supports Xpra[1], so I can have all my apps on an infinite canvas with views grouped exactly as I prefer. And that's the future IMO.

[0] https://github.com/peters/horizon [1] https://github.com/Xpra-org/xpra/


That requires a good window manager, which macOS does not have.


There are tons of good options for window management these days.

I’m currently trialing https://tangrid.app/ and it’s got some nice features.


For the few times a month I need to have two windows/panes visible at the same time, I take five seconds positioning and sizing them then move on.


I need it all the time. large monitors are a lot more productive for any task that involves looking at more than one thing while doing it if you have tiling.


use tmux.


tiling managers like Terminator are, to me, the most efficient. Something like Blender for hybrid customization might be a sweetspot. Blender allows for arbitrary layout and essentially tab control in any tile.

<nerd snipe>


Do they build a lot of cinder block homes with flat, tarred roofs?


The blog post points or the flawed spacecraft? /s


Do you think sex and gender are the same thing?


I am not sure, since this article uses sex and gender in senses that are entirely inverse to the common ones in 2026. How do you define those terms?

In particular, the 2026 senses are that sex is an immutable biological characteristic based on karyotype and gametes; gender is a social construct, and this is why it can be "transitioned."

The cited article nonetheless uses the archaic terminology "transsexual" to refer to what we today know as "transgender."

Now you see the linguistic ambiguity we are mired in? Can you clarify?


TUIs are very in right now. Nostalgia/vintage-computin-aesthetics & guru-gatekeeping around command line savviness are front and centre in the HN-and-adjacent mindshare.


I think it's AI tools, they are often done as tuis, they work well with text, the cli is a text processing god that is easy to extend with cli utilities, and since you find yourself in the terminal much nicer having TUIs quickly available, editor, git client, etc. I love the shift to the terminal as I use it a lot anyways (I'm old), but the missing piece for me is having a good sql tui client that does at least some of what data grip does. So I'm building my own as an experiment into agentic coding something from scratch (which I think what this TUI Studio is also). Surprised how good it is but also surprised how much time it takes to get things polished.


It's strange. For decades we've been trying to move towards GUIs, now we're moving backwards.


Is the Israeli intelligence facial recognition system in the room with us now?


Oosto, Corsight AI.



Ah, you conveniently left out the rest of the guidelines:

> If they'd cover it on TV news, it's probably off-topic.


So you have no intellectual curiostity of the stakes here, at all?


Yes, you nailed it. Surely that must be it.

Fantastic work.


/s?


It's hard to tell with him. In the past rayiner has written that people opposing fascism were being antisocial. He's either a troll (and very committed to the bit) or a very confused individual.


I actually believe he may be goading on US self-destruction in some attempt at retribution, perhaps, for being bullied as a child of foreign parents.

He’s clearly educated and articulate, so not much else makes sense.


Quite the opposite: I had an idyllic childhood in a southern state suburb that voted for George H.W. Bush twice. I grieve for the loss of that America and fear the regression to the global mean.


No, just MAGA normalizing Trump/the US going to war with Europe, and shitposting.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: