五个软件思想将很快过时(转载)

五个软件思想将很快过时

21世纪之前,计算机软件在很大程度上是为了克服硬件缺陷。在21世纪,这些硬件的限制将不复存在。Chuck Thacker说,在容量和速度方面,我们都拥有了强有力的计算机,我们将开始重新思考怎样编写软件;同时,我们以前采用的一些软件思想也将过时。
Chuck Thacker认为,第一个过时的软件思想是虚拟内存(Virtual Memory)。提出虚拟内存的最初原因是真实内存价格比较高,只好采用在硬盘上开辟某一块空间作为虚拟的内存。但由于硬盘速度所限,虚拟内存的速度远远不如真实内存。后来,在这个需求之外,虚拟内存还为了解决地址空间不够和额外保护问题。但随着内存价格的大大降低,虚拟内存失去了主要作用,同时,因为硬盘速度成为整个系统的瓶颈,也导致虚拟内存成了“鸡肋”。然而,目前主要的操作系统依然保留了虚拟内存这一已经过时的设计,尽管用户可以不使用它。不过,在现代程序设计语言中,虚拟内存的使用已经越来越少了。
Chuck Thacker认为,第二个过时的软件思想是目录型文件管理系统(Hierarchical file systems)。这个设计思想最初的目的是为了让用户提高对文档或信息的管理效率,让用户有一个看上去熟悉常规的方式。但是,它现在已经造成了严重的问题。例如,仅仅安装Windows和Office就需要45000个文件,这些文件分布在复杂的文件目录中,用户不可能很快找到自己需要的某个文件。现在,一个人采用这种结构管理文档和信息,6个月以后他就会被淹没在迅速增加的文档和信息海洋中。Chuck Thacker认为,最好的管理方式是采用全文检索式的管理方式。也就是说,把互联网上的搜索技术引进到个人计算机中来。目前,Google等搜索引擎提供商相继发布的桌面搜索就是一个很好的验证。
Chuck Thacker认为,第三个过时的软件思想是通过测试来验证软件质量(Verifying software quality by testing)。现代软件中的参数设置越来越多,有些软件的参数设置上万个,软件源程序代码超过百万行,要通过测试找出其中所有的Bug,越来越难,而同时,因为软件的庞大,问题往往是并发性的,每个Bug可能导致致命灾难的几率也因此大大提高。Chuck Thacker,这就需要更多标准化的方法,例如,硅谷研究人员推出的TLA+,它把一种规格语言与模型检查结合起来。Intel在设计新的协议时就经常使用这种方法,这个方法为他们节省了很多的资金。
Chuck Thacker认为,第四个过时的软件思想是低级编程语言(Low-level programming languages)。低级编程语言(如机器语言和汇编语言)可以自由调用内存资源,这种自由导致了很多系统不稳定的问题。如果使用Java或C语言等高级编程语言,则可以自动管理内存资源,使很多以前经常出现的错误成为不可能。同时,程序员也不会遇到像使用低级编程语言时需要了解硬件细节那样的问题,使软件的Bug率大大降低。
Chuck Thacker认为,第五个过时的软件思想是单线程程序(Single-threaded programs)。在单一处理器系统中,没有什么理由让人们使用多线程程序,而且,多线程往往还会导致系统效率下降。今天,多处理器系统或“伪多处理器系统”(如多核、超线程等)越来越多,多线程也就成为未来的普遍需求。理论上,在多处理器系统中,多线程程序比单线程程序效率要高得多。当然,要把一个单线程程序修改为多线程程序并有效管理这些线程,需要很多额外工作,这也是我们未来需要做的主要事情之一。

这位德雷珀奖获得者最后认为,无限的存储能力、标准化技术的大量使用、多线程技术等新的软件思想,将改变软件设计的未来,同时也将改变我们的未来。他最后对研讨会上的大学生说:“我有些嫉妒你们,因为你们有机会影响和创造未来,因为,今后这个行业会和35年前我进入这个行业时一样有活力。”

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值