2013/9/21, Michael Daconta <michael...@gmail.com>: 
> I assume you say this with tongue-in-cheek; however, I cannot believe 
this 
> design decision was made.  For something to borrow so liberally from C 
only 
> 
> to enforce "one-true" bracing style is frankly ridiculous. 
> When someone has coded for a long time using their favorite bracing 
style, 
> the numerous hours of frustration to learn this new language become not 
> worth it.  Just due to inadvertent, habitually return to a bracing style 
> the language designers deemed improper - which, in fact, is actually due 
to 
> 
> the laziness of their compiler.  I believe they could improve the 
compiler 
> to correct this.  So, while I could write my own compiler for this - 
there 
> is actually an easier solution, just ignore this language until the 
> language designers do the right thing.  And if not, ignore it all 
together. 

Thanks to Lockrecv for having indirectly reminded us that perfect post. 
Everything is in it.

And Ian has told us that this design decision some of us regret will never 
be fixed, and I'm grateful to him for his great honesty.

Moreover, everybody here now knows that there is no "best" indentation 
style. 

K&R favors compactness, Allman favors alignment.

Both are fine, as long as you and your team choose it, and stick to it.

Almost all the other languages of the C-family allow that, so I finally 
agree we should stop blaming Go for being the one who decided to enforce 
the "one true style" at the compiler level.

And yes, there is no genericity. Yes, there is no argument polymorphism. 
Etc etc.

But Go is an eye opened. Without it, I wouldn't know about alternative 
languages like D, etc.

And I would also like to point out that Go is by far one of the best 
possible target for transpilers. 

It immediately give us everything we would ever need, including the GC, a 
standard library etc. 

So much better and easier than C, LLVM, etc.

So once again, I want to say that I'm grateful to the Go designers, 
including Ian, to have given us Go as an open source tool we can all use 
for free. 

It's not only a great language, and also a fantastic target.

And thus I think we should all agree that despite its idiosyncrasies, Go is 
really excellent, in a way or another :)

