This thread on Hacker News terrifies me

Nick Sabalausky (Abscissa) SeeWebsiteToContactMe at semitwist.com
Sun Sep 2 07:44:07 UTC 2018


On 09/02/2018 12:21 AM, Jonathan M Davis wrote:
> 
> The C APIs on the other hand require that you
> check the return value, and some of the C++ APIs require the same.

Heh, yea, as horrifically awful as return value errors really are, I 
have to admit, with them, at least it's actually *possible* to handle 
these low-resource situations sanely, instead of D's "not-so-right-thing 
by default" approach of *guaranteeing* that all software under the same 
circumstance just freaks out and runs screaming like KDE.

(Much as I love D, and as much as I believe in "fail fast", the "Error" 
class still irritates me to no end. My usual approach to dealing with it 
is to stick my fingers in my ears and go "La la la la la!!! It doesn't 
affect me!!! There's no such thing as non-Exceptions being thrown!!! La 
la la!!!!". Not exactly a sound engineering principle. If we actually 
HAD the mechanisms Walter advocates for *dealing* with fail-fast 
processes, then I might have a different opinion. But we *don't*, it's 
just code-n-pray for now, and nothing of the sort is even on the most 
pie-in-the-sky roadmap.)


> Honestly, for some of this stuff, I think that the only way that it's ever
> going to work sanely is if extreme failure conditions result in Errors or
> Exceptions being thrown, and the program being killed.

Under current tools and approaches, that is, unfortunately, probably 
very true.

However...

> Most code simply
> isn't ever going to be written to handle such situations,

This is 2018. We all have a freaking Dick Tracy wireless supercomputer, 
that can believably simulate entire connected alternate realities, in 
realtime...in our pockets! Right now!

If we, the collective software development community of 2018, can't get 
far enough off our collective asses and *do something about* (as opposed 
to *completely ignore and never bother even so much as an automated 
test*) something as basic, obvious, *automatable*, and downright 
*timeless* as...not having our software freak out in the absence of 
resources we're not even freaking using...Well, then we, as an entire 
profession...genuinely SU*K. Hard. (And yes, I am definitely including 
myself in that judgement. I'm more than willing to change my 
prehistoric-programmer ways. But implementation-wise there's relevant 
domain experience I lack, so I can't make this all happen by myself, so 
there needs to be some buy-in.)


> Anything C-based (and plenty of C++-based programs
> too) is going to have serious problems though

Well, yea. No mystery or surprise there. Another reason I tend to be a 
bit dismayed at the continued popularity of those languages (not that 
I'm unaware of all the reasons for their continued popularity).


More information about the Digitalmars-d mailing list