我1992年对1992年计算机编程问题的看法
2026年6月18日,今天在清理办公室时,我找到了我在1992年写的这篇文章: 在1970年代中期,IBM公司大部分内部编程都是使用一种叫做FORTRAN的计算机语言进行的。他们有一个相当不错的FORTRAN编译器,叫做FORTRAN G编译器。它在将FORTRAN转换为机器指令时速度很快,并且所产生的机器指令有效地实现了预期的行为。然而,IBM决定编写一个新的编译器。这在1970年代中期是非常冒险的,因为编译器是相当复杂的程序,编写起来很困难,IBM愿意投入一个新的编译器所需的巨大资源,实在让人惊讶,因为当时仍然可以使用足够的编译器。IBM花费了数百万美元和数百个程序员年,生产了FORTRAN H编译器,它快速、高效,功能丰富。这是一个优秀的编译器,直到今天仍在使用。这里有一个关键点:编译器程序已经不再难以编写。过去的十五年里,我们对编译器技术和如何编写编译器的理解有了巨大的提高。现在,编写编译器变得如此简单,以至于三年级的计算机科学本科生被期望在一个学期内能交出一个合格的编译器。 现在一个问题:既然我们显然在编写编译器方面比十五年前提升了几千倍,以至于一个本科生在四个月内可以写出一个合格的编译器,为什么IBM没有投入数百万美元和数百个程序员年来生产一个比FORTRAN H编译器好几千倍的超级FORTRAN I编译器? 答案是,编译程序的质量不再是我们编写计算机程序能力的限制因素。程序员所面临的问题不再与编译器的优劣有关。相反,这些问题是方法和语言的问题。我们还不真的知道怎么编程,或者如何管理我们的程序。我们不清楚我们想要说什么或者如何表达。我们没有好的计算机语言来表达我们想要计算机做的事情。我们不知道如何思考编程。总之,IBM之所以不费心去做一个超级FORTRAN I编译器,是因为不管它有多好,它仍然是FORTRAN。计算机编程仍然是一门黑暗的艺术。它不到五十年,谁也还没有很好地掌握它。我们可以制造出比我们会使用的工具要好的工具。
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