Objective-C之父Brad J. Cox去世,他推动了今天苹果的软件生态[通俗易懂]

Objective-C之父Brad J. Cox去世,他推动了今天苹果的软件生态[通俗易懂]本文转载自机器之心近日,讣告网站Legacy.com发布消息:Objective-C之父BradJ.Cox博士于2021年1月2日在自己的家中逝世,享年77岁。如果你是苹果生态的一位开发者,那你对Objective-C一定不会陌生。这门语言成就了苹果强大的软件生态,也因为苹果硬件的畅销而一路高歌猛进,挺进各大编程语言排行榜的前几名。作为一位计算机科学家,BradCox的主要成就是和TomLove一起创建了Objective–C。此外,他还以在软件工

大家好,又见面了,我是你们的朋友全栈君。

本文转载自 机器之心

近日,讣告网站 Legacy.com 发布消息:Objective-C 之父 Brad J. Cox 博士于 2021 年 1 月 2 日在自己的家中逝世,享年 77 岁。

图片

如果你是苹果生态的一位开发者,那你对 Objective-C 一定不会陌生。这门语言成就了苹果强大的软件生态,也因为苹果硬件的畅销而一路高歌猛进,挺进各大编程语言排行榜的前几名。作为一位计算机科学家,Brad Cox 的主要成就是和 Tom Love 一起创建了 Objective–C。此外,他还以在软件工程(特别是软件重用)和软件组件方面的工作而闻名。

在 Brad J. Cox 去世的消息发布之后,很多人在 Hacker News 上发帖悼念,缅怀他对编程语言演进做出的贡献。其中一位网友写道:

我喜欢 Objective-C,它是一门优美的语言。学习这门语言让我重新发现了自己对于编程的热爱。

当时我还在 Java 的世界里,想要利用业余时间写一个 Objective-C 的无人机程序。虽然后来我放弃了这个想法,但我还是把代码发到了 GitHub 上。用 Objective-C 写东西让我觉得很愉悦,这也是我最有意思的一个业余项目。

最近,我的工作 / 业余爱好主要集中于 Python 和 Go,但我依然庆幸自己曾花时间钻研 Objective-C。回想起来,如果当时没这么做,我今天可能不会成为一名程序员。

感谢 Brad Cox 的工作及其产生的积极影响。

还有人表示,Brad Cox 为自己职业生涯的黄金 20 年开辟了道路,甚至还帮一些人创建了自己的公司。

图片

在悼念的帖子里,也有人曾经有机会和 Brad Cox 共事,ta 表示:「Brad Cox 从不宣扬自己是一个举世闻名的计算机科学家,而是和我们这些普通码农一起肩并肩敲代码。他是一个正直、受人尊敬的人(Mensch)。」

图片

奶牛场长大的程序员

Brad Cox 于 1944 年 5 月 2 日出生于美国佐治亚州的班宁堡。他在一家奶牛场长大,渐渐地他发现自己对科学最感兴趣。求学期间,他拿到了弗曼大学理学学士学位和芝加哥大学数学生物系的博士学位,还从事过神经网络早期形式的研究。

很快,他发现自己对计算机更感兴趣,并在国际电话和电报公司(ITT)获得了一份工作。后来,他加入了 Schlumbeger – Doll Research Labs,并最终组建了自己在康涅狄格州的初创公司,即 Productivity Products International(PPI),后来命名为 Stepstone。在 Brad Cox 的第一个知名软件项目中,他编写了 PDP-8 程序来模拟神经元簇。在进入软件行业之前,他曾在美国国立卫生研究院和伍兹霍尔海洋研究所工作。

Brad Cox 的在线课程「Taming the Electronic Frontier」曾获得 1998 年的 Paul Allen Distance Education 奖。1991 年,Brad Cox 出版了他的书《Object Oriented Programming: an Evolutionary Approach》,1996 年出版了《Superdistribution: Objects as Property on the Electronic Frontier》,这本书被翻译成十种不同的语言。

Brad Cox 曾加入乔治梅森大学的社会与机构学习计划,致力于通过互联网开发早期的线上课程。离开学术界之后,Brad Cox 从事过政府咨询工作,包括与波音公司和五角大楼相关的业务。最终,Brad Cox 回到了神经网络领域,致力于将机器学习和数据科学应用于网络安全。

