Agreed! And I was a "heavy" user of templates (see e.g. http://mechsys.nongnu.org/, including extensive use of "expression templates") ~5 years ago before the "wonders of Go".
Let's focus on making Go faster instead! Cheers. Dorival On Friday, July 28, 2017 at 10:41:10 PM UTC+10, dogan...@dodobyte.com wrote: > > *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.