Technically java would also be (){} since the modifiers are optional (outside of public static void main(String... args)) and return type is ignore for the others :D
Yeah, it's a joke, but I disagree on the void, the other languages on the meme doesn't need a return type (when they are returning nothing), java needs it.
Many other languages have a more readable way of conveying access, class vs instance methods, and of course return type.
Newer Java versions look great but the industry is slow to catch on, I've worked with Java 8 for an NGO for only a few months before landing a better job with a different language and the amount of boilerplate we made in just that little while is insane. A lot of it is generated by the IDE, sure, but it's so incredibly redundant.
Bash fucks me up so much, too. You just put the parentheses there to say that something is a function, not for actually declaring the parameters that can be passed in...
Huh, I haven’t looked at C++ in decades, and I didn’t know they’d added lambda functions/expressions, in C++11. Apparently you can shorten it further: []{}
works when typed into the Python console, no class needed. I program as a hobby, I'm no expert on the language, but does Python even differentiate between functions and class methods internally? Other than just scope? There's a possibility I'll learn something today.
I thought python was one of those weird OOP languages like Java or C# that bound all classless methods to some universal static class but im wrong on that.
They are out there though so be on the lookout for these languages that doesnt believe in algebra.
In Haskell, that's "unit" or the empty tuple. It's basically an object with no contents, behavior, or particular meaning, useful for representing "nothing". It's a solid thing that is never a surprise, unlike undefined or other languages' nulls, which are holes in the language or errors waiting to happen.
You might argue that it's a value and not a function, but Haskell doesn't really differentiate the two anyway:
value :: String
value = "I'm always this string!"
funkyFunc :: String -> String
funkyFunc name = "Rock on, "++name++", rock on!"
Is value a value, or is it a function that takes no arguments? There's not really a difference, Haskell handles them both the same way: by lazily replacing anything matching the pattern on the left side of the equation with the right side of the equation at runtime.
38 Comments
potatoguy@lemmy.eco.br · 42 pts · 270d
And the best:
public static void () {}::: spoiler spoiler /s :::
Baizey@feddit.dk · 4 pts · 270d
Technically java would also be (){} since the modifiers are optional (outside of public static void main(String... args)) and return type is ignore for the others :D
potatoguy@lemmy.eco.br · 6 pts · 270d
Yeah, it's a joke, but I disagree on the void, the other languages on the meme doesn't need a return type (when they are returning nothing), java needs it.
RaphaelSchmitz@feddit.org · -5 pts · 269d
Yeah the thing is that each part of "public static void" is a feature. Which other languages don't have.
Still makes a good meme for programmers who are not experienced enough to know that.
orc_princess@lemmy.ml · 2 pts · 269d
Many other languages have a more readable way of conveying access, class vs instance methods, and of course return type.
Newer Java versions look great but the industry is slow to catch on, I've worked with Java 8 for an NGO for only a few months before landing a better job with a different language and the amount of boilerplate we made in just that little while is insane. A lot of it is generated by the IDE, sure, but it's so incredibly redundant.
Sxan@piefed.zip · 29 pts · 270d
:(){:|: &};:bleistift2@sopuli.xyz · 12 pts · 270d
HumanPerson@sh.itjust.works · 7 pts · 270d
cryoistalline@lemmy.ml · 7 pts · 270d
somerandomperson@lemmy.dbzer0.com · 1 pts · 242d
KSPAtlas@sopuli.xyz · 15 pts · 270d
Haskell:
=codemankey@programming.dev · 3 pts · 269d
The language of the gods
Ephera@lemmy.ml · 15 pts · 269d
Bash fucks me up so much, too. You just put the parentheses there to say that something is a function, not for actually declaring the parameters that can be passed in...
vala@lemmy.dbzer0.com · 2 pts · 269d
This really sends me
tetris11@feddit.uk · 1 pts · 269d
|{}bleistift2@sopuli.xyz · 12 pts · 270d
davel@lemmy.ml · 12 pts · 270d
JavaScript can do better than that:
barubary@infosec.exchange · 6 pts · 270d
C++:
[](){}davel@lemmy.ml · 5 pts · 270d
Huh, I haven’t looked at C++ in decades, and I didn’t know they’d added lambda functions/expressions, in C++11. Apparently you can shorten it further:
[]{}bleistift2@sopuli.xyz · 2 pts · 270d
The intention was to provide a longer version for the first step of the ladder.
davel@lemmy.ml · 9 pts · 270d
Some Lisp dialects:
(λ () )tetris11@feddit.uk · 1 pts · 269d
your IDE is hiding 6 characters there
davel@lemmy.ml · 5 pts · 269d
Some Lisps will accept a literal Unicode lambda character.
The_Hideous_Orgalorg@sh.itjust.works · 4 pts · 269d
Remember kids:
public void doFun();
tetris11@feddit.uk · 2 pts · 269d
Teacher, I just voided myself in public, are we having fun?
captain_aggravated@sh.itjust.works · 3 pts · 269d
Python: def :
derpface.jpg
dreadbeef@lemmy.dbzer0.com · 0 pts · 268d
that's a class method not a function tho
captain_aggravated@sh.itjust.works · 3 pts · 268d
AFAIK the syntax seems to be the same.
works when typed into the Python console, no class needed. I program as a hobby, I'm no expert on the language, but does Python even differentiate between functions and class methods internally? Other than just scope? There's a possibility I'll learn something today.
uairhahs@lemmy.world · 1 pts · 268d
Nope Def is universal for definition of a function wether it be a class method main method or even nested method
dreadbeef@lemmy.dbzer0.com · 1 pts · 267d
I thought python was one of those weird OOP languages like Java or C# that bound all classless methods to some universal static class but im wrong on that.
They are out there though so be on the lookout for these languages that doesnt believe in algebra.
captain_aggravated@sh.itjust.works · 1 pts · 267d
If you want to do anything of any scale with Python, you need to understand OOP because that's how modules work, but you can use it without.
benagain@lemmy.ml · 3 pts · 269d
They could have put php up the top where it belongs.
Echo5@lemmy.world · 2 pts · 269d
Idk much about programming but that looks like a beautiful reduction of bloat in coding language 😶
bort@sopuli.xyz · 1 pts · 270d
kotlin also has ()->{} and {} (when there is just 1 parameter)
HiddenLayer555@lemmy.ml · 1 pts · 269d
I don't use any but I'm sure there are functional languages where () is a valid function.
chaos@beehaw.org · 2 pts · 269d
In Haskell, that's "unit" or the empty tuple. It's basically an object with no contents, behavior, or particular meaning, useful for representing "nothing". It's a solid thing that is never a surprise, unlike undefined or other languages' nulls, which are holes in the language or errors waiting to happen.
You might argue that it's a value and not a function, but Haskell doesn't really differentiate the two anyway:
Is
valuea value, or is it a function that takes no arguments? There's not really a difference, Haskell handles them both the same way: by lazily replacing anything matching the pattern on the left side of the equation with the right side of the equation at runtime.anton@lemmy.blahaj.zone · 1 pts · 268d
Mostly a great comment, but I wouldn't compare unit to null, it's more like the void type.
solomonschuler@lemmy.zip · 1 pts · 83d
somerandomperson@lemmy.dbzer0.com · 1 pts · 269d
Prunebutt@slrpnk.net · 0 pts · 270d
Nix:
x:;