Re: [OT] Go officially won't get generics
On Wednesday, 7 May 2014 at 15:54:42 UTC, Paulo Pinto wrote: So the videos of the Gophercon 2014 are being made available. Rob Pike did the keynote. At the expected question about generics, his answer was "There are no plans for generics. I said we're going to leave the language; we're done.". Discussion ongoing on HN, https://news.ycombinator.com/item?id=7708904 -- Paulo When Rob Pike was asked at the end of his keynote speech whether Go will support generics one day the majority of the audience was immediately laughing. If I were into Go this would make me think. I don't think parameterized types are necessary for a typed language to be "good". But in Go it would be helpful to allow workarounds for modelling problems. As I like the way concurrency is done in Go I tried several times to find programming solutions that can manage without violating visibility rules or having duplicate variables or some other compromise. But there was simply no way.
Re: [OT] Go officially won't get generics
On 09/05/2014 18:25, brad clawsie wrote: The official mailing list has practically no mention of generics anymore. I think it comes up fairly regularly, despite the ML regulars being very anti-generics. This was posted just 2 months ago: https://groups.google.com/forum/#!topic/golang-nuts/PI_nf78jV2k
Re: [OT] Go officially won't get generics
On Friday, 9 May 2014 at 21:03:06 UTC, brad clawsie wrote: On Friday, 9 May 2014 at 19:07:24 UTC, Jesse Phillips wrote: No, the context around what he said is very important. Google isn't leaving Go development, generics are not nixed for Go 2.0, the language will continue to see bug fixes. This is all very clear with context. I see this as a good. What would you rather use - a third party library written against abstractions or one written against concrete types? I would rather use a library based on concrete types. My observation is that the more abstraction people indulge, the greater the chance I will regard one of their abstractions as a code smell. Quite likely you won't be able to use that 3d party library with your types at all and will need runtime conversion between library types and your own. std.algorithm is prime example of how generalization improves code reuse. And it isn't the the case that the lack of generics is inhibiting participation. Go's library selection is already very good and getting better daily. Just yesterday I needed a Go lz4 compression library and was able to find three distinct implementations. Go is not hurting for third-party libraries. This has nothing to do with the language. Existing mainstream languages are so bad that people will contribute to anything that is backed by solid brand and has enough fuss about. I clearly remember seeing several articles about crazy library design that is forced by Go lack of generics of any sort.
Re: [OT] Go officially won't get generics
On Friday, 9 May 2014 at 19:07:24 UTC, Jesse Phillips wrote: No, the context around what he said is very important. Google isn't leaving Go development, generics are not nixed for Go 2.0, the language will continue to see bug fixes. This is all very clear with context. I see this as a good. What would you rather use - a third party library written against abstractions or one written against concrete types? I would rather use a library based on concrete types. My observation is that the more abstraction people indulge, the greater the chance I will regard one of their abstractions as a code smell. And it isn't the the case that the lack of generics is inhibiting participation. Go's library selection is already very good and getting better daily. Just yesterday I needed a Go lz4 compression library and was able to find three distinct implementations. Go is not hurting for third-party libraries.
Re: [OT] Go officially won't get generics
On Friday, 9 May 2014 at 11:38:13 UTC, Bruno Medeiros wrote: I find this aspect much more interesting than the "get generics or not" one. So Rob Pike and the other guy is leaving the language then? No, the context around what he said is very important. Google isn't leaving Go development, generics are not nixed for Go 2.0, the language will continue to see bug fixes. This is all very clear with context. I don't expect the will look to add generics in Go 2.0 (others will, but not them).
Re: [OT] Go officially won't get generics
On Friday, 9 May 2014 at 11:46:20 UTC, Chris wrote: If not, better not to introduce them. D, at a certain point in time, started to be designed around templates, or with templates in mind. I think it was Andrei who convinced Walter to do that. It wasn't Andrei, but I don't remember who Walter gave credit to.
Re: [OT] Go officially won't get generics
On 5/9/2014 7:18 AM, Chris wrote: There is this conflict between textbooks and real world (hardware / software interaction). Walter once said on this forum that when he sees textbook examples, he says that things don't really work that way. Found that out when implementing textbook optimization algorithms. It's sort of like watching those miracle cleaning products on an infomercial, and then trying them out yourself :-)
Re: [OT] Go officially won't get generics
Beyond being fodder for people who don't write Go but hate it for some reason, this seems to be an ongoing non-event. The official mailing list has practically no mention of generics anymore.
Re: [OT] Go officially won't get generics
On Friday, 9 May 2014 at 13:59:38 UTC, Dicebot wrote: On Friday, 9 May 2014 at 07:38:46 UTC, Paulo Pinto wrote: I had the opportunity to meet Wirth at CERN, when he and a few ETHZ members took part on the Oberon Day, back in 2004. He is really great guy, but he could not understand why Oberon was being ignored in the industry. As he expected the desire for quality would drive developers to it. From Wirth published books and known projects I have an impression that he is a brilliant scientist who has an extremely basic understanding of what engineers need. His languages are all about proposing academical solutions to practical problems. There is this conflict between textbooks and real world (hardware / software interaction). Walter once said on this forum that when he sees textbook examples, he says that things don't really work that way. Through D, I've learned a lot about that, because the language was designed on hindsight and with the machine in mind.
Re: [OT] Go officially won't get generics
On Friday, 9 May 2014 at 07:38:46 UTC, Paulo Pinto wrote: I had the opportunity to meet Wirth at CERN, when he and a few ETHZ members took part on the Oberon Day, back in 2004. He is really great guy, but he could not understand why Oberon was being ignored in the industry. As he expected the desire for quality would drive developers to it. From Wirth published books and known projects I have an impression that he is a brilliant scientist who has an extremely basic understanding of what engineers need. His languages are all about proposing academical solutions to practical problems.
Re: [OT] Go officially won't get generics
On Friday, 9 May 2014 at 11:46:20 UTC, Chris wrote: On Friday, 9 May 2014 at 07:38:46 UTC, Paulo Pinto wrote: On Friday, 9 May 2014 at 07:05:59 UTC, Bienlein wrote: Well, he had previously stated that there would be no breaking changes, and that if there were changes it would have to be called "go version 2 or something". So when generics were brought up he stated that there were no plans for generics and "I said we are going to leave the language, we are done" (with version 1 semantics). Ola.. Robert Pike says in this thread (https://groups.google.com/forum/?hl=de#!topic/golang-nuts/3fOIZ1VLn1o): "Go has type switches, and therefore no need for the Visitor Pattern.". He has exactly the same mindset as Niklaus Wirth and Oberon never got templates. Future will tell... Would be a nice thing to bet a dime on whether Go will have generics or not. I bet not ;-). Oberon did eventually get some basic form of templates in Active Oberon, but that was not under Wirth's supervision. He actually went into the other direction by making a minimalist version of Oberon with Oberon-07. I had the opportunity to meet Wirth at CERN, when he and a few ETHZ members took part on the Oberon Day, back in 2004. He is really great guy, but he could not understand why Oberon was being ignored in the industry. As he expected the desire for quality would drive developers to it. In a similar vein to Rob Pike writing the blog post why he thinks C++ developers don't care for Go, Niklaus Wirth wrote a long article about the industry lack of interest in minimalist languages. The problem they fail to understand, or acknowledge, is that large scale architectures in simple languages usually lead to complex code with lots of boilerplate. -- Paulo With generics you mean templates, right? I started to use templates in D, although I wasn't convinced. But the more I use them the more I appreciate them. If you work with one or two basic types, templates don't seem to make much sense. But when you use the power of D, like having arrays of structs that hold arrays of structs etc., then templates start to make sense. The thing is, the language has to be designed in a way that templates make sense and can be used throughout the language. If not, better not to introduce them. D, at a certain point in time, started to be designed around templates, or with templates in mind. I think it was Andrei who convinced Walter to do that. But in my view the language has to cater for templates for them to be useful. Introducing them randomly for the sake of having them will not work. Agreed. The issue being that to design a strong typed language in 2007 without support for genericity, does not make much sense. When all other mainstream languages have adopted them. Lets not forget that CLU (1975) and Ada (1980) were among the first ones to support it. The initial version of C++ STL was actually based on a preliminary version done in Ada. Even .NET was actually designed with generics support in mind (1999): http://blogs.msdn.com/b/dsyme/archive/2011/03/15/net-c-generics-history-some-photos-from-feb-1999.aspx -- Paulo
Re: [OT] Go officially won't get generics
On Friday, 9 May 2014 at 07:38:46 UTC, Paulo Pinto wrote: On Friday, 9 May 2014 at 07:05:59 UTC, Bienlein wrote: Well, he had previously stated that there would be no breaking changes, and that if there were changes it would have to be called "go version 2 or something". So when generics were brought up he stated that there were no plans for generics and "I said we are going to leave the language, we are done" (with version 1 semantics). Ola.. Robert Pike says in this thread (https://groups.google.com/forum/?hl=de#!topic/golang-nuts/3fOIZ1VLn1o): "Go has type switches, and therefore no need for the Visitor Pattern.". He has exactly the same mindset as Niklaus Wirth and Oberon never got templates. Future will tell... Would be a nice thing to bet a dime on whether Go will have generics or not. I bet not ;-). Oberon did eventually get some basic form of templates in Active Oberon, but that was not under Wirth's supervision. He actually went into the other direction by making a minimalist version of Oberon with Oberon-07. I had the opportunity to meet Wirth at CERN, when he and a few ETHZ members took part on the Oberon Day, back in 2004. He is really great guy, but he could not understand why Oberon was being ignored in the industry. As he expected the desire for quality would drive developers to it. In a similar vein to Rob Pike writing the blog post why he thinks C++ developers don't care for Go, Niklaus Wirth wrote a long article about the industry lack of interest in minimalist languages. The problem they fail to understand, or acknowledge, is that large scale architectures in simple languages usually lead to complex code with lots of boilerplate. -- Paulo With generics you mean templates, right? I started to use templates in D, although I wasn't convinced. But the more I use them the more I appreciate them. If you work with one or two basic types, templates don't seem to make much sense. But when you use the power of D, like having arrays of structs that hold arrays of structs etc., then templates start to make sense. The thing is, the language has to be designed in a way that templates make sense and can be used throughout the language. If not, better not to introduce them. D, at a certain point in time, started to be designed around templates, or with templates in mind. I think it was Andrei who convinced Walter to do that. But in my view the language has to cater for templates for them to be useful. Introducing them randomly for the sake of having them will not work.
Re: [OT] Go officially won't get generics
On 08/05/2014 22:09, Bienlein wrote: On Wednesday, 7 May 2014 at 15:54:42 UTC, Paulo Pinto wrote: So the videos of the Gophercon 2014 are being made available. Rob Pike did the keynote. At the expected question about generics, his answer was "There are no plans for generics. I said we're going to leave the language; we're done.". Discussion ongoing on HN, https://news.ycombinator.com/item?id=7708904 -- Paulo I agree with Paulo. At 54:40 he says what Paulo has already quoted. And "we are done" means "that's it, folks". It even sounds to me like the language is finished and it will be left like that. -- Bienlein I find this aspect much more interesting than the "get generics or not" one. So Rob Pike and the other guy is leaving the language then? I wonder what that means for the future of Go. I guess the community will take over, but will there be someone from Google still in charge? And how many resources/manpower from Google will they still dedicate to Go? The thing about generics is that, if Go where to break through and become a mainstream popular language, generics would likely be added to it somehow. Maybe in the main language, as in Go 2.0, or maybe as side-project/language-extension (Go++ ?) that someone else would take. Similar to Java which tried to keep the language as simple as possible in the beginning (no operator overload, no metaprogramming or generics, etc), but eventually saw the shortcoming as too significant.. (even if the only thing they added was type-parameterization generics, but even just that makes a big difference) -- Bruno Medeiros https://twitter.com/brunodomedeiros
Re: [OT] Go officially won't get generics
On Friday, 9 May 2014 at 07:05:59 UTC, Bienlein wrote: Well, he had previously stated that there would be no breaking changes, and that if there were changes it would have to be called "go version 2 or something". So when generics were brought up he stated that there were no plans for generics and "I said we are going to leave the language, we are done" (with version 1 semantics). Ola.. Robert Pike says in this thread (https://groups.google.com/forum/?hl=de#!topic/golang-nuts/3fOIZ1VLn1o): "Go has type switches, and therefore no need for the Visitor Pattern.". He has exactly the same mindset as Niklaus Wirth and Oberon never got templates. Future will tell... Would be a nice thing to bet a dime on whether Go will have generics or not. I bet not ;-). Oberon did eventually get some basic form of templates in Active Oberon, but that was not under Wirth's supervision. He actually went into the other direction by making a minimalist version of Oberon with Oberon-07. I had the opportunity to meet Wirth at CERN, when he and a few ETHZ members took part on the Oberon Day, back in 2004. He is really great guy, but he could not understand why Oberon was being ignored in the industry. As he expected the desire for quality would drive developers to it. In a similar vein to Rob Pike writing the blog post why he thinks C++ developers don't care for Go, Niklaus Wirth wrote a long article about the industry lack of interest in minimalist languages. The problem they fail to understand, or acknowledge, is that large scale architectures in simple languages usually lead to complex code with lots of boilerplate. -- Paulo
Re: [OT] Go officially won't get generics
Well, he had previously stated that there would be no breaking changes, and that if there were changes it would have to be called "go version 2 or something". So when generics were brought up he stated that there were no plans for generics and "I said we are going to leave the language, we are done" (with version 1 semantics). Ola.. Robert Pike says in this thread (https://groups.google.com/forum/?hl=de#!topic/golang-nuts/3fOIZ1VLn1o): "Go has type switches, and therefore no need for the Visitor Pattern.". He has exactly the same mindset as Niklaus Wirth and Oberon never got templates. Future will tell... Would be a nice thing to bet a dime on whether Go will have generics or not. I bet not ;-).
Re: [OT] Go officially won't get generics
On Friday, 9 May 2014 at 05:22:36 UTC, Russel Winder via Digitalmars-d wrote: On Thu, 2014-05-08 at 19:37 +, Jesse Phillips via Digitalmars-d wrote: […] Ah, well context around it removes all my claims. It is clear he is saying that Go 1.x will not have generics. Given the statements about backward compatibility there is no way Go 1.x can have generics. I'm fairly sure the core Go team are convinced the interface way and manual "overloading" is the way to go, and that generics are an unnecessary burden. Many people argue they are wrong without actually trying the style of programming inherent in the language. You mean programming in - Turbo Pascal with object as root - Oberon with object as root - Smalltalk with object as root - Modula-3 with ROOTANY as root - C++ without templates - Java with object as root - C# with object as root Me, I know what it means. -- Paulo
Re: [OT] Go officially won't get generics
On Thu, 2014-05-08 at 19:37 +, Jesse Phillips via Digitalmars-d wrote: […] > Ah, well context around it removes all my claims. It is clear he > is saying that Go 1.x will not have generics. Given the statements about backward compatibility there is no way Go 1.x can have generics. I'm fairly sure the core Go team are convinced the interface way and manual "overloading" is the way to go, and that generics are an unnecessary burden. Many people argue they are wrong without actually trying the style of programming inherent in the language. -- Russel. = Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.win...@ekiga.net 41 Buckmaster Roadm: +44 7770 465 077 xmpp: rus...@winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Re: [OT] Go officially won't get generics
On Thursday, 8 May 2014 at 21:09:38 UTC, Bienlein wrote: I agree with Paulo. At 54:40 he says what Paulo has already quoted. And "we are done" means "that's it, folks". It even sounds to me like the language is finished and it will be left like that. Well, he had previously stated that there would be no breaking changes, and that if there were changes it would have to be called "go version 2 or something". So when generics were brought up he stated that there were no plans for generics and "I said we are going to leave the language, we are done" (with version 1 semantics). Ola..
Re: [OT] Go officially won't get generics
On Wednesday, 7 May 2014 at 15:54:42 UTC, Paulo Pinto wrote: So the videos of the Gophercon 2014 are being made available. Rob Pike did the keynote. At the expected question about generics, his answer was "There are no plans for generics. I said we're going to leave the language; we're done.". Discussion ongoing on HN, https://news.ycombinator.com/item?id=7708904 -- Paulo I agree with Paulo. At 54:40 he says what Paulo has already quoted. And "we are done" means "that's it, folks". It even sounds to me like the language is finished and it will be left like that. -- Bienlein
Re: [OT] Go officially won't get generics
On Thursday, 8 May 2014 at 18:29:45 UTC, Jesse Phillips wrote: This statement doesn't sound like the "no generics" is the important part. It seems more like they have no plans to make Go 2.0, at least not with it bringing big breaking changes as people keep pointing out will happen. But that is probably reading too much into it, I can't imagine he wanted to put that much information in the statement. But then again I haven't seen any official word on Go 2.0 (similar to D3). Ah, well context around it removes all my claims. It is clear he is saying that Go 1.x will not have generics.
Re: [OT] Go officially won't get generics
On Wednesday, 7 May 2014 at 15:54:42 UTC, Paulo Pinto wrote: So the videos of the Gophercon 2014 are being made available. Rob Pike did the keynote. At the expected question about generics, his answer was "There are no plans for generics. I said we're going to leave the language; we're done.". Discussion ongoing on HN, https://news.ycombinator.com/item?id=7708904 -- Paulo This statement doesn't sound like the "no generics" is the important part. It seems more like they have no plans to make Go 2.0, at least not with it bringing big breaking changes as people keep pointing out will happen. But that is probably reading too much into it, I can't imagine he wanted to put that much information in the statement. But then again I haven't seen any official word on Go 2.0 (similar to D3).
[OT] Go officially won't get generics
So the videos of the Gophercon 2014 are being made available. Rob Pike did the keynote. At the expected question about generics, his answer was "There are no plans for generics. I said we're going to leave the language; we're done.". Discussion ongoing on HN, https://news.ycombinator.com/item?id=7708904 -- Paulo