Niklaus Wirth設計了Pascal語言。他有個著名的論點: 算法 + 數據結構 = 計算機程序。理想的情況是編譯器能聰明到理解算法,找出其中可以並行計算的部分。這樣應用軟件從串行計算過渡到並行計算時不用重新改寫。我十年前就看到不少人在做這方麵的工作,但沒見到有實用的編譯器問世。
Robert Kowalski是邏輯 程序設計的開創人之一。他提出:邏輯 + 控製 = 算法。如果程序員隻負責算法的邏輯部分,由計算機來負責算法的控製部分,那麽應用軟件從串行計算過渡到並行計算頂多隻是重新編譯一下的事。