I love playing with package reflect, which is much more powerful than 
generics by the way (you can't implement gob or json with generics).

On Saturday, July 29, 2017 at 3:28:56 PM UTC+2, M P r a d e s wrote:
>
> What is overrated is the use of "interface { }" and reflection AKA runtime 
> magics which has no place in a modern statically typed language. It's a 
> cop-out, it's dirty and a direct consequence of the absence of generics in 
> Go.
>
> > Please provide some best practices to achieve generic behavior for the 
> most common cases, instead of implementing Generics in Go.
>
> You cannot achieve generic behavior without some form of generics. Look at 
> sync.Map it's not compile time type safe. With generics it would be. 
>
>
>
> Le vendredi 28 juillet 2017 14:41:10 UTC+2, dogan...@dodobyte.com a 
> écrit :
>>
>> *Everything in this thread is my personal opinions, they are not 
>> necessarily the truth.*
>>
>> My main language was C for a decade. I also liked Python. When i started 
>> learning Go, it almost felt like i knew the language in another life. 
>> Everything was so obvious.
>>
>> CSP model of concurrency was new to me though. Interfaces were more 
>> familiar due to unix's open,close,read,write interface, which is the 
>> greatest idea.
>>
>> I didn't use generics or templates much (it's kind of stupid for me to 
>> talk about it's necessity), therefore this is more like a meta-research.
>>
>> - Go developers created a great standard library and many great software 
>> without generics in the language.
>> - Many companies switched to Go from the languages that have generics in 
>> it.
>> - A little copying is better than having a big feature in the language.
>> - Using generics everywhere is more of a design choice than a necessity.
>>
>>
>> *A language that doesn’t have everything is actually easier to program in 
>> than some that do. (Dennis Ritchie).*
>>
>> I wrote many different types of software in C. A country wide (a big one) 
>> server, two AV engines for two major AV companies etc. I needed generics 
>> only few times, but i could handle it in C without using smart tricks. In 
>> Go however, there are much safer, better and elegant solutions to achieve 
>> the same results. Do we really need a big feature for it?
>>
>> I didn't hear a complaint about the lack of generics in Go from a C 
>> programmer, although i'm sure there are. 
>> Maybe java programmers use generics more than they are supposed to. Maybe 
>> they should stop writing java in Go. I am confident that they would abuse 
>> generics if Go had one.
>>
>> That brings me to my point.
>>
>> I believe that generics would divide the Go community.
>>
>> It's well known that everybody uses a subset of C++ language. Google 
>> doesn't use exceptions for instance(afaik). I was unfortunate enough to use 
>> C++ in my last company and i felt the pain.
>>
>> Rob Pike himself talked about it. 
>> https://talks.golang.org/2012/splash.article (see 4. Pain points)
>>
>> Now Go is unique because people come to Go from all kind of different 
>> languages, (javascript, Python, C,...). see 
>> https://blog.golang.org/survey2016-results
>>
>> If Go 2 has a new fundamental feature like generics, many Go 2 programs 
>> will look alien to Go 1 programmers. Some people will not use generics at 
>> all while others overuse it.
>>
>> For a language like Go, this is disastrous because it's against Go's 
>> philosophy. I love gofmt because it enforces a standart format and saves 
>> our time of debating about indention and other things. What good it is to 
>> have a standard format while you have completely different programming 
>> styles.
>>
>> Dear Go experts;
>>
>> Please provide some best practices to achieve generic behavior for the 
>> most common cases, instead of implementing Generics in Go.
>>
>> Let's end this debate and help keeping Go small and simple. It's the real 
>> virtue of Go. 
>>
>> Thanks.
>>
>>

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