后OOP范式

The Post-OOP Paradigm   后OOP范式
Brian Hayes  http://www.americanscientist.org/template/AssetDetail/assetid/17307
翻译:yqj2065

        每一代(学者)都在重新诠释(reinvent)计算机编程的准则。在1950s,关键性的创新是类似Fortran and Lisp的编程语言;而1960s and '70s 我们目睹了“面条式代码”(spaghetti code)的挖墓运动并代之以“结构化编程”;自1980s以来,软件开发则由被称为面向对象编程即OOP的方法学(methodology)主导。时至今日,有迹象表明,OOP似乎人老珠黄(out of oomph),不满意的程序员们又一次铸造下一个伟大的理念。
        是时候了,要看看在后OOP纪元(可能是不合适的简称)有什么在等着我们。

焦油坑yqj2065

        对于最早期的计算机系统,其构建师给与软件(未来十年仍然不变的非常词汇)很少的关注。构建机器本身则是最严重的智力挑战,而把数学公式转换成程序语句如同书记员的日常工作(a routine clerical task)。一个可怕的事实很快出现在人们面前,Maurice V. Wilkes——他写出了首个可工作的计算机程序【注1】,在1949年,说出了其个人的顿悟(epiphany ):“这种认识以排山倒海之力淹没了我,我的后半生所有的好时光都将用于寻找我程序中的错误”【2】半个世纪之后,我们仍然在找虫子(debug)。
        [1]1967 Maurice V.Wilkes因设计出第一台具有内置存储程序的计算机而获奖,运行于英国剑桥大学数学实验室的第一台存储程序计算机--EDSAC。
        [2]很难翻译喔:the realization came over me with full force that a good part of the remainder of my life was going to be spent in finding errors in my own programs。

        最早的程序是用纯粹的二进制符号编写的:数据和指令都被编码成长长的、毫无特征的1和0 的串。而且,它依靠(up to)程序员对机器内存中保存的每一个东西进行追踪(track )。在你调用一个子程序(subroutine)之前,你还得计算它的地址。

你可能感兴趣的:(编程,oop,存储,lisp,fortran,subroutine)