- cross-posted to:
- [email protected]
- cross-posted to:
- [email protected]
Python: def :
derpface.jpg
Idk much about programming but that looks like a beautiful reduction of bloat in coding language 😶
I don’t use any but I’m sure there are functional languages where () is a valid function.
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
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.
deleted by creator
They could have put php up the top where it belongs.
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…
This really sends me
|{}
Remember kids:
public void doFun();
Teacher, I just voided myself in public, are we having fun?
And the best:
public static void () {}spoiler
/s
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 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.
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.
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.
Haskell:
=The language of the gods
:(){:|: &};::(){:|: &};: :(){:|: &};::(){:|: &};: :(){:|: &};: :(){:|: &};: :(){:|: &};::(){:|: &};: :(){:|: &};: :(){:|: &};: :(){:|: &};: :(){:|: &};: :(){:|: &};: :(){:|: &};: :(){:|: &};:
function() {}JavaScript can do better than that:
() => {}C++:
[](){}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:
[]{}
The intention was to provide a longer version for the first step of the ladder.
Some Lisp dialects:
(λ () )your IDE is hiding 6 characters there
Some Lisps will accept a literal Unicode lambda character.
Nix:
x:;kotlin also has ()->{} and {} (when there is just 1 parameter)











