this post was submitted on 17 Nov 2024
142 points (93.8% liked)

Programmer Humor

32558 readers
448 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
top 33 comments
sorted by: hot top controversial new old
[–] Blue_Morpho@lemmy.world 45 points 6 days ago (2 children)

I never heard it called the Elvis operator! Thanks!

[–] lord_ryvan@ttrpg.network 27 points 6 days ago (3 children)

It's because if you turn it 90° to the right, it looks like Elvis' hair with two eyes underneath!

[–] disguy_ovahea@lemmy.world 22 points 6 days ago (1 children)

I saw it the other way, with the question mark as the curl of his lip.

Elvis lip

[–] dwemthy@lemdro.id 9 points 6 days ago

Mfw I'm checking for null

[–] pogodem0n@lemmy.world 1 points 6 days ago
[–] MyNameIsRichard@lemmy.ml 5 points 6 days ago

It was called Elvis back when it was a smiley

[–] bl4kers@lemmy.ml 14 points 5 days ago (1 children)

I don't understand this. Small brained users rise up

[–] QuazarOmega@lemy.lol 13 points 5 days ago (2 children)

On the left you have Elvis Presley, while on the right there's the so-called Elvis operator

[–] Cube6392@beehaw.org 16 points 5 days ago (3 children)

been programming since 2008. the fuck is an elvis operator?

[–] dev_null@lemmy.ml 3 points 3 days ago* (last edited 3 days ago)

It's a shorthand for writing this:

variable = if (input != null) input else default

This is equivalent:

variable = input ?: default

The answers confusing it with the ternary operator are wrong.

[–] jerkface@lemmy.ca 8 points 5 days ago

Been programming since the 80s, ditto.

[–] luciferofastora@lemmy.zip 4 points 5 days ago (1 children)
[–] Cube6392@beehaw.org 3 points 5 days ago (1 children)

gotacha. i've only ever heard them called ternaries. maybe i'm old. maybe i'm too young. definitely one of the two

[–] QuazarOmega@lemy.lol 8 points 5 days ago

It specifically refers to this shorthand ?: that works like this:

$value = $thing_that_could_be_truthy ?: 'fallback value';

# same as

$value = $thing_that_could_be_truthy ? $thing_that_could_be_truthy : 'fallback value';

The condition is also the value if it is truthy

[–] AVincentInSpace@pawb.social 3 points 4 days ago (2 children)

why would you call it anything other than the ternary operator

[–] dev_null@lemmy.ml 3 points 3 days ago* (last edited 3 days ago) (1 children)

Because it's not one. Ternary operator is A ? B : C, Elvis operator is A ?: B. The same two characters are involved, but both the syntax and effect is different.

[–] AVincentInSpace@pawb.social 2 points 2 days ago (1 children)

The second one isn't valid syntax in any programming language I'm familiar with. What does it do?

[–] dev_null@lemmy.ml 4 points 2 days ago (1 children)

It's a shorthand for writing this:

variable = if (input != null) input else default

This is equivalent:

variable = input ?: default
[–] AVincentInSpace@pawb.social 2 points 2 days ago* (last edited 2 days ago) (1 children)
[–] dev_null@lemmy.ml 2 points 2 days ago* (last edited 2 days ago)

It's in Kotlin and some other languages. C# has it but there it's actually A ?? B.

[–] QuazarOmega@lemy.lol 2 points 4 days ago

Read further down on my other comment to understand, it's just how the operator looks

[–] deathmetal27@lemmy.world 13 points 6 days ago (3 children)
[–] QuazarOmega@lemy.lol 3 points 5 days ago (1 children)

php too

..but we don't talk about php

[–] Sleepzy@feddit.it 2 points 5 days ago (2 children)

php doesn't exist, php can't hurt you

[–] tetris11@lemmy.ml 3 points 5 days ago (1 children)
You have absolutely nothing
<?php
   well hello there again
?>
to worry about. If PHP existed
we would have sophisticated
<?php
  I trust that life has
  been treating you well? 
?>
methods of detecting it, and
it would pose literally no
<?php
  Don't open the door. It's me.
?>
threat to anyone.
[–] fxdave@lemmy.ml 2 points 4 days ago* (last edited 4 days ago)

aah my favorite template engine, I have seen it so long ago

[–] QuazarOmega@lemy.lol 1 points 5 days ago

Oh unfortunately these imaginary pains are those which hurt every day

[–] DeprecatedCompatV2@programming.dev 3 points 6 days ago* (last edited 6 days ago)

(run { this@comment.parent?.apply { this.value === true } } == true) ?: if ((this@comment.value as? Boolean) != true) false else true

[–] silasmariner@programming.dev 2 points 6 days ago (1 children)

Nobody's assuming Groovy these days then 😂

[–] chunkystyles@sopuli.xyz 2 points 5 days ago (1 children)

I've been working in Jenkins pipeline for a while now.

Why the fuck is Groovy?

[–] silasmariner@programming.dev 1 points 5 days ago

Well Grails didn't stick around for long, but Gradle was only available with Groovy for many years before they added Kotlin support.

[–] NicKoehler@feddit.it 3 points 6 days ago