我们今天认为理所当然的事情在过去并非如此。早期计算机的存储、内存和处理能力都是有限而昂贵的。人们不得不费尽周折,只为到计算机实验室,通宵熬夜以获得计算机使用时间。那时候编程语言的命名更简单,因为命名空间尚未被开发,在 1950 年代和 1960 年代,最初的程序可以“奢侈地”用其所作的事情精确命名:FORTRAN(公式翻译器)、COBOL(面向商业的通用语言))、BASIC(初学者通用符号指令代码)、ALGOL(算法语言)、LISP(列表处理器)。大多数人可能没有听说过 SNOBOL(面向字符串和符号语言,1962),但是稍微猜一猜就可以明白它试图做什么。如果那个时代对面向对象的编程概念有更多了解,我们可能会使用“OBJOL”之类的名字命名——明确命名为面向对象语言,至少按照那时的命名模式会是这样。
PL/I(1964)的大胆值得一提并令人钦佩,它的目标是成为“一种好的编程语言”。这个名字说明了一切:编程语言1。应该不再需要 2、3 或 4。虽然 PL/I 未如设计者希望的那样成为计算机编程的高地,但他们仍然抓住了软件中的一个关键问题:为什么有这么多种语言?早在 1960 年代初,这个问题已被提出。今天的编程语言在很多方面都像是重新发明轮子,
发明如此多语言的目的被认为控制和财富,比如在 Java 语言实现一次编写多个平台运行的时代微软发明了 C#,它不需要多个平台它需要的是控制自己的 Windows 平台。