随着多核处理器普及,C++/C#/java这类过程式语言早晚要走向没落。

现在计算机已经越来越背离传统的冯.诺意曼计算机了。过程式语言不适合并行计算。

Niklaus Wirth设计了Pascal语言。他有个著名的论点: 算法 + 数据结构 = 计算机
程序。如果编译器能聪明到理解算法,找出其中可以并行计算的部分。这样应用软
件从串行计算过渡到并行计算时不用重新改写。我十几年前就看到不少人在做这方
面的工作,但没见到有实用的编译器问世。所以过程式语言早晚要走向没落。

Robert Kowalski是逻辑程序设计的开创人之一。他提出:逻辑 + 控制 = 算法。如
果程序员只负责算法的逻辑部分,由计算机来负责算法的控制部分,计算机可以根
据需要,把一个大任务分解成若干小任务,分配给数个处理器执行。那么应用软件
从串行计算过渡到并行计算顶多只是重新编译一下的事。

所有跟帖: 

加州老李,小弟看多核不是正解,是短期利益的产品 -cloudate- 给 cloudate 发送悄悄话 cloudate 的博客首页 (770 bytes) () 10/29/2010 postreply 14:38:41

见解深刻! -π- 给 π 发送悄悄话 (278 bytes) () 10/30/2010 postreply 06:06:04

瓶颈是软硬件设计共同造成的,多核肯定是趋势 -flywhc- 给 flywhc 发送悄悄话 flywhc 的博客首页 (1454 bytes) () 10/30/2010 postreply 18:14:05

请您先登陆,再发跟帖!