Tooling for a good programming language

A good programming language comes with tooling that makes it easy to use and hard to mis-use.

Code quality analyser

Code quality tooling comes in various forms:

Package management

To do: everything about this

To do: security analyser for dependencies. e.g. bundle audit, yarn audit, etc. Ideally also an auto-fixer.

Testing framework

A good programming language comes with a testing framework built-in.

To do: Rely on convention to find a place to store specs, or integrate it into the language? For example, Go’s approach to putting tests in-line, with the _test file name suffix, is integrated into the language


A good programming language needs the ability to generate and consume documentation:


Possibly not related to tooling around the programming language itself, but being able to install it easily, without having to deal with dependencies manually, would be ideal. A simple brew install would be perfect, even if a brew tap is needed (and similar for other OSes).

Note last edited November 2023.