On Wed, Jul 25, 2018 at 3:11 PM Abe Dillon <abedillon@gmail.com> wrote:
The problem here is not whether it's explicit. It's about Readability and conciseness. Using symbols in place of words almost always harms readability in favor of conciseness.

value = person.name if person.name else person

almost reads like english (aside from being a weird and totally uncommon use case)

value = person?.name

Is a huge step towards the concise illegible soup of symbols that Perl is famous for. It's a huge No from me.


Similarly, 

Value is name of person

almost reads like english. 

value = person.name

Starts to look like pearl (but does not avoid repetition; only hurts english-like-readability) - or perhaps some other programming languages that use similar operators, such as C#, Swift, Dart, F#, Kotlin and others. As far as I know it is not generally considered a bad addition in any of these languages, all of which put emphasis on readability.

Elazar