Cox 博士有很多粉丝,他曾在欧洲开展讲座,在演讲中他演示了如何对软件进行编程。他和他的妻子 Etta 喜欢休闲旅行和潜水,经常一起去加勒比海,伯利兹有他们美好的回忆。在一次潜水之旅的午餐中,Brad 与一对德国夫妇进行了交谈。Brad 问同行旅行者的职业,发现他是一名程序员,旅行者同样询问了 Brad 的工作,他说我也是程序员。于是他们展开了一段有趣的对话:

旅行者问 Brad:「你是做什么的?」

「我写了 Objective-C。」

对方惊讶地说:「不,那是 Brad Cox 写的。」

Brad 回应道:「Brad Cox 正是在下。」

当然,这次潜水之旅后他们又讨论了更多事情。在 Brad 的人生中,这样有趣的事发生过无数次。

Brad 喜欢音乐,会弹钢琴和吉他。早些年,他还是一支乐队的成员,主要演奏蓝草音乐(乡村音乐的一个分支)。他喜欢长时间在林子里散步。此外,他也是一个有幽默感的人。

2017 年,Brad 曾接受过「Computer History Museum」的采访,感兴趣的同学可以点击以下链接观看:https://www.youtube.com/watch?v=1xrL2d5omuA

Objective-C 的历史使命

Objective-C 是一种通用、高级、面向对象的编程语言,顾名思义,Objective-C 的原意就是在 C 语言主体上加入面向对象的特性。任何 C 语言程序不经修改就可以直接通过 Objective-C 编译器,在 Objective-C 中使用 C 语言代码也是完全合法的。它扩展了标准的 ANSI C 编程语言,将 Smalltalk 式的消息传递机制加入到 ANSI C 中。目前主要支持的编译器有 GCC 和 Clang(采用 LLVM 作为后端)。

它的两位共同发明者是 Brad Cox 和 Tom Love,二人在 ITT 公司任职期间,对 SmallTalk 语言产生了浓厚的兴趣。但当时 ITT 公司更加重视 C 语言,因此 Brad Cox 撰写了一个 C 语言的预处理器,打算使 C 语言具备些许 Smalltalk 的本领。很快,一个可用的 C 语言扩展诞生了,这就是 Objective-C 语言的前身。

图片

Tom Love。

1983 年,Cox 与 Love 合伙成立了 Productivity Products International(PPI)公司,将 Objective-C 及其相关库商品化贩售,并在之后将公司改名为 StepStone。

1986 年,Cox 出版了一本关于 Objective-C 的重要著作《Object-Oriented Programming, An Evolutionary Approach》,详细阐述了 Objective-C 的设计理念。

图片

目前,Objective-C 的商标权属于苹果公司,苹果公司也是这个编程语言的主要开发者。1988 年,乔布斯被赶出苹果公司后,其创办的 NeXT Computer 公司买下了 Objective-C 语言的授权。随后在 1996 年,苹果收购了 NeXT 公司,旗下的操作系统 NeXTSTEP 被重命名为 Cocoa,WebObjects 则集成到 Mac OS Server 和 Xcode 中。Objective-C 自然而然成为 Mac 平台的首选开发语言,并受到 Macintosh 编程人员的广泛认可;Cocoa 成为苹果免费提供的开发工具,提供 Mac 平台应用开发的环境。

苹果在开发 NeXTSTEP 操作系统时使用了 Objective-C,之后被 OS X 和 iOS 继承下来。现在 Objective-C 与 Swift 是 OS X 和 iOS 操作系统、及与其相关的 API、Cocoa 和 Cocoa Touch 的主要编程语言。Objective-C 的流行也要归功于 iPhone 的成功。

Objective-C 用一个很小的、用 C 写成的运行库,使得应用程序的大小增加很少,与此相比,大部分 OO 系统需要极大的运行时虚拟机来执行。Objective-C 是讲究实用和效率的语言,使用过 C++ 或者 Java 的开发者会惊叹于 Objective-C 的程序如此简短,尤其是,Objective-C 写成的程序通常不会比其源代码和库(通常无需包含在软件发行版本中)大太多。它可以在现存 C 编译器基础上实现,而不需要编写一个全新的编译器,使得 Objective-C 能利用大量现存的 C 代码、库、工具和编程思想等资源。这些特性都大幅降低了 Objective-C 的进入门槛。

