Mailing List Archive


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [tlug] From an enthusiast TLUG follower



On Sat, 29 Aug 2020 at 23:53, Curt J. Sampson <cjs@example.com> wrote:

Where Go really fails is in being a language with compile-time type
checking, yet being unable to check things at compile time. For example,
say one of the parameters to a function is a compression level, which is in
the set { 0, 1, …, 9 }. You'd think it would be pretty simple to tell the
compiler, "if anybody tries to pass a value outside this set, generate an
error," right? Well, not in Go. I had to change the API of a library to
throw runtime exceptions because of this.

Subrange types were a Pascalian innovation. I don't know of any curly
braces language that adopted them. Do you know of any?

And type safety has never been a concern of C languages and their
descendants either. Why would Go be any different, considering that
it came from the same folks that gave us C.

Once upon a time there were Dykstra, Hoare and Wirth preaching
type safety and their teachings had weight. And then came people
like Linus Thorvalds who thinks he is smarter than all of them put
together and he rants to his cult followers against all that which
Dykstra, Hoare and Wirth stood for, even calling them idiots.

Dykstra is dead and forgotten now, Hoare hasn't stuck his head out
in decades and Wirth abandoned subrange types and enumeration
types in his Oberon language, even adopted C's type promotion
at one point although he's made a u-turn on that in the latest
incarnation, calling it a bad idea.

They also failed to produce a new generation of people to continue
their cause. The notable exception from that tradition is Ada but that
has other issues that are at odds with their cause.

The industry is now ridden with people who think type systems
and strong typing are something that belongs into a museum.

Go reflects that long lasting trend. Sadly.

Home | Main Index | Thread Index