5 ms·
The Go programming language is not only partly inspired by Wirth's work (Robert Griesemer, one of the "founding fathers" of Go, studied at ETH Zürich), it also
by rob74 3y ago
The Go programming language is not only partly inspired by Wirth's work (Robert Griesemer, one of the "founding fathers" of Go, studied at ETH Zürich), it also has this goal of simplicity: it started out with fewer (but powerful and unfortunately often underestimated) features than other languages, and while it has added more complexity over the years (modules, generics, ...), this has happened at a much slower rate than with other languages.
- pjmlp 3y agoIts "simplicity" is a reason why it depends so heavily on compile time code generation across the ecosystem.
- thadt 3y agoOne might argue that a lot of languages depend heavily on compile time code generation. Just because Rust's macros, or C++'s template metaprograms are sweeping their generated code under a stylish rug doesn't mean it's not happening. Slowly.
- guappa 3y agoIf being simple gives us go, perhaps we should try to drop simplicity for simplicity's sake and accept that complicated things might be needed occasionally? Go is a modern programming language, which suffers from a lot of issues that were well known at the time of its creation.
- zeroc8 3y agoAnd yet a lot of modern software is written in it and people seem to be happy using it. Let the music do the talking.
- guappa 3y agoThis exact comment could have been written 10 years ago about C and 15 years ago about visual basic.
- dualogy 3y agoThat's not even the same ballpark. C is timelessness itself. The comment could have been written 30 years ago, or 30 years hence. Nice try!
- pjmlp 3y agoHad it not been for UNIX being free beer on its early decade, and C would have hardly made a mark on the computing world.
- unscaled 3y agoAnd before that FORTRAN, COBOL and Assembly.
- pjmlp 3y agoMany of us use Go, because we have to. Besides being a saner alternative to C in regards to userspace stuff, and also bare metal stuff (for the belivers in automatic memory management), there isn't much else about it in language features to call home about.
- Rochus 3y ago> Go is a modern programming language Is it? What in particular makes it "modern"?
- Rochus 3y ago> The Go programming language is not only partly inspired by Wirth's work There are very little similarities between Go and Wirth's languages. R. Griesemer's doctoral supervisor was H. Mössenböck, not N. Wirth.
- rob74 3y agoYou don't have to take my word for it, here's a graph from the Go Programming Language book: https://www.oreilly.com/api/v2/epubs/9780134190570/files/graphics/influences.png https://www.oreilly.com/api/v2/epubs/9780134190570/files/gra... The most visible Pascal-family influence is the variable declaration syntax ("i int" instead of "int i" as in C et al).
- Rochus 3y agoUnfortunately, this graph is at least misleading, if not wrong. The middle path is overly prominent; the detour to Object Oberon (probably so that Griesemer's name is represented) is amusing. Actually there should be a direct line from Newsqueak to Go. Aleph's brief intermezzo is mostly historically relevant for Go, not technically. The path from C should actually point primarily to Newsqueak (in addition to Pascal). Technically, there would be a very thick arrow from Newsqueak to Go, a slightly less thick from C to Go, and a very thin one from Oberon-2 and a few other languages. But as a highly simplified representation of the languages and people directly and indirectly involved and the chronological sequence, the graph is ok.
- kragen 3y agoit's true that golang is basically newsqueak with structural interface types, but newsqueak is pretty obviously strongly pascal-influenced. i agree that newsqueak shows significant c influence, but in most of the ways that c and pascal differ, it follows pascal. and it seems unavoidable that griesemer spending his grad school at wirth's school hacking on wirth's language oberon would have influenced the taste he applied to golang
- 3y ago