The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.
The Python seems more readable that the statement with a ternary expression. I have just started learning python, but the `if/else` is very clear to me.
"'Do what thou wilt...' is to bid Stars to shine, Vines to bear grapes, Water to seek its level; man is the only being in Nature that has striven to set himself at odds with himself."
The different order of notation doesn't seem that worthy of a WTF. That's just a bit getting used to, nothing more.
The real WTFs with Python I've seen are negative notation for hexadecimal numbers instead of two's complement and the inability to find the entry point in anything remotely complex because Python doesn't have a main method, it's just a script language evaluating from the top. Doesn't help when debugging control flow.
One of my claims to fame is that I've successfully avoided learning COBOL, even though a couple of my positions had me skidding really close to it.
I seem to remember one of the [dis]honorable mentions in the Obfuscated C/C++ Contest was a header file that let you write 'C' in a form closely resembling COBOL. As I recall, it was voted "Worst Abuse of the Preprocessor" that year.
Unfortunately it was pushed upon me with great vigor during my University Years. One of my programming teachers was an ex British Telecom COBOL programmer (Where talking 1994 ish here) and she was absolutely rabid about the virtues of the language.
She used to fail assignments for stupid things like putting 2 spaces in a comment line where there should only have been one, she treat code layout and formatting like it was a fashion statement and refused to even mention the names of any other languages.
Thankfully, the "digital electronics" parts of my studies covered C/C++ and my accountancy part had some Pascal parts... so that stopped me from going insane
for a NEW programmer, the Python Syntax makes MORE sense than the C style syntax.
x = 3 if I_Need_A_Small_Number else 3333
which is even cleaner in error checking:
addError("You can't have this") if X = 0
addError("You can't have this") if Y = 0
This was a feature of DEC Basic-Plus 2 (I called it an outside if) and in a world where something had to be tweaked in a block of code, and you did not want to affect program flow... Wow, it was a gift.
The C syntax is best explained as a "fake function" IIF() => X = IIF(cond, true_val, false_val);
but invariably the kids ask the correct question: Wouldn't that be BETTER/CLEARER syntax? (And I would explain that is why we have a PRE-PROCESSOR, LOL).
And again, I LOVE the PL/SQL DECODE() statement, which is "?:" on Steroids:
X = Decode(v0, V1, R1, V2, R2, V3, R3, R4) -> Where R4 (the extra param is the ELSE condition)
It is literally a CASE statement in function form!
That said. Python has ONE THING I absolutely hate. THE WHITESPACE inequity. I wish they treated a single tab as 2 spaces. Life would be simply. My editors convert Tabs to spaces. But ONLY when I edit a line. OMFG this might be bad in Python. LOL.
I don't get the hate on python. It's a typical 1980s language. It is what it is because it's a product of the time it was invented in. You can't apply today's values to a language whose syntax was designed almost 40 years ago and expect it to hold up. Yeah, I know C was around back then, and is the dominant syntax today, but back then, C didn't have much penetration and Fortran was king. Python is kind of an ugly stepchild of Fortran, and shows it.