What is Language Feel?

There is a certain feel to every programming language. Its syntax, idioms, libraries, error handling, etc. all create a unique feel to each language.

When I open a JavaScript codebase I’m expecting to feel C-like code with some OOP sprinkled in. It’s likely the only time I see === in code. I’m also expecting heavy reliance on libraries and lots of try/catches. When I open a Ruby project I’m expecting an HTML-like syntax with emphasis on functional programming, less error handling, and plenty of libraries. The Ruby project will read more like English and has more “syntax sugar.”

Why is Language Feel Important?

footguns This feel is unique for most languages and the languages I continuously use are ones that have a good feel to them. The ones I advocate for are also the ones that have a good feel to them. Some of my favorites: Dockerfiles, Go and Objective-C. JavaScript didn’t make the list because it’s a bit too quirky.

What Makes a Good Language Feel?

  • Sensible syntax
  • Less footguns (give example of GitHub’s ${{ }} syntax)
    • Maybe include a Solidity example?
  • Bring the features people like in a prev ecosystem to a new one
  • typein Python, typeof in C, type in JavaScript
    • “type” as a variable name in Python is a footgun