现在计算机已经越来越背离传统的冯.诺意曼计算机了。过程式语言不适合并行计算。
Niklaus Wirth设计了Pascal语言。他有个著名的论点: 算法 + 数据结构 = 计算机
程序。如果编译器能聪明到理解算法,找出其中可以并行计算的部分。这样应用软
件从串行计算过渡到并行计算时不用重新改写。我十几年前就看到不少人在做这方
面的工作,但没见到有实用的编译器问世。所以过程式语言早晚要走向没落。
Robert Kowalski是逻辑程序设计的开创人之一。他提出:逻辑 + 控制 = 算法。如
果程序员只负责算法的逻辑部分,由计算机来负责算法的控制部分,计算机可以根
据需要,把一个大任务分解成若干小任务,分配给数个处理器执行。那么应用软件
从串行计算过渡到并行计算顶多只是重新编译一下的事。
随着多核处理器普及,C++/C#/java这类过程式语言早晚要走向没落。
所有跟帖:
•
加州老李,小弟看多核不是正解,是短期利益的产品
-cloudate-
♂
(770 bytes)
()
10/29/2010 postreply
14:38:41
•
见解深刻!
-π-
♂
(278 bytes)
()
10/30/2010 postreply
06:06:04
•
瓶颈是软硬件设计共同造成的,多核肯定是趋势
-flywhc-
♂
(1454 bytes)
()
10/30/2010 postreply
18:14:05