ifn't

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.
OpenStars, ![]()
Please God let this be a humorous post that somehow does not also find a way to manage to come true…
bappity, (edited ) ![]()
cap () {
}
nocap () {}
runner_g, (edited ) nocap(frfr){
}
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!!!
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.
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) {}
lung, ![]()
ifn’t(!valid)
halp?
Deconceptualist, I believe that resolves the same as
ain’t!(!untrue)
RagingHungryPanda, ain’t (nothin)
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 …
.
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
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.
janabuggs, I’m struggling to understand if this is true or ifn’t true
csm10495, ![]()
Imagine the regex needed to highlight code with that extra single quote.
olafurp, I’d take a
not
or “if not” operator tbh.
Appoxo, ![]()
ifnt instead of ifn’t
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.
Thcdenton,
davidgro, Ding ding ding ding ding ding…
Add comment