我们正在接近计算能力的极限-我们需要新的程序员

越来越多的加速处理器导致了膨胀软件的出现,但是物理上的限制可能迫使我们回到过去使用的代码的更适中版本




早在1960年代,英特尔的创始人之一戈登·摩尔就注意到,可装在硅芯片上的晶体管数量大约每两年翻一番。 由于晶体管的数量与处理能力有关,因此实际上这意味着处理能力每两年翻一番。 因此, 摩尔定律诞生了,它为计算机行业的工作人员(至少是为四十岁以下的人)提供了与牛顿运动定律为机械工程师提供的可靠基础。

但是他却有一个区别。 摩尔定律仍然只是一个经验相关性,在一段时间内可以观察到,因此我们终于达到了它的适用性极限。 在2010年,摩尔本人曾预测物理定律将阻止这种指数级增长。 他说:“关于晶体管的尺寸,很明显,我们已经接近原子的尺寸,这是一个基本的障碍,但是到现在为止,两到三代仍然会改变-但是,我们无法预测进一步的发展。 在达到基本极限之前,我们还有10到20年的时间。”

现在我们已经到了2020年,我们将始终拥有足够强大的计算设备来满足不断增长的需求的想法开始显得过于自信。 而且,对于从事该行业几十年的人来说,显而易见的是,已经进行了许多有关将越来越大的计算能力填充到机器中的巧妙方法的研究,例如,多核体系结构中的CPU具有两个或多个独立的计算模块或“核心”。 所有这一切都是为了推迟那糟糕的一天,即硅芯片的操纵空间不足(例如,新的Apple Mac Pro在28核Intel Xeon处理器上运行)。 而且,当然,量子计算机的研究正以惊人的速度发展,从原理上讲,这可能是一个里程碑式的突破。

但是计算需要硬件和软件的结合,摩尔定律的可预见的后果之一是,他使程序员变得懒惰。 编写软件是一项复杂的工作,有些软件比其他软件更好。 他们编写了更优雅的代码,更重要的是,它们编写了更快的敏捷代码。 在硬件相对原始的早期,程序员的技能非常重要。 例如,当比尔·盖茨(Bill Gates)小时候,他为最早的TRS-80微型计算机之一编写了BASIC解释器。 由于该机器的ROM大小很小,因此Gates必须将整个程序放入16 Kb。 他用汇编程序编写该文件以提高效率并节省空间。 甚至有一个传说,多年后他可以从内存中引用整个程序。

在计算的早期,您可以找到成千上万个类似的故事。 但是随着摩尔定律的加入,对经济,节俭法典的需求逐渐消失,动机也随之改变。 编程已成为软件工程师的行业准则。 创建流行的软件生态系统,例如操作系统和商业程序,需要大型开发团队的参与; 在此基础上,官僚机构已经从项目经理和执行董事中成长。 大型软件项目变成了死亡大游行,弗雷德·布鲁克斯(Fred Brooks)在1975年出版的著名著作《 神话月 》中最清楚地描述了这一点,从那以后,由于很好的原因,它被重新印刷了-仍然有意义。 在所有这些过程中,该软件肿并且失效。

但这没关系,因为熨斗总是提供新的计算能力,掩盖了hiding 肿的软件software肿的软件的问题。 它经常激怒认真的程序员。 其中一位写道:“我观察到的强大铁的出现的唯一结果是,程序员在上面编写的程序越来越肿。 它们变得更加懒惰,并且由于硬件足够快,因此它们不会尝试学习算法或优化代码。 这太疯狂了 !”

就是这样 在1997年的一次演讲中,曾经是比尔·盖茨(Bill Gates)的高级工程师的内森·米尔沃尔德(Nathan Mirwold)提出了他的四个软件法则:

  1. PO就像气体一样,会膨胀以充满整个储罐。
  2. 该软件会不断发展,直到达到摩尔定律设定的极限。
  3. 软件的增长使摩尔定律成为可能-人们购买新硬件是因为软件需要它。
  4. 软件仅受人类的野心和期望限制。

当摩尔定律的规则即将终结时,根据米尔沃尔德定律得出的结论是,我们只有两种选择。 我们要么收紧我们的野心,要么返回编写更经济,更高效的代码。 换句话说,回到未来。

Source: https://habr.com/ru/post/zh-CN484688/


All Articles