扫码打开虎嗅APP
本文来自微信公众号:量子位(ID: QbitAI),作者:晓查,题图来自:Computer History Museum
编程语言Objective-C的发明者Brad Cox,前不久在弗吉尼亚州的家中去世,享年76岁。
Brad Cox是著名的计算机科学家,他发明的面向对象编程(OOP)语言Objective-C后来成为了苹果OS X和iOS的主要开发语言。
此外,他还在软件工程、软件组件等方面做出过重要贡献。
Brad Cox本人也衷心于教育,1991年他出版了《面向对象程序设计:一种进化方法》一书,还致力于通过互联网开发早期的在线课程。
最后,Brad Cox回到了他最初的神经网络研究,致力于将机器学习和数据科学应用于网络安全。
早年经历
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。
Stepstone公司旧址
在PPI公司,Cox把当初的OOPC发展成了Objective-C。
他认为Objective-C将引发一场软件工业革命,因为这种语言创造了“预生产软件组件”(software-IC)市场。
后面的故事,果粉应该很熟悉了。
1985年的乔布斯被排挤出苹果公司,创立了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。”
Brad Cox讣告:https://www.legacy.com/us/obituaries/scnow/name/brad-cox-obituary?pid=197454225
Objective-C的起源与发展:https://dl.acm.org/doi/10.1145/3386332
本文来自微信公众号:量子位(ID:QbitAI),作者:晓查