The problem is that Go already has if and else and else if (which would look 
really weird in your proposal)

Changing a word to a symbol does not enhance meaning -  it reduces it, and 
increases the learning curve. 

 Like I said, you will probably like Ada - lots of symbols there. 

> On Apr 25, 2019, at 7:27 PM, lgod...@gmail.com wrote:
> 
> To Kortschak and all others participating in this debate :
> 
> Please don't get hung up over my choice of symbol '?' . 
> My choice of symbol '?' and ';' is causing people to equate my proposal with 
> a proposal to adopt C's ternary operator in Go. This is not what I intended 
> to propose.
> 
> My proposal  regarding ? test {...} : {.. } in is nothing more, nothing less 
> than  a replacement for 
> if (test) { ... } else {... }   i.e. 'if' and 'else' are replaced by symbols 
> '?' and ';' ..
> 
> For example I propose that a statement like  ? (x >-1) { y=x; z= x*x } : { 
> y=x*x; z= y  } compile in Go
> EXACTLY THE SAME way that Go currently compiles the same statement with 
> symbol '?' replaced by 'if' and ';' replaced by 'else' . Currently, neither 
> C++, C nor Go will compile the above statement 
> 
> The  second part of my proposal called for allowing statements like x = 
> (test) ? 1 : 0 to compile in Go.
> C will currently  compile this statement but Go will not. But I stress again, 
> I intended Go to compile this   
> statement exactly the same way it compiles if (test) { x=1}  else { x=0 }  
> AND that no nested '?' symbols are allowed in a single assignment statement.
> 
> In short, I'm proposing a cleaner way to write Go 'if'  'else' statements,  
> nothing more, nothing less.
> 
> If anyone can offer a concrete example of how my proposed statement will 
> cause problems in Go, just  replace my chosen symbol '?' with 'if' and symbol 
> ';' with 'else'  and you'll have a statement that will currently compile in 
> Go (and cause the same problems)
> 
> 
> 
>  ..  
>> On Thursday, April 25, 2019 at 5:15:23 PM UTC-4, kortschak wrote:
>> The difference is that the ternary operator is an expression and the 
>> if...else is a statement. If you're only suggesting a syntax change, 
>> then the difference becomes one of readability. 
>> 
>> I'll ask again, how would you preclude nesting without making the 
>> language more complex? 
>> 
>> On Thu, 2019-04-25 at 13:38 -0700, lgo...@gmail.com wrote: 
>> > Rob: 
>> > 
>> > Am I missing something ?? 
>> > The proposed syntax  
>> > test ? {  
>> > } : {  
>> > }   
>> > 
>> > with no-nesting allowed is equivalent to 
>> > if test {  
>> > //..... 
>> > } else { 
>> > // ..  
>> > }  
>> > ..The former is just a cleaner way of writing the latter 
>> > 
>> > Any complaints regarding 'abuse' associated with the former equally 
>> > apply  
>> > to the latter 
>> > 
>> > On Thursday, April 25, 2019 at 11:47:21 AM UTC-4, Rob 'Commander' 
>> > Pike  
>> > wrote: 
>> > > 
>> > > 
>> > > I am pretty sure that the decision not to have ?: in Go was a 
>> > > unanimous  
>> > > decision by Robert, Ken and myself after almost no discussion. It 
>> > > is too  
>> > > easy to abuse, as the FAQ states. 
>> > > 
>> > > -rob 
>> > > 
>> > > 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to golang-nuts+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to