Best Way to Advertise a Programming Language

10 hours ago 1

By Robert Smith

TL;DR: The best way to advertise your favorite programming language is by writing programs. The more useful the program is to a wider audience, the better advertisement it will be.

I’m a Common Lisp/Coalton programmer. Lisp was historically at least twice fashionable, and it’s not coincidental that it was fashionable during times people were writing Lisp code to actually get work done. It’s not fashionable today, but it does have a not-insignificant following and a stable ecosystem. Because Lisp isn’t fashionable, some of its programmers have felt an impetus to sell Lisp to the wider audience of programmers. The Lisp sales pitches range from the reasonable (“Lisp is fast, flexible, and stable.") to the misleading (“Lisp can express every programming paradigm easily.") to the outright bizarre (“Lisp is your gateway to a higher intellectual plane."). I do think there’s still room to make an interesting and convincing pitch for Lisp in 20251, but any pitch will eventually be rebuffed with:

If Lisp is so good, why isn’t everybody using it? Where are all the programs written in Lisp?

The common counter-riposte is something like “popularity ≠ quality”, a platitude if there ever was one.

I’m saving a deeper discussion about Lisp specifically for a different post—one that’s still brewing and is at 3,700 words and counting. But Lisp isn’t alone here, and it’s not even the most defended language in certain corners of the internet. Haskell is another example of a language meeting the same demise of argument. Haskell, for all of its fantastical progress in its 35 years of existence, for its sizable group of staunch disciples, and for its amazing compiler, only maintains some 0.4%2 of GitHub’s active users.

This post isn’t intended to be about Common Lisp or Haskell specifically, but they are useful specimens for inquiry. Both Common Lisp and Haskell have existed for a technological eternity, and I think it’s reasonable to examine the question, “where are all the programs?” For this exercise, I’ll look at GitHub3. I want to look for all projects which satisfy the following four criteria:

  1. The project should have no fewer than 10% of the stars of the top repository. For Common Lisp that threshold is 1,000 and for Haskell it’s 3,800.
  2. The project should represent a software product whose users don’t need to know the language it’s written in. That means, among other things, no libraries.
  3. The project should represent something realistically useful and not experimental in nature. That means, among other things, no operating systems, obscure programming languages, etc.
  4. No defunct, archived, or archaeological projects. For example, Reddit 1.0 was written in Lisp but it’s not used anywhere anymore.

Here’s what I got for Common Lisp:

  1. Nyxt, a keyboard-driven graphical web browser over WebKit.
  2. pgloader, a PostgreSQL migration tool.
  3. Trial, a game engine in Common Lisp. (This breaks my Rule #2, however, because Trial was used to ship the video game Kandria on Steam, I’ll use it as a proxy for Kandria.)
  4. Maxima, a computer algebra system. (Maxima isn’t actually on GitHub, so consider it listed solely on my grace to make this list look a little less pitiful.)

Here’s what I got for Haskell:

  1. pandoc, the universal markup converter.
  2. ShellCheck, a static analyzer for shell scripts.
  3. PostgREST, a REST API for PostgreSQL databases.
  4. hadolint, a Dockerfile linter.
  5. PureScript/Elm, programming languages adjacent to JavaScript. (These barely skate by my Rule #2.)
  6. Unison/Carp, more programming languages. (These barely skate by my Rule #3.)
  7. xmonad/kmonad, a window/keyboard manager.
  8. duckling, an engine for data validation.

For the sake of comparison, for Python:

  • The top repository has 362,000 stars.
  • youtube-dl/yt-dlp is the top “normie” program. This is extremely important because such a program could have been written in any language easily.
  • There are 11 pages of results that exceed my self-imposed 10% threshold of 36,200 stars.

And for Zig, whose market share is a mere rounding error of Python’s, almost all of the projects in the top listing are actual programs people can use, such as Bun, Ghostty, Tigerbeetle, Lightpanda, and dockerc. The first page of Zig’s results alone have far more programs than the entirety of Common Lisp’s modern corpus. In contrast to Haskell, it’s not full of linters and compilers, which appear to be a Haskell programmer’s favorite.

GitHub and stars are an imperfect indicator. Why shouldn’t my terminal program for simulating Conway’s Game of Life be counted among the corpus of Lisp programs? It’s neither discoverable nor useful4. It was a proof-of-concept hack that was never brought to a logical conclusion. I feel similar sentiments toward the multitude of other extremely niche programs.

All of this is to say that there really is a dearth of programs that one can easily find in languages like Lisp or Haskell, which means Lisp and Haskell are relegated to being spoken about exclusively in terms of its hypothetical—or perhaps historical or mathematical—benefits. The idea of a practical benefit is not one that’s simply ergonomic or realizable5, but one that was observed or is gained in actual practice.

Why would real programs used by other people even be a good advertisement? Shipping software means you had to cross the finish line. It means that the entirely of the software development process had to be realized, not just the intellectually stimulating 80% part. Even bigger than this, though, is a sense of practicing what you preach. If you’re on Twitter slamming software written in Go and advocating for Haskell instead, but having no interesting or useful Haskell programs to show, then why would anybody believe you? If Haskell were so good, why aren’t there more programs written in it?

If you should convince other people to use your favorite programming language, you should first convince yourself to write programs in it.

Language evangelism, adoption, and popularity are complex. It’s difficult to compete with marketing, Google budgets, institutionalized education, and so on. Writing programs won’t guarantee you’ll rope anybody in to writing in your favorite language. But, all else equal, as an individual interested in promoting your language, it’s probably your best shot.

Read Entire Article