Live data from Hacker News

Go 1.4 is released

blog.golang.org

251–260 of 265 posts

Re: Go 1.4 is released

#251
post #223

Earlier quoted context omitted.

"arbitrary" is just name-calling. What about benchmarks game is arbitrary in your opinion? Exactly one task might be described as boil down to "Does your language have GMP bindings" and that shows: 1) differences with the same language implementation and same GMP binding 2) differences with the same language implementation with/without GMP (for example, Rust #2 and Rust #1) 3) differences with different language impl…

> What about benchmarks game is arbitrary in your opinion? For example, look at the history of D being in the game vs. not. Generally speaking, all of http://benchmarksgame.alioth.debian.org/play.html#languagex is incredibly arbitrary. I don't think that the maintainers of the game have some sort of moral obligation to support things they don't want to, but it is an arbitrary line which influences what kind of benchm…

>>… being in the game vs. not … but isn't going to give me information about other use cases.1) That might be a credible criticism if the benchmarks game claimed to be some kind of exhaustive comparison.

In fact (if it wasn't already completely obvious that the benchmarks game has nothing to say about things it does not show) over & over again the web pages state -- "These are not the only compilers and interpreters. These are not the only programs that could be written. These are not the only tasks that could be solved. These are just 10 tiny examples."

2) You seem to have assumed that because you personally don't know the reasons, there were no reasons.

>>…totally different than what their implementation would be.What does the benchmarks game have to say about those "totally different" programs that are not shown? Nothing.

>>…more like C than like Haskell.http://benchmarksgame.alioth.debian.org/u64q/program.php?tes...

Idiomatic Haskell? Which would that be?

http://www.willamette.edu/~fruehr/haskell/evolution.html

Do you think there's an idiomatic style for programs written as though performance matters or does idiomatic just mean programs written as though performance doesn't matter?

>>…useless for evaluating if a program I write in a language is going to generally be faster or not than if I did it in another.Does the benchmarks game website claim to be useful for that purpose? It sounds like magical thinking to me --

"… but the question is still asked - Will my program be faster if I write it in language X? - and there's still a wish for a simpler answer than - It depends how you write it!"

http://benchmarksgame.alioth.debian.org/dont-jump-to-conclus...

Re: Go 1.4 is released

#252
post #251

Earlier quoted context omitted.

> What about benchmarks game is arbitrary in your opinion? For example, look at the history of D being in the game vs. not. Generally speaking, all of http://benchmarksgame.alioth.debian.org/play.html#languagex is incredibly arbitrary. I don't think that the maintainers of the game have some sort of moral obligation to support things they don't want to, but it is an arbitrary line which influences what kind of benchm…

>>… being in the game vs. not … but isn't going to give me information about other use cases. 1) That might be a credible criticism if the benchmarks game claimed to be some kind of exhaustive comparison. In fact (if it wasn't already completely obvious that the benchmarks game has nothing to say about things it does not show) over & over again the web pages state -- "These are not the only compilers and interpreters…

You can state those things all you like, in as large a font as you like, but it doesn't stop people from comparing languages based on the benchmarks game.

It's magical thinking to say otherwise: just because something doesn't claim to be X (or claims to not be X) doesn't stop popular opinion from thinking X. Maybe popular opinion is wrong, but it exists and it's what we have to contend with.

e: random recent example of someone doing this sort of comparison: https://news.ycombinator.com/item?id=8743698

Re: Go 1.4 is released

#253
post #252
post #251

Earlier quoted context omitted.

>>… being in the game vs. not … but isn't going to give me information about other use cases. 1) That might be a credible criticism if the benchmarks game claimed to be some kind of exhaustive comparison. In fact (if it wasn't already completely obvious that the benchmarks game has nothing to say about things it does not show) over & over again the web pages state -- "These are not the only compilers and interpreters…

You can state those things all you like, in as large a font as you like, but it doesn't stop people from comparing languages based on the benchmarks game. It's magical thinking to say otherwise: just because something doesn't claim to be X (or claims to not be X ) doesn't stop popular opinion from thinking X . Maybe popular opinion is wrong, but it exists and it's what we have to contend with. e: random recent exampl…

>>… but it doesn't stop people from comparing languages based on the benchmarks game.How could it? Some kind-of black magic?

The benchmarks game is just a resource. In the example you provided a discussion is taking place, and some opinions are being challenged.

Re: Go 1.4 is released

#254
post #223

Earlier quoted context omitted.