Le lundi 31 juillet 2017 17:15:18 UTC+1, lockrecv a écrit :
>
> You like radish, we like meat.
>
> 在 2013年9月21日星期六 UTC+8下午10:04:09,Michael Daconta写道:
>>
>> Hi Remy,
>>
>> So, in the original program, to test the exact theory you mention, I 
>> added all the semi-colons myself.
>> Like so:
>>
>> package main;
>>
>> import "fmt";
>>
>> func main() 
>> {
>>     fmt.Printf("hello, world!\n");
>> }
>>
>> As you can see, the code has semi-colons in each required location.  So, 
>> I ask you - why is the above code illegal?
>> All I've heard so far, is that "it is because the automatic insertion of 
>> semi-colons requires this stupid behavior".  Given the above code should 
>> require NO automatic insertion of semi-colons - why the stupid behavior?
>>
>> As for the folks on the thread saying "get over it" - sorry, I would turn 
>> the question back to you and say - why are you blindly accepting something 
>> so foolish?  There are things in a programming language that MUST be 
>> enforced, this should not be one of them.  So, either the language 
>> designers must admit their language is poorly designed, or they need to fix 
>> the problem!  Ignoring the problem or flippantly asserting there is no 
>> problem, is the worst thing they can do as it goes against the very reasons 
>> you design a new language for in the first place.
>>
>> - Mike
>>
>> On Saturday, September 21, 2013 9:49:42 AM UTC-4, Rémy Oudompheng wrote:
>>>
>>> Compiler laziness is a minor argument. Humans must also understand 
>>> semicolon insertion rules, justifying the choice of simple rules. 
>>>
>>> The choice of a standard formatting also makes the use of grep easier. 
>>>
>>>
>>> 2013/9/21, Michael Daconta <michael...@gmail.com>: 
>>> > I assume you say this with tongue-in-cheek; however, I cannot believe 
>>> this 
>>> > design decision was made.  For something to borrow so liberally from C 
>>> only 
>>> > 
>>> > to enforce "one-true" bracing style is frankly ridiculous. 
>>> > When someone has coded for a long time using their favorite bracing 
>>> style, 
>>> > the numerous hours of frustration to learn this new language become 
>>> not 
>>> > worth it.  Just due to inadvertent, habitually return to a bracing 
>>> style 
>>> > the language designers deemed improper - which, in fact, is actually 
>>> due to 
>>> > 
>>> > the laziness of their compiler.  I believe they could improve the 
>>> compiler 
>>> > to correct this.  So, while I could write my own compiler for this - 
>>> there 
>>> > is actually an easier solution, just ignore this language until the 
>>> > language designers do the right thing.  And if not, ignore it all 
>>> together. 
>>> > 
>>> > Though I like many features of the language from looking at the "go 
>>> tour", 
>>> > I can take it or leave it. 
>>> > 
>>> > While I new this post could be flame bait, I actually had to post it 
>>> > because I was so shocked that Google would make such a foolish error. 
>>> > Really, lose adoption over compiler laziness?  Give me a break... 
>>> > 
>>> > - Mike 
>>> > 
>>> > On Saturday, September 21, 2013 12:45:58 AM UTC-4, Dave Cheney wrote: 
>>> >> 
>>> >> I, For One, welcome the One True Brace style. 
>>> >> 
>>> >> On Sat, Sep 21, 2013 at 11:58 AM, Michael Daconta 
>>> >> <michael...@gmail.com <javascript:>> wrote: 
>>> >> > Hi Go fans, 
>>> >> > 
>>> >> > I frankly was shocked to learn that a program like: 
>>> >> > 
>>> >> > package main; 
>>> >> > 
>>> >> > import "fmt"; 
>>> >> > 
>>> >> > func main() 
>>> >> > { 
>>> >> > fmt.Printf("hello, world!\n"); 
>>> >> > } 
>>> >> > 
>>> >> > ... is currently illegal in go with the error: 
>>> >> > 
>>> >> > # command-line-arguments 
>>> >> > .\hello.go:6: syntax error: unexpected semicolon or newline before 
>>> { 
>>> >> > 
>>> >> > From reading the newsgroups, I see that this is illegal due to the 
>>> >> automatic 
>>> >> > insertion of semi-colons; however, what if I added my own 
>>> semi-colons 
>>> >> into 
>>> >> > the code as in the above.  From a language perspective the above 
>>> should 
>>> >> > 
>>> >> be 
>>> >> > legal Go code.  To me, it seems like a hack for convenience (making 
>>> >> > semi-colons optional) has forced a K&R style on everyone. 
>>> >> > For me, this is a show-stopper.  Frankly, I am surprised that 
>>> Google 
>>> >> would 
>>> >> > enforce a coding style (K&R) while saying that "go fmt" frees you 
>>> from 
>>> >> > worrying about divergent coding styles.  Sorry, google - you cannot 
>>> have 
>>> >> > 
>>> >> it 
>>> >> > both ways.  Unless the Allman-style code above is illegal in the 
>>> >> language 
>>> >> > (which makes no sense from a language semantics point of view) - 
>>> get the 
>>> >> > 
>>> >> > compiler to accept it. Period. 
>>> >> > 
>>> >> > Yes, I know I can write my own translator - but why?  Heck, I can 
>>> just 
>>> >> stick 
>>> >> > with Java... 
>>> >> > 
>>> >> > C'mon Google, when trying to pitch a new language, you can (and 
>>> should) 
>>> >> > 
>>> >> do 
>>> >> > better than this... 
>>> >> > 
>>> >> > - Mike 
>>> >> > 
>>> >> > -- 
>>> >> > 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...@googlegroups.com <javascript:>. 
>>> >> > For more options, visit https://groups.google.com/groups/opt_out. 
>>> >> 
>>> > 
>>> > -- 
>>> > 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...@googlegroups.com. 
>>> > For more options, visit https://groups.google.com/groups/opt_out. 
>>> > 
>>>
>>

-- 
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