7 ms·
Programming languages have a large amount of irreducible complexity. A page long spec for a language more complex than Brainfuck cannot represent the critical d
by alice-i-cecile 4y ago
Programming languages have a large amount of irreducible complexity. A page long spec for a language more complex than Brainfuck cannot represent the critical distinctions correctly.
Without that clarity, you end up with incompatible, spec-compliant implementations. This is a disaster, and so below a certain point relative to language complexity a shorter spec is simply wrong.
- metadat 4y agoAre there nasty divergences between official go and cgo?
- josephcsible 4y agoAs it turns out, Go's spec is 105 pages long, not just one as was claimed upthread: https://go.dev/ref/spec https://go.dev/ref/spec So the answer to your question is "not that I know of", but that's not evidence that a one-page spec is workable after all.
- randomdata 4y ago> Without that clarity, you end up with incompatible, spec-compliant implementations. The Go team officially maintains two implementations, gc and gccgo, to ensure that implementation doesn't end up ruling over the specification as has happened in other languages. There are also other third party implementations, including tinygo. Which spec-induced incompatibilities across these implementations are you referring to?
- oxnrtr 4y agoGo doesn't have a one-page spec, so what do you expect the GP to point to? You are proving his point.
- randomdata 4y agoLooks like one page to me: https://go.dev/ref/spec https://go.dev/ref/spec
- oxnrtr 4y agoYeah, no.
- randomdata 4y agoFeel free to show us the second page.
- josephcsible 4y agoIt starts about 2/3 of the way through the table of contents.
- randomdata 4y agoA link is fine.
- josephcsible 4y agohttps://go.dev/ref/spec#:~:text=Declarations%20and%20scope-,Label%20scopes,-Blank%20identifier https://go.dev/ref/spec#:~:text=Declarations%20and%20scope-,...
- randomdata 4y agoThat points to the same page.