如果内容只是纯文本,为什么我们要使用文件扩展名?

Why do we use file extensions if the content is just plain text?

据我所知,浏览器将显示在 .txt 文件或 .html 文件中找到的信息,并在其中正确显示 html 标记。我的 g++ 编译器不会停止在包含 lua 代码的 .lua 文件中发出错误信号,但它仍会尝试编译它而不关心扩展名,而 lua 解释器不会甚至打开一个 .cpp 文件,即使我在里面写了一个完美运行的 lua 程序。

那么,如果内容在所有情况下都是文本,为什么我们需要文件扩展名?正如我所说,我可以在一个具有任意扩展名的文件中编写一个 C++ 程序,它会正确地编译它,那么扩展名有什么用呢?

在许多系统上,您可以将扩展与某些应用程序相关联。例如,双击 .cpp 文件将在 C++ IDE 中打开它,而双击 .txt 文件将在默认文本编辑器中打开它。

另一个例子:大多数文本编辑器都有语法高亮,这取决于扩展。

可能还有更多情况下扩展名可用作文件类型的指示器。当然这只是约定俗成,不过是几十年的约定。