Well said! +1

On Thursday, July 4, 2019 at 1:02:45 PM UTC+3, Slawomir Pryczek wrote:
>
> Following this group for couple years and I think that from some time the 
> community is in some kind of crisis, because it seems that go1 is so good 
> that there's a lack of some feature which will distinct go1 from go2, so 
> everyone's trying to invent some code breaking change which will "distinct" 
> 1 from 2 just for the sake of breaking backward-compatibility. There are no 
> real issues with language design, so people seems to be "inventing" 
> problems ;)
>
> So we're having a flood of different specs, which are trying to "fix" 
> something that's not broken by adding needless complexity or adding a 
> "feature" from C or Java which is more complicated than the whole go1 when 
> we look at it for more than 2 minutes. And go1 is so good it seems so easy 
> to introduce couple of very bad ideas into the language because in the end 
> it'll still looks nice.
>
> Generics, operator overloading, memory ownership, try-catch, precalculated 
> functions, and the list could go on-and-on. There's C++, everyone's 
> favourite "missing feature" is already there ... probably that's why it's 
> such a delight to write anything in it with >1 person in team ;) And if you 
> "just" miss try/catch and generics it's called java. So much effor went 
> into making go simple to read and develop, and to remove all "dust" which 
> C++ gathered over the years, now I think so much thinking goes into 
> bringing it all back. I think when creating specs people are totally 
> missing the point... we thankfully don't have to deal with overloading or 3 
> different kind of for-loops so we can focus on algorithms because code is 
> easy to read. Since when replacing 3 different loop keywords for 3 
> different conditional keywords plus adding code fragmentation sounds like a 
> good idea? So when reading single line, we'll have to check specs and maybe 
> 4 other places in the file to be kind-of-sure what it does, like it happens 
> in C++, just to save a newline...
>
> It's really not about the specs, but the amount of support every change 
> usually gets, seems just for the sake of changing something. I'm afraid 
> some of these could be introduced, and the language will be going towards 
> becoming some kind of bad c++ clone. And we could end up with something 
> even as bad and unstable as node-js very quickly, because it seems that 
> currently google is the only force which keeps potential feature creep in 
> check. Really surprising how fast people forgot how horrible try/catch or 
> generics are. And (especially for generics and overloading) - how 
> unreadable and unmaintainable code using it really is. For sure there's 
> room for improvement by inventing some new ways of doing things... not 
> forcefully porting bad, decades old, error prone "ways of thinking" from 
> C'ish languages, so we can spare a newline here and there or avoid typing 3 
> chars...
>
> So just my 2c for keeping simplicity. And if go2 can compile go1 code 
> without changes, that's actually a feature not a "problem" and anyone can 
> create overly complicated system, so yes simplicity isn't a "problem" as 
> well ;)
>

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/5a9898a7-d662-4e17-ba2d-047322071636%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to