The ternary syntax is really my only real gripe with python design – putting the conditional BETWEEN the true and false values feels so very messy to me.
It certainly has its issues. I find that the things people have trouble with are the things I tend to like about it. Of course, reading it later is a problem sometimes. :)
Wait until you learn that postfix conditionals are syntactic sugar and the compiler* turns that line into the equivalent of $debugandprint(debug message), putting the conditional in first place, a lot like the ternary operator.
* Perl compiles to bytecode before running.
The ternary operator itself isn’t implemented in terms of and (and or) but it could be.
I think it’s just what you’re used to. Imo it really matters that it’s keywords and not operator symbols - it’s meant to read closer to natural language. I prefer the c version when it’s ? and :, but I like them this way round when it’s if and else.
The ternary syntax is really my only real gripe with python design – putting the conditional BETWEEN the true and false values feels so very messy to me.
Eh, reads pretty naturally to me. That said,
(like I lisp)
Lisps makes more sense to me though
(if condition a b)
VS
a if condition else b
I was more talking about
(+ a b)
and such.Oh, (you) (really) (like) (Lisp)? (That’s) (great!)
(is great (oh (really (like-p lisp you))))
At least you guys have ternary syntax cries in kotlin.
It’s really special to not have ternary, but have Elvis.
It’s kinda natural to me having used Perl a lot.
That’s not quite the argument you might think it is
Argument?
You know, the stuff in @_
heheh. I wasn’t really making an argument though
The joke was that Perl is a clusterfuck
It certainly has its issues. I find that the things people have trouble with are the things I tend to like about it. Of course, reading it later is a problem sometimes. :)
Write only language!
I still reach for it sometimes.
The point of code is to be read by other humans, not just computers.
You clearly haven’t used Perl a lot. Perl’s ternary looks like:
$even = $num % 2 ? “nay” : “yay”;
Incidentally, it is also the same as PHP’s, but mainly because PHP stole it.
perl -e 'print "fart\n" if 1;'
You do get the if in the middle of stuff though in the form print(debug message) if $debug
Wait until you learn that postfix conditionals are syntactic sugar and the compiler* turns that line into the equivalent of
$debug and print(debug message)
, putting the conditional in first place, a lot like the ternary operator.* Perl compiles to bytecode before running.
The ternary operator itself isn’t implemented in terms of
and
(andor
) but it could be.Luckily I don’t need to read or write bytecode and all that matters to me is the syntax
I think it’s just what you’re used to. Imo it really matters that it’s keywords and not operator symbols - it’s meant to read closer to natural language. I prefer the c version when it’s ? and :, but I like them this way round when it’s if and else.