Mailing List Archive


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

Re: [tlug] From an enthusiast TLUG follower



On 2020-08-28 14:23 +0200 (Fri), Josh Glover wrote:

> Oh, I did once have to write a server that listened to UDP multicast on
> one network interface and exposed the packets on a TCP socket on another
> network interface, and that was like 20 lines of Go, so I guess that's an
> exception to the rule? ;)

No. That's about 20 lines in any language.

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.

I have no idea why the Go folks keep banging on about "generics" or
whatever the heck it is that they are debating adding to their type system
when they are missing much more essential, obvious and easy stuff like
proper algebraic data types. In the meantime, C. A. R. Hoare's "billion
dollar mistake" (surely an underestimate) gets another billion or two added
to it by Google, though Google can certainly afford it.

> Are you still Haskelling hard, Curt?

Sadly not. I've more or less given up on trying to convince people to
program using any ideas that their bosses weren't using twenty years ago
when they were using ideas at least twenty years old at that time.
Developers eventually will come around, I think, but it ain't gonna be
quick because "new" stuff that's just re-wrapped old stuff polished shiny
(Ruby on Rails I'm looking at _you_, thanks for being the new PHP) keeps
halting progress for a decade or more.

What? Bitter? Me? :-)

(Well, no, not really, actually. These days I'm just happily mucking about
with old 8-bit systems and gluing chips together.)

cjs
-- 
Curt J. Sampson      <cjs@example.com>      +81 90 7737 2974

To iterate is human, to recurse divine.
    - L Peter Deutsch


Home | Main Index | Thread Index