[dev] Golang [was Re: Privilege escalation on remote hosts. MANY remote hosts.]

From: Kamil Cholewiński <harry666t_AT_gmail.com>
Date: Fri, 29 Sep 2017 21:21:41 +0200

On Fri, 29 Sep 2017, Anselm Garbe <garbeam_AT_gmail.com> wrote:
> Not sure who came up with that conclusion. Granted, you can solve many
> problems surprinsingly well with plain C. But I consider Go as a
> suckless option because of:
>
> - The only OO-way almost done right
> - CSP
> - statically linked binaries
>
> The GC in Go is a consequence of its concurrency approach -- when you
> solve problems with a high degree of concurrency, maintaining memory
> properly can become a hard task. And Go adopted CSP quite seriously in
> contrast to regular imperative languages that don't even provide
> language constructs that come close.

THANK YOU Anselm.

> - statically linked binaries

This, plus the ease of building and cross-compiling. I want to write
software that other people find easy to try. Most suckless tools are
"git clone; make"; most go programs are "git clone; go build" (or just
"go get"). If you trust my builds, "curl" or "wget" are enough.

High barrier to entry sucks.

> - CSP

TBH I can't imagine doing Judo in a language without first-class
concurrency support - the problem is obnoxiously parallelisable.

The alternatives are: clunky subprocess juggling, bolt-on libraries
(often complex and/or half-baked), or serial execution.

> - The only OO-way almost done right

I have pluggable transports in the works. I found refactoring Go code
more pleasant than any other language. They DID get it right.

Go has its shortcomings, but - let's be honest - as far as modern
languages go, I don't think you can do much better.

<3,K.
Received on Fri Sep 29 2017 - 21:21:41 CEST

This archive was generated by hypermail 2.3.0 : Fri Sep 29 2017 - 21:24:18 CEST