Syntax highlighters need either an extension or a hashbang, else they have to resort to more complicated heuristics.
A common convention on Unix/Linux systems is for executable files to have a hashbang and no extension, and for libraries to have an extension (.pl
, .py
, .rb
, etc.) and no hashbang.
You can’t really have extensionless files on Windows; for example, README
will be recognized as a README file.
Therefore, Markdown certainly does need an extension. Now, I’m not saying there should be just “one true extension”, but a standard would be certainly nice—one that makes sense, i.e. not something like .text
.