这位改变苹果的程序员走了,他发明了Objective-C语言
本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。
编程语言Objective-C的发明者Brad Cox前不久在弗吉尼亚州的家中去世,享年76岁。
![这位改变苹果的程序员走了,他发明了Objective-C语言](https://s3.51cto.com/oss/202101/23/4d609c6cbf3e1269b7904cdbacb23645.jpg)
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语言](https://s5.51cto.com/oss/202101/23/f5cf282b98f593332624c2ae320dd458.jpg)
发明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都用上了这种语言来做开发。
![这位改变苹果的程序员走了,他发明了Objective-C语言](https://s6.51cto.com/oss/202101/23/2fbf31665621af8399fd42835d6328f9.jpg)
虽然乔布斯创立的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操作系统的缩写。
![这位改变苹果的程序员走了,他发明了Objective-C语言](https://s6.51cto.com/oss/202101/23/7e5c04372c4a18278da4b5d7896e683a.jpg)
虽然苹果于2014年推出了Swift语言意图取代之,但Objective-C现在仍是iOS的主要开发语言之一。
轶事
尽管Cox发明了编程语言Objective-C,但他在2019年接受《编程大师》专访时表示,他本人对编程语言不感兴趣,他认为语言只是构建和组合软件各部分的工具。
![这位改变苹果的程序员走了,他发明了Objective-C语言](https://s3.51cto.com/oss/202101/23/86d7a2d681f90381cfd985692bf54e75.jpg)
一次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
相关文章
- 在 Go 里用 CGO?这 7 个问题你要关注!
- 9款优秀的去中心化通讯软件 Matrix 的客户端
- 求职数据分析,项目经验该怎么写
- 在OKR中,我看到了数据驱动业务的未来
- 火山引擎云原生大数据在金融行业的实践
- OpenHarmony富设备移植指南(二)—从postmarketOS获取移植资源
- 《数据成熟度指数》报告:64%的企业领袖认为大多数员工“不懂数据”
- OpenHarmony 小型系统兼容性测试指南
- 肯睿中国(Cloudera):2023年企业数字战略三大趋势预测
- 适用于 Linux 的十大命令行游戏
- GNOME 截图工具的新旧截图方式
- System76 即将推出的 COSMIC 桌面正在酝酿大变化
- 2GB 内存 8GB 存储即可流畅运行,Windows 11 极致精简版系统 Tiny11 发布
- 迎接 ecode:一个即将推出的具有全新图形用户界面框架的现代、轻量级代码编辑器
- loongarch架构介绍(三)—地址翻译
- Go 语言怎么解决编译器错误“err is shadowed during return”?
- 敏捷:可能被开发人员遗忘的部分
- Denodo预测2023年数据管理和分析的未来
- 利用数据推动可持续发展
- 在 Vue3 中实现 React 原生 Hooks(useState、useEffect),深入理解 React Hooks 的