News for hackers. Stuff that matters.
Re:From Java to Go, and Back Again (2016) by nostalgeek on Saturday June 23, 2018 @03:21PM (#17382897)
> Did you miss the point where I said "it's not good or pretty" ? Or do you just want to bitch about everything?

I'm not bitching about anything (you don't need to use this kind of language here, it is not reddit), I'm telling you that piece of code you wrote is pretty useless.

It is not compile time type safe and it is slow due to the use of reflection. This is not an alternative to generics or generic functions in the language. It fixes nothing.

Re:From Java to Go, and Back Again (2016) by daenz on Saturday June 23, 2018 @03:30PM (#17382953)
>This is not an alternative to generics or generic functions in the language. It fixes nothing.

When it comes to Go, you don't know what you're talking about. Learn to write a container type and then get back to me. Here's a Heap https://golang.org/src/container/heap/heap.go?s=2105:2138#L5... See the return type? interface{}. This is how it's done in Go. How did you think it was done without generics? IntHeap, StringHeap, FloatHeap, etc?

"You can't do X because Go doesn't have Y" was the original point. My response was "you do X with Z." Whether or not Z is good or bad is completely orthogonal to the original point seeing as how it's idiomatic in Go.

Re:From Java to Go, and Back Again (2016) by piano on Saturday June 23, 2018 @05:17PM (#17383499)
> "You can't do X because Go doesn't have Y" was the original point. My response was "you do X with Z." Whether or not Z is good or bad is completely orthogonal to the original point seeing as how it's idiomatic in Go.

No, it's not orthogonal. The part you cited even mentions strong typing, thereby IMO it is pretty obvious type-safety is a requirement here. Otherwise what would even be the point of the exercise? Mapping of some data to some other data? You can do that in _any_ turing-complete language.

The comment said "you can’t write a generic map from an array of T to an array of R" and, indeed, you can't do that in Go. Your code maps a slice of dynamic values to a slice of dynamic values. It doesn't map array of T to array of R, as requested, because there's simply no way to express that in Go.

Besides, I think think it even actually _is_ idiomatic since you used reflection.

Re:From Java to Go, and Back Again (2016) by daenz on Sunday June 24, 2018 @02:50AM (#17385334)
>Besides, I think think it even actually _is_ idiomatic since you used reflection.

https://appliedgo.net/generics/

See point 4 and 5. It is idiomatic.

Re:From Java to Go, and Back Again (2016) by piano on Sunday June 24, 2018 @03:00PM (#17387839)
Are you joking / trolling? The article clearly instructs to _avoid_ refleciton...
Re:From Java to Go, and Back Again (2016) by daenz on Monday June 25, 2018 @10:10AM (#17392536)
That's the author's personal opinion, but it doesn't make it any less idiomatic. There's a difference. And point 4 isn't reflection at all, it's type assertions.