Language Checklist

What features does your new programming language need to succeed in today's fast-paced world?

New Languages Checklist

I've curated this list from a discussion kicked off by Jake Wood in the CoRecursive Slack in February 2024. Thanks to Adam Gordon Bell for creating this community of programmers!

What follows is a list of super-serious, definitely not sarcastic features that any new programming language must include, from the moment of first public release, in order to be taken seriously by real programmers (TM).

(Contributed by Jake Wood):

  • compiler
  • type checking
  • linter
  • code formatter
  • language server
  • debugger
  • profiler
  • package manager
  • version manager
  • test framework
  • web framework
  • deployment story
  • editor integration with Emacs, Vim, VSCode, Pulsar, etc
  • cryptography lib
  • drivers for PostgreSQL, MySql, Sqlite, Mongo, etc
  • must be able to build web apps
  • must be able to build native apps (cross platform)
  • compiler must be cross platform
  • super fast compilation times
  • easy to learn
  • a book on the language from a reputable tech publisher
  • a podcast

(Contributed by Claro creator Jason Steving):

  • Corporate sponsor(s)
  • Charismatic leader (who's already famous)
  • Community of users (who magically appear on day 1 because of said corporate sponsors and charismatic leader)
  • conference talks on YouTube
  • stickers!

(Anonymous Contributors):

  • Docs
  • Stdlib
  • is statically typed
  • is dynamically typed
  • (re)implemented in Rust or Go
  • the conference called LANGcon
  • Courses on Udemy
  • StackOverflow tags
  • A non profit guiding the Development
  • a schism between purists and not
  • Lisp, scheme etc implementation in the language
  • Slack channel
  • Advent of Code
  • dueling blog posts arguing over whether it is more or less safe than rust
  • REPL
  • inoffensive mascot
  • cool logo
  • a catchy, unique, short, and searchable name
  • job postings requiring 3+ years of experience
  • self hosted compiler
  • easy to learn
  • backwards compatible
  • Syntax highlighted by GitHub

Related Work

If you are implementing an array language, you must also complete this form. For all other language types, complete this form.