Nate Finch, a Go developer, writes about the Go language, its tooling and design debates, plus Hugo and remote work.
HN commenters cite it for Go criticism, the Go 2 contracts proposal, and as influential on their thinking, and mention his posts on Hugo and TOML.
I read through this yesterday and I'm fairly confused about all that.
1. This is a long proposal. Excluding the implementation/issues/comparison parts, it clocks in at 7700 words. Compared to the 27k-word long Go spec, this is epic. I know the proposal is more verbose than the eventual spec (if accepted), but still...
2. There are some valid points in Nate Finch's criticism of the previous proposal (https://npf.io/2018/09/go2-contracts-go-too-far/). Be it philosophical arguments or just plain syntax ones - like writing `func (...)(...)(...)` in function declarations.
I don't know. I'd like some form of generics in the language, but I'm not sure if complex designs like this are likely to be embraced by the community.
The nice thing about Hugo is that there's no install step. Just download and run with zero dependencies. Plus it's literally 100 times faster than jekyll. Friend of mine with a large blog (1000-ish posts) has to wait over 5 minutes for jekyll to render his whole site. He tried Hugo with the same site: 1 second. This enables live reloading in a local browser whenever you change anything in your site, which is super handy.
My first post about Hugo on my (obviously) Hugo-powered site: https://npf.io/2014/08/hugo-is-awesome/
I have been hem-hawing for years on what my next programming language to invest time into learning should be and I found this comment extremely informative. After verifying that what you said about their design goals for Go wasn't a strawman, I got curious about criticism against Go. I did some googling and found this:
http://npf.io/2014/10/why-everyone-hates-go/
At that point you're not writing JSON though. Once you start bolting on non-standard bells and whistles, why not recognize that JSON was never meant to be used for config files, and switch to something that was, like TOML [0]?
0: https://npf.io/2014/08/intro-to-toml/
This was a big influence on my thinking: https://npf.io/2016/10/reusable-commands/