現在很多程式設計師可能沒有聽過Pascal這門語言,更別提發明這門語言的人了。但是在編程界的歷史長河中,Pascal卻是有它的一席之地的,而它的創造者更可以進入編程界的名人堂。
尼古拉斯·沃斯1934年出生在瑞士溫特圖爾,是瑞士計算機科學家。說起他的偉大,一句話就可以概括。他是圖靈獎獲得者,而他獲獎的原因就是因為一個公式,「數據結構+算法= 程序」。這個公式的重要程度幾乎可以和愛因斯坦的E=mc2相媲美。
尼古拉斯在1958年讀完大學之後,就去了加拿大的萊維大學讀碩士,之後又去了美國加州大學伯克利分校讀了博士。讀完博士的尼古拉斯就被邀請到史丹福大學剛剛成立的計算機科學系工作。在史丹福大學,他主要的工作就是改進 Algo 60,在改進的過程中,他開發出了自己設計的第一個語言Euler.Euler雖然在實用性上考慮並不十分周到,但在學術上卻非常優美,為編譯器的系統設計創造了一個很好的基礎。在這之後他又相繼創造了PL 360,那時的他可以說已經是世界級的程序語言設計大師了。
科學沒有國界,但是科學家有自己的祖國。尼古拉斯是一個非常愛國的人,他覺得自己學到的一身本領應該報效給國家。於是在1967年他拒絕了在史丹福大學繼續工作的機會,毅然決然地回到祖國。回到祖國的尼古拉斯開始在母校蘇黎世工學院擔任講師,一方面他給學生講課,一方面他在研究一門好用的語言,他希望這麼語言可以更加靈活,控制結構更加方便。就這樣一門跨世紀的程式語言誕生了,它就是Pascal。這是第一門真正意義上的有著數據結構,有著控制結構的程式語言。它的很多設計思想都是空前的,而我們的偉大的c語言要比他晚了4年才誕生。這們Pascal語言最早設計出來就是為了方便教學使用的,可以說尼古拉斯把所有的經歷都投入到了祖國的教育事業裡面了。
尼古拉斯不但給我們留下了結構化程序設計思想的巨大財富,同時,他還引進了很多模塊化思想,可以說,我們今天的程序設計理論很大一部分都來自於尼古拉斯。此外,它還引進了「進程」(process)這一和並發程序相聯繫而產生的重要概念。可以說他的一生都在為程序設計發展貢獻者自己的光和熱。
作為一名講師,尼古拉斯寫了很多書籍幫助學生學習編程設計,《算法 數據結構=程式》,《算法和數據結構》,《Modula-2程式設計》,《PASCAL用戶手冊和報告:ISO PASCAL標準》,《Oberon計畫:作業系統和編譯器的設計》,《Oberon程式設計:超越Pascal和Modula》,《數字電路設計教材》這些書籍直到今天依然影響了很多學習軟體編程的人。
尼古拉斯曾經還參與過Alto計算機的設計與開發工作,而Alto是世界上第一個具有圖形用戶界面的個人計算機系統。可惜這個計算機沒有大力發展,而Apple卻學習了他的技術,推出了Macintosh,在這之後蘋果走上了電腦PC作業系統之路。
此外,尼古拉斯還發明了語法圖,是一種表示形式語法的方式,是巴科斯範式和擴展巴科斯範式的圖形化表示,可以說語法圖的出現,讓人們可以更好地理解程序設計流程。
一切都可以是軟體,但軟體並不是一切。