3 ms·
The response to Martini always confused me. The language and community (at first, anyway) was all about terse identifiers, type inference, interface inference,
by andrewstuart2 9y ago
The response to Martini always confused me. The language and community (at first, anyway) was all about terse identifiers, type inference, interface inference, etc. But then, e.g. with the continual repetition of `if err != nil {}`, or the "just use stdlib" approach to HTTP, it injects a lot of ceremonial verbosity back into the ecosystem.
It's not the verbosity that bothers me. It's the arbitrary "verbosity is bad/verbosity is good" choices that have emerged over time.
- adrianratnapala 9y agoGo is consistently anti-magic, but not particularly terse (although the last time I wrote a Go program next to an equivalent C++ program, it was about 20% shorter). Instead its syntax strives for whatever the hell Rob Pike means by "lightness". Roughly, languages like Java add length by long identifiers and numerous modifiers to convey that something belongs to particular semantic category that behaves in a particular way. Go adds length by having fewers such categories and forcing you to explicitly code up the behaviour. Short identifiers (and proper use of scoping!) are orthognal to this, except insofar as they reduce the pain.
- andrewstuart2 9y agoI guess I'm thinking mostly about the talk Rob Pike gave called "public static void" [1], where he probably describes pretty well what "lightness" means to him, or at least what it meant to him 7 years ago. It seems largely about verbosity. [1] https://www.youtube.com/watch?v=5kj5ApnhPAE https://www.youtube.com/watch?v=5kj5ApnhPAE