但随着编程语言的不断演进,Objective-C 的缺点也逐渐暴露出来,比如不支持命名空间;不支持运算符重载;不支持多重继承;使用动态运行时类型,所有的方法都是函数点用,很多编译时的优化方法都用不到等。因此,近年来,苹果一直想让开发者放弃 Objective-C,转向 Swift。在开发语言排行榜 TIOBE 榜单中,Objective-C 的流行程度指数一路下滑,替代者 Swift 的位次逐渐上升。

早在 2015 年,就有人预言 Objective-C 将在五年内被 Swift 取代。在这五年的时间里,我们的确见证了 Swift 的崛起和 Objective-C 的没落,但由于代码规模依然庞大,前者彻底取代后者还有很长一段距离。

去年,海外知名自由职业平台 Upwork 调查显示,在众多编程语言中,Objective-C 成为该网站时薪最高的语言(加链接:这门「没落」语言时薪 451 元,自由职业平台 Upwork 公布兼职语言薪资排行),掌握该语言的程序员每小时可以赚 66 美元(约合 451 元人民币)。

有人曾评价说,与 Windows 平台下的应用开发技术和编程语言的繁盛景象相比,Objective-C 更像是孤独盛开在 Mac 平台上的技术奇葩。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/139460.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • KindEditor配置步骤

    KindEditor配置步骤KindEditor是一套开源的HTML可视化编辑器,主要用于让用户在网站上获得所见即所得编辑效果,兼容IE、Firefox、Chrome、Safari、Opera等主流浏览器。KindEditor使

    2022年7月3日
    22
  • 详解DOM对象中clientWidth、offsetWidth等属性

    详解DOM对象中clientWidth、offsetWidth等属性我们有时需要获得鼠标在某盒子中的位置,或者是随意移动某盒子的位置,在这些场景中我们可能经常需要用到clientWidth、offsetWidth、offsetTop啊等等。但是对于初学者来说(包括我),看到这些就头疼,因为感觉意思都相近,但作用却不同,所以今天天我就来捋一捋,搞清楚,后面好干活。好吧,废话不多说,开始吧。先上一下示例代码,下面要用到。HTML:…

    2022年7月22日
    5
  • VMware如何彻底卸载干净[通俗易懂]

    如何彻底卸载VMware虚拟机禁用VM虚拟机服务首先,需要停止虚拟机VMware相关服务。按下快捷键WIN+R,打开windows运行对话框,输入【services.msc】,点击确定。在服务管理中,找到VM开头的所有服务类别。将所有VM开头的服务禁用掉关闭VMware虚拟机进程按下Ctrl+Alt+Delete,打开任务管理器,找到所有VM开头的进程,全部结束进…

    2022年4月5日
    911
  • 杂谈:写博客的感想「建议收藏」

    杂谈:写博客的感想「建议收藏」文章目录为什么想写博客写博客的用途尝试理查德弗曼学习法总结为什么想写博客最近刚看完JAVAWEB的一些视频和书籍,一直在琢磨学习路线这件事,期间也看过了很多自学路线的视频和博文。大多数博主,UP主都有一个推荐,就是写博客,所以就想自己写一些学习笔记的博客内容,请各位大佬指正以后有什么写错的地方忘大佬们多多指正,也希望得到一些大佬的鼓励给我提供一些动力。目前先在网上写的平台写一些博客,等之后学…

    2022年5月24日
    37
  • 数据分析实战项目_Android项目汇报

    数据分析实战项目_Android项目汇报#QzsWanAndroid-[基于wanandroid.com开发的MVP+Retrofit2+RxJava2+okhttp3开发的AndroidAPP](https:/

    2022年8月2日
    5
  • 如何学分子模拟的软件

    如何学分子模拟的软件当今分子模拟已经成为很多领域学术研究的主流方法。多年前,因为计算量的原因,很多情况下,MC方法是首选,特别是只关心平衡体系,关心相边界行为的时候。随着计算资源的增加、计算成本的降低、一些研究对象的平衡态的体系已经几乎被做烂了,科研工作者慢慢关心动力学行为,非平衡特征,致力于发现新的现象,新的物理规律(总要有事做,有饭吃吧),于是MD越来越普及,用的人也越来越多。除了极端的方法学工作者,一般情况下…

    2022年5月26日
    30

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号