Often times I hear people say that it’s unnecessary, or even harmful, to declare the language/framework in a project’s description. I dissent from this argument based on one very simple fact:
They are a useful filter to determine which projects I wish to prioritize taking a look at, which projects I could possibly hack on, and which libraries I could use.
- I do not enjoy cloning a repository and figuring out that it only supports C++, when I was looking for a C library.
- Anything written in Go is, in my experience, quite pleasant to hack on. Most Go code I read is quite idiomatic and well-documented. (Except, of course, for the usual shenanigans surrounding error handling and zero values.)
- Python code generally has a wide range of quality to expect from.
- I am willing to hack on projects written in Rust, but I need to spend extra time to do so, along with ensuring that I have my more powerful laptop nearby as compiling and using Rust is particularly painful on my slower machines running OpenBSD.
- I am generally unable and unwilling to hack on projects written in Node.js, Ruby on Rails, PHP, C#/.NET, C++, and many other languages/frameworks.
- I cannot run server software written in Node.js due to RAM constraints.
I am familiar with particular languages and “frameworks”. I don’t always have the time to learn something completely new to hack on a project. Many of the “stereotypical” performance characteristics of certain languages/frameworks (yes, Node.js) are quite representative of most programs written in it.