←back to thread

Go subtleties

(harrisoncramer.me)
234 points darccio | 6 comments | | HN request time: 0.001s | source | bottom
1. bmn__ ◴[] No.45670100[source]
FTA:

> Runes correspond to code points in Go, which are between 1 and 4 bytes long.

That's the dumbest thing I've read in this month. Why did they use the wrong word, sowing confusion¹, when any other programming language and the Unicode standard uses the correct expression "code point"?

¹ https://codepoints.net/runic already exists

replies(2): >>45675215 #>>45676397 #
2. debugnik ◴[] No.45675215[source]
> uses the correct expression "code point"

Actually no, these are Unicode scalars, not code points; they exclude the surrogate category.

I agree that rune is a very poor name for it. It both mistakes what runes actually are and clashes with the runic block. But C# has adopted the Rune name for some reason.

Rust simply calls these char, and OCaml uchar (unicode char), which are much better choices.

replies(1): >>45679113 #
3. commandersaki ◴[] No.45676397[source]
Seeing as two of the authors designed utf8 (or at least concurrent to others), I think it’s safe to defer to their expertise and nomenclature here.
replies(1): >>45679446 #
4. debugnik ◴[] No.45679113[source]
My bad, I just double-checked and Go did the dumb thing again: They are indeed representing full code points rather than scalars like everyone else.
replies(1): >>45679423 #
5. bmn__ ◴[] No.45679423{3}[source]
Thank you for striving to be correct and taking the time for the investigation.
6. bmn__ ◴[] No.45679446[source]
http://enwp.org/Appeal_to_accomplishment

Your use of the fallacy falls short of the reasoning standard expected here on HN. I did not downvote you, because I'd rather engage with words and effect change, but it does not surprise me that someone else did.