The State of JS blog posts have some great visualisations exploring dev attitudes to languages and tools:
miniblog.
Related Posts
It seems really odd to me that git uses 'cached' terminology for staging. For example, `git add somefile.rs; git diff --cached`.
Caching implies state that you don't mind losing. There's very little state I want to lose in version control!
Today I learnt that Racket *intentionally* doesn't have a traditional REPL workflow. The authors were concerned about students not understanding the state between the current session and the code on disk.
(Arguably Jupyter has some of these features now.)
One nice feature of cargo that I wasn't previously aware of: you don't need to do anything after updating your Cargo.toml.
In npm, you need to remember to `npm i` after changing package.json. It's not declarative and the state can get out of sync.
