WSWhat Scene?

Learn · Developer tools

What is linting in Python, Go and other languages?

Every mainstream language has the same pair. Python has Ruff or Flake8 for linting and Black or Ruff for formatting. Go ships gofmt in the toolchain and uses golangci-lint for checks. Rust has Clippy and rustfmt. The names change, the two jobs do not.

What differs is how much the language settles for you. Go formatting is not a decision anyone makes, because gofmt came with the toolchain and everyone was already using it before opinions could form. JavaScript arrived at the same place much later and much more painfully.

So the useful question in a new language is not which linter to pick, it is whether the community already agreed. If there is a default formatter, use it and skip the discussion entirely. Where there is not, expect to spend some time on it.

Updated August 2026

Want this built, not just explained?