編程語言Objective-C的發明者Brad Cox前不久在弗吉尼亞州的家中去世,享年76歲,
Brad Cox是著名的計算機科學家,他發明的面向對象編程(OOP)語言Objective-C后來成為了蘋果OS X和iOS設備App的主要開發語言,
此外,他還在軟體工程、軟體組件等方面做出過重要貢獻。
Brad Cox本人也衷心于教育,1991年他出版了《面向對象程式設計:一種進化方法》一書,還致力于通過互聯網開發早期的在線課程。
最后,考克斯博士回到了他最初的神經網路研究,致力于將機器學習和數據科學應用于網路安全,
早年經歷
Brad Cox于1944年出生于佐治亞州的本寧堡,他在傅爾曼大學部主修有機化學與數學,之后又在芝加哥大學部獲得數學生物學博士學位,
在芝加哥大學部那里,Cox從事神經網路的早期研究,1970年,他編寫了一個PDP-8程式來模擬神經元簇,并在《行為研究期刊》上發表了相關論文。
畢業后的Cox進入國際電話電報公司(ITT)工作,后來又加入了Schlumbeger Doll研究實驗室,這里成為他創建Objective-C語言的起點,
發明Objective-C語言
20世紀80年代,面向對象編程成為趨勢,雖然那時已經有Smalltalk這種OOP語言,但是業內需要一種能夠兼容Unix與C環境的OOP語言。
1981年,Cox很快寫出了面向對象的預編譯器(OOPC),它可以將類似Smalltalk的語法翻譯成C語言,這就是Objective-C的前身,
他的領導Tom Love認為,這種面向對象的解決方案很有市場,于是二人一起從公司離職,創建了PPI公司,后來改名為Stepstone,
在PPI公司,Cox把當初的OOPC發展成了Objective-C。
他認為Objective-C將引發一場軟體工業革命,因為這種語言創造了“預生產軟體組件”(software-IC)市場,
后面的故事,果粉應該很熟悉了,
1985年的喬布斯被排擠出Apple,創立了NeXT電腦公司,此后,NeXT成為Objective-C的重要客戶,其操作系統NeXTSTEP都用上了這種語言來做開發。
雖然喬布斯創立的NeXT在硬件方面未能站住市場,但是在軟體方面卻大獲成功,
1994年,Cox創立的Stepstone倒閉,Objective-C的所有權利都被NeXT收購,
1997年,NeXT被蘋果收購,喬布斯以這種方式重返蘋果,NeXT的軟體系統被安裝在Macintosh電腦上,并發展成為OS X操作系統。
Objective-C也順理成章地成為了蘋果電腦OS X系統的開發語言,后來又隨著2007年iPhone的橫空出世,被越來越多的開發者使用。
時至今日,我們仍能在Objective-C語言中看到Brad Cox的痕跡:變量類型的前綴NS就是當年NeXTSTEP操作系統的縮寫。
雖然蘋果于2014年推出了Swift語言意圖取代之,但Objective-C現在仍是iOS的主要開發語言之一,
軼事
盡管Cox發明了編程語言Objective-C,但他在2019年接受《編程大師》專訪時表示,他本人對編程語言不感興趣,他認為語言只是構建和組合軟體各部分的工具。
一次Brad Cox與妻子在旅行過程中遇到一對德國夫婦,與他們交談,發現對方是一名程式員,Cox表示自己也是程式員,然后雙方開始了以下對話:
“你是做什么的?”
“我發明了Objective-C語言。”
“不,那是Brad Cox做的,”
“我就是Brad Cox。”