"arbitrary" is just name-calling. What about benchmarks game is arbitrary in your opinion? Exactly one task might be described as boil down to "Does your language have GMP bindings" and that shows: 1) differences with the same language implementation and same GMP binding 2) differences with the same language implementation with/without GMP (for example, Rust #2 and Rust #1) 3) differences with different language impl…

> What about benchmarks game is arbitrary in your opinion? For example, look at the history of D being in the game vs. not. Generally speaking, all of http://benchmarksgame.alioth.debian.org/play.html#languagex is incredibly arbitrary. I don't think that the maintainers of the game have some sort of moral obligation to support things they don't want to, but it is an arbitrary line which influences what kind of benchm…

>>I'm thinking more of languages like Haskell, who have implementations that look significantly more like C than like Haskell.See https://news.ycombinator.com/item?id=8744018

Re: Go 1.4 is released

#255
post #130

Earlier quoted context omitted.

Sure, the java bloated ecoystem is a real issue. Yet, imagine yourself building UI component without classes or inheritance ? Can't even say something like "my custom button is a special kind of android button, with just those two methods being overriden". GUI is to me the field where inheritance actually makes a lot of things easier and natural. Now you may end up with something similar using struct inheritance and…

> Can't even say something like "my custom button is a special kind of android button, with just those two methods being overriden". Of course you can do that in Golang. You don't need inheritance. It has composition with type embedding. You can even "override" methods. http://play.golang.org/p/UV55gQj7t0

> You can even "override" methods.

That's not the same thing as overriding a virtual method in an OO language. If B() calls A(), it gets the general A: http://play.golang.org/p/nu7kY168E9

Re: Go 1.4 is released

#256

Earlier quoted context omitted.

> Can't even say something like "my custom button is a special kind of android button, with just those two methods being overriden". Of course you can do that in Golang. You don't need inheritance. It has composition with type embedding. You can even "override" methods. http://play.golang.org/p/UV55gQj7t0

> You can even "override" methods. That's not the same thing as overriding a virtual method in an OO language. If B() calls A(), it gets the general A: http://play.golang.org/p/nu7kY168E9

... hence the scare quotes ...

Re: Go 1.4 is released

#257
post #253
post #252

Earlier quoted context omitted.

You can state those things all you like, in as large a font as you like, but it doesn't stop people from comparing languages based on the benchmarks game. It's magical thinking to say otherwise: just because something doesn't claim to be X (or claims to not be X ) doesn't stop popular opinion from thinking X . Maybe popular opinion is wrong, but it exists and it's what we have to contend with. e: random recent exampl…

>>… but it doesn't stop people from comparing languages based on the benchmarks game. How could it? Some kind-of black magic? The benchmarks game is just a resource. In the example you provided a discussion is taking place, and some opinions are being challenged.

A few comments up you are saying that Steve's problems with the benchmarks game are invalid and the game isn't considered for the sort of comparison Steve (and many others) dislike because it says all over the website that

> These are not the only compilers and interpreters. These are not the only programs that could be written. These are not the only tasks that could be solved. These are just 10 tiny examples.

etc.

But now you are saying that obviously people will do naive comparisons using the benchmarks game. This validates the dislike of widely publicised one-dimensional benchmarks like the benchmarks game (NB this applies to a lot of benchmarks on the internet, the benchmarks game is just a particularly famous example, please don't get too defensive again).

Sure a discussion is taking place, but essentially any discussion about the benchmark game degenerates into either an argument about why the benchmark game doesn't cause one-dimensional comparisons (with the pro-Benchmarks-Game side consistently being overly defensive), or an argument about why using every unsafe corner of language X to basically mimic the fastest C program is perfectly reasonable, idiomatic and common in the real world.

Re: Go 1.4 is released

#258

Earlier quoted context omitted.

Cramming a lot of logic into a single line of code is an anti-pattern and not a goal of the go language. Also see the aforementioned "the answer is to write a loop".

As I said, I've seen people say "it's the same". It is not the same. Saying "supports higher level and lower level" programming when you don't actually support most higher level programming primitives is also, from my point of view, untrue. Go's design choices are what they are, which is fine. But I just see a lot of people who argue, in all seriousness, that a loop has the same level of abstraction as map, filter et…

I can put the loop a function if you want a nice compact version with a friendly name. Not sure what level of abstraction you're missing.

Re: Go 1.4 is released

#259
post #257
post #253

Earlier quoted context omitted.

>>… but it doesn't stop people from comparing languages based on the benchmarks game. How could it? Some kind-of black magic? The benchmarks game is just a resource. In the example you provided a discussion is taking place, and some opinions are being challenged.

A few comments up you are saying that Steve's problems with the benchmarks game are invalid and the game isn't considered for the sort of comparison Steve (and many others) dislike because it says all over the website that > These are not the only compilers and interpreters. These are not the only programs that could be written. These are not the only tasks that could be solved. These are just 10 tiny examples. etc.…

>>A few comments up you are saying that … isn't considered for the sort of comparison …Please quote my words that you claim say that.

Re: Go 1.4 is released

#260

Earlier quoted context omitted.

As I said, I've seen people say "it's the same". It is not the same. Saying "supports higher level and lower level" programming when you don't actually support most higher level programming primitives is also, from my point of view, untrue. Go's design choices are what they are, which is fine. But I just see a lot of people who argue, in all seriousness, that a loop has the same level of abstraction as map, filter et…

I can put the loop a function if you want a nice compact version with a friendly name. Not sure what level of abstraction you're missing.

I can label a GOTO as well.

That languages are turing equivalent doesn't mean that they operate at the same level of abstraction; trying to pass one off as being "the same" as another is just silly.

Post reply on HN