top | item 17213187

(no title)

mueslix | 7 years ago

A fairly short answer: code readability.

People seem to try to write their code as compact as possible, not realizing that they usually only write a piece of code once, but they and others will have to decipher and make sense of it a dozen times in the near future.

discuss

order

thamizhan2611|7 years ago

I agree, when the logic is very complicated to be represented in a line of code.

pcvarmint|7 years ago

(I use "conditional expression" in place of "ternary operator" here.)

I have no idea why GoLang doesn't have conditional expressions.

I find a conditional expression to be much easier to parse than if-else statements.

If it's too hard to read, then why is LISP written almost totally as expressions, and is still considered viable?

  a ? b ? c : d : e
is much easier for me to read and understand than

  if (a) {
    if (b) {
       r = c;
    } else {
       r = d;
    }
  } else {
    r = e;
  }
GoLang is supposed to be designed to remove "boilerplate code" and reduce code size, so I don't know why it doesn't have conditional expressions.

Without conditional expressions, C++11 (but not C++14 and later) constexpr functions wouldn't be Turing-complete.