- cross-posted to:
- programmer_humor@programming.dev
- cross-posted to:
- programmer_humor@programming.dev
Python: def :
derpface.jpg
that’s a class method not a function tho
AFAIK the syntax seems to be the same.
def sayHam(): print("Ham") sayHam()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.
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.
Nope Def is universal for definition of a function wether it be a class method main method or even nested method
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
|{}
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, 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.
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.
They could have put php up the top where it belongs.
Idk much about programming but that looks like a beautiful reduction of bloat in coding language 😶
:(){:|: &};::(){:|: &};: :(){:|: &};::(){:|: &};: :(){:|: &};: :(){:|: &};: :(){:|: &};::(){:|: &};: :(){:|: &};: :(){:|: &};: :(){:|: &};: :(){:|: &};: :(){:|: &};: :(){:|: &};: :(){:|: &};:
Haskell:
=The language of the gods
Remember kids:
public void doFun();
Teacher, I just voided myself in public, are we having fun?
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.
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.Mostly a great comment, but I wouldn’t compare unit to null, it’s more like the void type.
deleted by creator
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)













