這位改變蘋果的程序員走了,他發(fā)明了Objective-C語言
本文經(jīng)AI新媒體量子位(公眾號ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請聯(lián)系出處。
編程語言Objective-C的發(fā)明者Brad Cox前不久在弗吉尼亞州的家中去世,享年76歲。
Brad Cox是著名的計算機科學家,他發(fā)明的面向?qū)ο缶幊?/strong>(OOP)語言O(shè)bjective-C后來成為了蘋果OS X和iOS設(shè)備App的主要開發(fā)語言。
此外,他還在軟件工程、軟件組件等方面做出過重要貢獻。
Brad Cox本人也衷心于教育,1991年他出版了《面向?qū)ο蟪绦蛟O(shè)計:一種進化方法》一書,還致力于通過互聯(lián)網(wǎng)開發(fā)早期的在線課程。
最后,考克斯博士回到了他最初的神經(jīng)網(wǎng)絡(luò)研究,致力于將機器學習和數(shù)據(jù)科學應(yīng)用于網(wǎng)絡(luò)安全。
早年經(jīng)歷
Brad Cox于1944年出生于佐治亞州的本寧堡,他在傅爾曼大學主修有機化學與數(shù)學,之后又在芝加哥大學獲得數(shù)學生物學博士學位。
在芝加哥大學那里,Cox從事神經(jīng)網(wǎng)絡(luò)的早期研究。1970年,他編寫了一個PDP-8程序來模擬神經(jīng)元簇,并在《行為研究期刊》上發(fā)表了相關(guān)論文。
畢業(yè)后的Cox進入國際電話電報公司(ITT)工作,后來又加入了Schlumbeger Doll研究實驗室,這里成為他創(chuàng)建Objective-C語言的起點。
發(fā)明Objective-C語言
20世紀80年代,面向?qū)ο缶幊坛蔀橼厔荩m然那時已經(jīng)有Smalltalk這種OOP語言,但是業(yè)內(nèi)需要一種能夠兼容Unix與C環(huán)境的OOP語言。
1981年,Cox很快寫出了面向?qū)ο蟮念A(yù)編譯器(OOPC),它可以將類似Smalltalk的語法翻譯成C語言,這就是Objective-C的前身。
他的領(lǐng)導(dǎo)Tom Love認為,這種面向?qū)ο蟮慕鉀Q方案很有市場,于是二人一起從公司離職,創(chuàng)建了PPI公司,后來改名為Stepstone。
△ Stepstone公司舊址
在PPI公司,Cox把當初的OOPC發(fā)展成了Objective-C。
他認為Objective-C將引發(fā)一場軟件工業(yè)革命,因為這種語言創(chuàng)造了“預(yù)生產(chǎn)軟件組件”(software-IC)市場。
后面的故事,果粉應(yīng)該很熟悉了。
1985年的喬布斯被排擠出蘋果公司,創(chuàng)立了NeXT電腦公司。此后,NeXT成為Objective-C的重要客戶,其操作系統(tǒng)NeXTSTEP都用上了這種語言來做開發(fā)。
雖然喬布斯創(chuàng)立的NeXT在硬件方面未能站住市場,但是在軟件方面卻大獲成功。
1994年,Cox創(chuàng)立的Stepstone倒閉,Objective-C的所有權(quán)利都被NeXT收購。
1997年,NeXT被蘋果收購,喬布斯以這種方式重返蘋果,NeXT的軟件系統(tǒng)被安裝在Macintosh電腦上,并發(fā)展成為OS X操作系統(tǒng)。
Objective-C也順理成章地成為了蘋果電腦OS X系統(tǒng)的開發(fā)語言,后來又隨著2007年iPhone的橫空出世,被越來越多的開發(fā)者使用。
時至今日,我們?nèi)阅茉贠bjective-C語言中看到Brad Cox的痕跡:變量類型的前綴NS就是當年NeXTSTEP操作系統(tǒng)的縮寫。

雖然蘋果于2014年推出了Swift語言意圖取代之,但Objective-C現(xiàn)在仍是iOS的主要開發(fā)語言之一。
軼事
盡管Cox發(fā)明了編程語言O(shè)bjective-C,但他在2019年接受《編程大師》專訪時表示,他本人對編程語言不感興趣,他認為語言只是構(gòu)建和組合軟件各部分的工具。
一次Brad Cox與妻子在旅行過程中遇到一對德國夫婦,與他們交談,發(fā)現(xiàn)對方是一名程序員。Cox表示自己也是程序員,然后雙方開始了以下對話:
“你是做什么的?”
“我發(fā)明了Objective-C語言。”
“不,那是Brad Cox做的。”
“我就是Brad Cox。”
Brad Cox訃告:
https://www.legacy.com/us/obituaries/scnow/name/brad-cox-obituary?pid=197454225
Objective-C的起源與發(fā)展:
https://dl.acm.org/doi/10.1145/3386332