编程语言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语言的起点。
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年的乔布斯被排挤出苹果公司,创立了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
— 完 —
本文系网易新闻•网易号特色内容激励计划签约账号【量子位】原创内容,未经账号授权,禁止随意转载。
图书推荐
▊《跟戴铭学iOS编程:理顺核心知识点》
(阿里巴巴高级技术专家详解iOS编程)
戴铭 著
本书针对 iOS 应用开发涉及的核心知识点进行详细剖析,分为 Swift、编译器、iOS 中的大前端技术三大章,从应用、进阶、未来三方面全方位剖析 iOS 开发。第1章从 Swift 源码和第三方库源码层面来分析iOS开发在实际工作中的常用核心知识,包括数据类型、编程范式、内存管理、网络处理、页面布局、完整的转译器和解释器等内容。第2章通过分析 LLVM 源码、编译后的可执行文件内部结构、链接器来讲解 iOS 开发进阶知识,同时介绍在实际工作中的应用场景和示例。第3章介绍在未来的iOS “大前端浪潮”中需要掌握的核心知识,包括 JavaScriptCore、WebCore 等。
本书适合对 iOS 有兴趣的开发人员学习,也适合经验丰富的 iOS 开发者和对编程语言本身有兴趣的人员参考。
(扫码了解本书详情)
如果喜欢本文欢迎 在看丨留言丨分享至朋友圈 三连
热文推荐
博文视点B端产品书单丨开启B端时代决胜指南!Linux:为什么性能工具需要 BPF 技术
盘点12个Python数据可视化库,通吃任何领域
豆瓣9.5分,它是Scala领域当之无愧的王者之作!
▼点击阅读原文,获取本书详情~
本文分享自 博文视点Broadview 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!