Perhaps we should consider package managers to be more foundational than programming languages.
npm: Javascript, Typescript, CSS
distro packages: C, C++
maven: Java, Clojure (to some extent)
NuGet: C#, F#
opam: OCaml, Coq
miniblog.
Related Posts
I've released difftastic 0.62! In this release:
* Updated parsers for Bash, C, C++, C#, CSS, Go, Haskell, HTML, Java, JavaScript, JSON, Julia, Lua, Objective-C, OCaml, PHP, Python, Ruby, Scala, TOML, TypeScript and XML.
* Obligatory crash fixes.
I really like the one-module-per-file model of JavaScript or Python.
If you're storing code in files, you might as well leverage file boundaries. If modules are a separate abstraction (e.g Rust, OCaml), it's harder to learn and choose how to organise code.
One cute property of the typescript/javascript relationship is that you can toggle whether (and when) you want static types.
At ~500 LOC I realised I had an error handler I'd refactored but missed an argument at a call site. Time to try some typescript!

