这位改变苹果的程序员走了,他发明了Objective-C语言

新闻 前端
编程语言Objective-C的发明者Brad Cox前不久在弗吉尼亚州的家中去世,享年76岁。

本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。

编程语言Objective-C的发明者Brad Cox前不久在弗吉尼亚州的家中去世,享年76岁。

[[377946]]

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语言的起点。

[[377947]]

发明Objective-C语言

20世纪80年代,面向对象编程成为趋势,虽然那时已经有Smalltalk这种OOP语言,但是业内需要一种能够兼容Unix与C环境的OOP语言。

1981年,Cox很快写出了面向对象的预编译器(OOPC),它可以将类似Smalltalk的语法翻译成C语言,这就是Objective-C的前身。

他的领导Tom Love认为,这种面向对象的解决方案很有市场,于是二人一起从公司离职,创建了PPI公司,后来改名为Stepstone

[[377948]]

△ Stepstone公司旧址

在PPI公司,Cox把当初的OOPC发展成了Objective-C。

他认为Objective-C将引发一场软件工业革命,因为这种语言创造了“预生产软件组件”(software-IC)市场。

后面的故事,果粉应该很熟悉了。

1985年的乔布斯被排挤出苹果公司,创立了NeXT电脑公司。此后,NeXT成为Objective-C的重要客户,其操作系统NeXTSTEP都用上了这种语言来做开发。

[[377949]]

虽然乔布斯创立的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语言

虽然苹果于2014年推出了Swift语言意图取代之,但Objective-C现在仍是iOS的主要开发语言之一。

轶事

尽管Cox发明了编程语言Objective-C,但他在2019年接受《编程大师》专访时表示,他本人对编程语言不感兴趣,他认为语言只是构建和组合软件各部分的工具。

[[377950]]

一次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

 

 

责任编辑:张燕妮 来源: 量子位
相关推荐

2017-07-07 10:32:03

程序员微软AI

2011-05-19 09:08:08

JavaObjective-C

2011-05-11 11:20:26

Objective-C

2014-06-16 10:02:42

SwiftiOSWWDC

2018-01-26 14:41:04

编程Python开发

2014-04-28 09:56:56

Objective-CiOS命名空间

2011-08-05 15:46:32

Objective-C 程序设计

2011-05-18 15:32:02

程序员

2011-08-17 10:29:39

Objective-C预处理

2011-08-04 10:57:33

Objective-C C语言 BOOL

2011-08-18 09:21:17

Objective-C

2014-08-05 13:09:34

Objective-C动态特性

2011-08-10 18:07:29

Objective-C反射

2021-04-13 10:14:12

编程语言PythonJava

2011-07-25 17:31:49

iPhone Objective-

2013-03-27 12:54:00

iOS开发Objective-C

2011-05-11 15:58:34

Objective-C

2013-06-20 10:40:32

Objective-C实现截图

2021-01-29 11:14:15

SQL数据库网状

2021-04-09 15:20:47

编程语言Fortran程序员
点赞
收藏

51CTO技术栈公众号