ifn't

Thcdenton,
davidgro, Ding ding ding ding ding ding…
0x0, I propose a new, more threatening kind of control flow.
<span style="color:#323232;">do { </span><span style="color:#323232;"> /* something */ </span><span style="color:#323232;">} or else { </span><span style="color:#323232;"> /* you don't want to find out */ </span><span style="color:#323232;">} </span>
Strawberry, this is just a menacing try/catch!
gex, Some C++ style guides suggest the following naming convention for functions that crash on any error
<span style="color:#323232;">OpenFileOrDie() </span>
yum13241, Now what about GZDoom’s
GoAwayAndDie();
?
xmunk, PHP has the always wonderful (and perfectly functional) syntax of
logUserIn() or die();
msage, Or Perl
evatronic, Where do you think PHP stole it from?
msage, Bash?
frezik, (edited ) Perl also has
unless()
for the very purpose in OP, which is a more sensible choice.Oh, and if you need to reinforce your belief that Perl is a mess, the single-quote character can be used as a package separator instead of “::”. This was set in the 90s when nobody was quite sure of the right syntax for package separators, so it borrowed “::” from C++ and the single quote from Ada (I think).
That means the
ifn’t()
in OP can be interpreted as calling thet()
function on theifn
package.The “::” separator is vastly preferred, though. Single quotes run havoc on syntax highlighting text editors (since they can also be used for strings). About the only time I’ve seen it used is a joke module,
Acme::don’t
.
Kissaki, Personally, I like to call catched exception variables
up
, so for a rethrow I canthrow up;
.
Vorthas, ![]()
One of the modules in a project I’m working on is called
VulkanOrDie
which always makes me crack up when I see it in the compilation messages.
OpenStars, ![]()
It’s funnier when you try to SysCallAndDie() :-P
(that’s a real thing in perl btw - I guess that function didn’t get the memo)
OpenStars, ![]()
Mesa, ![]()
The better try-catch. More intuitive if you ask me.
moody, It_would_be_a_shame_if(condition)
rothaine, <span style="color:#323232;">do { </span><span style="color:#323232;"> /* something */ </span><span style="color:#323232;">} do hast { </span><span style="color:#323232;"> /* something */ </span><span style="color:#323232;">} </span>
0x0, <span style="color:#323232;">do { </span><span style="color:#323232;"> /* something */ </span><span style="color:#323232;">} do hast { </span><span style="color:#323232;"> /* something */ </span><span style="color:#323232;">} do hast mich { </span><span style="color:#323232;"> /* something */ </span><span style="color:#323232;">} </span>
jadelord, It exists, kind of. Python has this construct
<span style="color:#323232;">for item in iterable: </span><span style="color:#323232;"> ... </span><span style="color:#323232;">else: </span><span style="color:#323232;"> ... </span>
which always puzzles me, since it depends on a break statement execution. I always have to look it up when the else block is executed.
ohlaph, <span style="color:#323232;">aint (something) { </span><span style="color:#323232;"> somethingElse() </span><span style="color:#323232;">} </span>
Facebones, As a Virginian learning coding, this would make my damn day.
Threeme2189, <span style="font-weight:bold;color:#a71d5d;">#define </span><span style="font-weight:bold;color:#795da3;">aint</span><span style="color:#323232;">(x) </span><span style="font-weight:bold;color:#a71d5d;">if </span><span style="color:#323232;">(</span><span style="font-weight:bold;color:#a71d5d;">!</span><span style="color:#323232;">(x)) </span>
15liam20, Or maybe
taint(condition) {}
olafurp, I’d take a
not
or “if not” operator tbh.
Appoxo, ![]()
ifnt instead of ifn’t
xmunk, Still not as good as
whence
fartsparkles, Is this a reference to something because I’d love to read it if you have a time to share.
xx3rawr, Woah. I did a quick google and it’s not just a meme, but actually used in some major lang’s libraries.
jjjalljs, This is one of those “modern Google/search sucks” moments because I couldn’t immediately find examples of it in a programming language.
xx3rawr, I actually used DDG and most I’ve seen, they’re just used as arguments for functions notably in C and Python
LeFrog, (edited ) ![]()
It is used in
ksh
korn shell to see what executable responds to a command:Edit: Oh, what a rabbit hole: Why not use “which”? What to use then?
SubArcticTundra, (edited ) ![]()
Legislation (which feels similar to programming languages sometimes) seems to have some keywords of its own. I remember seeing a lot of
Whereas …
andHaving regard to …
.
PanArab, (edited ) This can’t be for real. I’ll stick with C11 thank you.
stardreamer, ![]()
Here you dropped this:
<span style="font-weight:bold;color:#a71d5d;">#define </span><span style="font-weight:bold;color:#795da3;">ifnt</span><span style="color:#323232;">(x) </span><span style="font-weight:bold;color:#a71d5d;">if </span><span style="color:#323232;">(</span><span style="font-weight:bold;color:#a71d5d;">!</span><span style="color:#323232;">(x)) </span>
the_of_and_a_to, I like “unless” in Ruby
JPDev, unlessn’t
Goun, I’m sorry, I hate the “unless” so much
NotSteve_, At one of my first jobs, I was tasked to rewrite a bunch of legacy Perl scripts in Python and the unless lines always made me trip up. I don’t know why but it really messed with my mental flow when reading Perl code
marcos, The Perl version of it is even greater!
EnderMB, I haven’t written any Ruby for years, but I still praise it in every conversation I have regarding programming languages. It’s basically a much simpler Python, with some design ideas that are both beautiful and deeply strange.
OskarAxolotl, Ruby was designed to evoke joy and they absolutely succeeded. Usually, programming is mostly a means to an end to me. But using Ruby just feels so amazing, it’s almost impossible to even describe to somebody who has never used it before.
xia, “Help’s with readability”? You know what else helps? Not using contractions and introducing an unbalanced single quote.
bdonvr, If they’d’nt’ve done that, it’d’ve been better. Agreed.
fsr1967, TIHI
Cwilliams, Aside: rip Tom Scott
survivalmachine, This feels racist against Appalachia. We naturally speak with contractions and are commonly referred to as “unbalanced”.
frezik, Runs havoc on parsing, too. It’s bad for both humans and robots. I say we ship it.
rimjob_rainer, (edited ) Why not just ifnot? Same count of characters but an o instead of a possibly problematic single quote.
KmlSlmk64, ![]()
If someone really wanted to add it, probably the best would be to use
unless
JoshuaEN, I really liked having
unless
in Ruby; a!
can be easy to miss, whileunless
made it clear without needing to write out!= true
.
HexAndSquare, It’s also cool when you do unless(!condition). I particularly like this.
Ookami38, I think it’s just capitalizing on a trend to add n’t to otherwise noy contractions, to make them into contractions. Contractionn’ts, if you will
muntedcrocodile, (edited ) ![]()
With ahit like that its not microsoft java its now microsoft javascript
ohlaph, That’s Typescript…
taanegl, I’m just hoping this paves the way to code with Southern dialect
<span style="color:#323232;">iffun is == true </span><span style="color:#323232;">iffun ain't == false </span>
timetravel, May I introduce you to the joys of #define and creating your own horrible sub language
frezik, (edited ) That reminds me of an old paper about how to create a compilable C program out of old game ROMs. Decompile to assembly. Implement a bunch of
#define
statements that implement all the ASM statements. Now compile it to a native binary on whatever platform.Won’t likely be faster or more accurate than regular emulation methods, but it’s a neat idea considering that the source code on all this stuff was lost a long time ago.
MagicShel, Reduce exclamation marks!? Great Scott!!! Is there a shortage of punctuation in the future!?
SubArcticTundra, ![]()
All known deposits were depleted
KairuByte, ![]()
You could have saved two, all you had to do was use the interrobang. You’re a monster.
fsr1967, Kernighan, what was I thinking?
jaybone, 1.21GB!!!
bappity, (edited ) ![]()
cap () {
}
nocap () {}
runner_g, (edited ) nocap(frfr){
}
lung, ![]()
ifn’t(!valid)
halp?
Deconceptualist, I believe that resolves the same as
ain’t!(!untrue)
RagingHungryPanda, ain’t (nothin)
vlad76, ![]()
What’s wrong with “else”
NekkoDroid, ![]()
It’s not
ifn’t
SpaceNoodle, *it’sn’t
felbane, I’dn’t’ve said it like that.
Scubus, Perchance
NocturnalMorning, ^This
OP raises a valid point
Darkassassin07, ![]()
if(condition) {#block never used} else {#actually do a thing}
Vs
ifn’t(condition) {#actually do a thing}
Vs
if!(condition) {#actually do a thing}
MNByChoice, Cannot start a statement with else. One can with ifn’t. There is a new thing where we don’t branch (which is a separate discussion).
Or am I missing the joke…
Add comment