4 ms·
Java has had that feature for.. 3 years? out of 20? This is not about Java, this is about a multitude of languages having these features and Go not having this
by wink 8y ago
Java has had that feature for.. 3 years? out of 20?
This is not about Java, this is about a multitude of languages having these features and Go not having this is a valid criticism.
I'm not saying you're wrong that there might be good reasons for it to be focused on different things, but I didn't read OP as "meh this is not Java" at all.
- coldtea 8y agoNo, since 2004. So, for 15 years out of 20 or so.
- wink 8y ago.map/.reduce etc? Really? Either we had a misunderstanding there or I am plain wrong :) I was talking about streams in Java 8, so ok - 2014 is 5 years ago.
- pjmlp 8y agoReally, it was implemented with anonymous inner classes, and popularized in libraries like Guava.
- wink 8y agoYou're right - I forgot about this. I still don't think it's a valid point in this part of the discussion. Guava was/is widespread as far as I know but it's far from "everybody uses this" and while I've not worked in many Java projects, I've not seen much of this functional style. The people who wanted this badly switched to Scala. The features don't seem to be inherent, or at least not readily available to the language itself.
- mruts 8y agoHe’s talking about generics, you’re talking about streams. Though ML was invented in 1973, so the idea of map/fold is pretty old. The generalization into monoids/monads/functors didn’t happen until the early 90’s. If we want to talk about the JVM, Scala was created 15 years ago and had those features. I respect K&R, Rob Pike, C, and Unix a lot, but you have to understand that even when they were in their prime, they were considered a backwards. This can be traced toward the New Jersey style vs MIT style [http://dreamsongs.com/WorseIsBetter.html http://dreamsongs.com/WorseIsBetter.html] Not surprisingly, the New Jersey style originated at a company, Bell Labs, and while MIT style, not surprisingly, originated at... MIT. But at this point, Go just feels antiquated, designed by a guy who strikes me as a “get off my lawn” kind of person. Personally having had to transition from Scala to Go for one project at my old company, it felt like I was programming “blind, deaf, and dumb.” Things I could do in 2 lines of Scala (though those lines were admittedly dense), would literally take hundreds of lines of Go. Sure, maybe it would have taken even more lines of C, but not much. Go is probably just a tad more expressive than C with boehm GC. And frankly, that’s unexcusable for a language created in the 00’s, much less 2009.
- Thaxll 8y agoI worked with Scala and just the compile time / deployment / SBT nightmare was really a bad experience, I'm glad I don't have that kind of problems with Go.
- coldtea 8y agoAha, I was talking about generics.