The Montreal Problem: Why Programming Languages Need a Style Czar

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • lints

    Official Dart lint rules; the core and recommended set of lints suggested by the Dart team.

  • Same with Dart. You may not like the style too much, but at least it's consistent and everyone uses it.

    Dart also has a kind of "standard lints" (one for Flutter, one for just Dart): https://dart.dev/tools/linter-rules

    Even though you can write your own lints to verify every little detail of the code, the fact that standards exist is great.

    Check out the rules enabled by the default lints, it's pretty amazing: https://github.com/dart-lang/lints/blob/main/rules.md

  • linter

    Linter for Dart.

  • Same with Dart. You may not like the style too much, but at least it's consistent and everyone uses it.

    Dart also has a kind of "standard lints" (one for Flutter, one for just Dart): https://dart.dev/tools/linter-rules

    Even though you can write your own lints to verify every little detail of the code, the fact that standards exist is great.

    Check out the rules enabled by the default lints, it's pretty amazing: https://github.com/dart-lang/lints/blob/main/rules.md

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • ganja.js

    :triangular_ruler: Javascript Geometric Algebra Generator for Javascript, c++, c#, rust, python. (with operator overloading and algebraic literals) -

  • Some people's brains just work this way. Here's an example of a somewhat popular and regularly maintained library written in a similar style: https://github.com/enkimute/ganja.js/blob/6e97cb45d780cd7c66...

    Once your learn to recognise the commonalities, you'll see examples everywhere. The most extreme and stereotypical version is the billboards written by some homeless people. You can probably picture it already in your mind's eye: A wall of very dense text with little whitespace or structure, and a mix of fonts and colours seemingly at random.

    I had a brilliant mathematician friend who wrote like this. He would squeeze and entire semester's worth of study notes into a single sheet of paper, on one side. It was impenetrable gibberish to everyone else, but the colours and 2D positioning let him build a mental mind-map.

    For people like this, if you reformat their code even a tiny bit, their mental map is invalidated, and they lose track of it completely and become upset. I discovered this (the hard way) when applying automatic code formatting tools to the codebases I mentioned previously.

    Personally, I find this type of thing to be absolutely fascinating, because it's the intersection of many fields of study, and hence is under-studied. There's elements of pedagogy, psychology, literacy, compute science, etc...

    It's an open question how we can get large groups of neurodiverse humans to collaborate on a codebase when they don't even "read" or "think" in compatible ways!

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts