Xcode是如何诞生的?

简介: 大家都知道,Xcode是iOS、macOS程序的唯一开发工具,其强大的功能让人叹为观止。那么,大家知道Xcode是如何诞生的呢?1981年, 一个名叫Jean-Marie Hullot的人获得巴黎第十一大学的计算机科学博士学位后,开始了在法国国家信息与自动化研究所(INRIA)的研究生活。

大家都知道,Xcode是iOS、macOS程序的唯一开发工具,其强大的功能让人叹为观止。那么,大家知道Xcode是如何诞生的呢?

1981年, 一个名叫Jean-Marie Hullot的人获得巴黎第十一大学的计算机科学博士学位后,开始了在法国国家信息与自动化研究所(INRIA)的研究生活。

早在Jean-Marie Hullot还在学校的时候,Xerox PARC(施乐帕洛阿尔托研究中心)的 Alan Kay、Dan Ingalls、Ted Kaehler和Adele Goldberg等人,从1969年就开始研发一款面向对象的编程语言Smalltalk,并于1980年正式公布。虽然当时的机器跑得非常的慢,但Smalltalk先进的思想对其他众多的程序设计语言的产生起到了极大的推动作用,对计算机工业界的发展也产生了非常深远的影响。

Smalltalk的发布给Jean-Marie Hullot的心灵带来了巨大的震撼,他毫不犹豫地成为了面向对象编程模式的早期粉丝。那时,Jean-Marie Hullot使用早期的Macintosh电脑进行开发,但他很快发现,虽然Mac的用户界面做得不错,但开发程序实在是很糟糕。因为每次开发人员需要一个窗口或者菜单,都要从零开始构建。

于是乎,Jean-Marie Hullot开始动脑筋改进Mac编写用户程序难的现状。他开发了一个这样的程序:一侧的工具条是类似菜单这样的大量可重用的对象,而另一侧则是程序员想构建的用户程序界面。只要把工具条上的工具拖放到程序界面中,那么类似“打开”、“打印”等相关的功能,就可以被添加到用户界面中。实际上,这个程序是最早的一批能通过鼠标把控件拖入界面设计窗口实现相应功能的商业程序,是用户界面设计软件的先驱。这个跨时代的发明被称作SOS,用 Lisp语言编写的。

有了这么厉害的东西,Hullot意识到如果他只在研究所窝着,那只能很少的人享受这一成果,而如果他把这个工具公开,那对所有的开发人员来说,都是一大福音。

经过不断努力,Hullot找到了一个值得推销自己发明的好地方——剑桥的苹果大学联盟(Apple University Consortium)。这个苹果和大学合作的组织看到 Hullot的创作后反响很好,就推荐他去见时任苹果开发研究院主任Jean-Louis Gassee。后者见到SOS后也认为这是个好东西,便说服他去美国闯一闯。

不过当Jean-Marie Hullot来到美国加州苹果总部时,他并没有留在那儿,而是找到他用来写SOS的Lisp解释器的生产商,也就是软件公司ExperTelligence,来推销他的SOS。很巧的是,当时的ExperTelligence正在寻找合作商卖自已的 Lisp,而Hullot也在找合作商卖自已的SOS,两者一拍即合,随即打电话给NeXT,共同推销自家的产品。

绝顶聪明的NeXT的创始人Steve Jobs早就看中了SOS,但却对ExperTelligence的Lisp一点兴趣都没有。他以三顾茅庐般的热情,将Jean-Marie Hullot招致麾下。Jean-Marie最终在 NeXT 整整待了十年。在NeXT工作期间,他使用Objective-C和NeXTSTEP框架重写了SOS,命名为Interface Builder。由此,Interface Builder成为NeXT集成开发环境Project Builder的标准套件之一。

Interface Builder和SOS一样,提供了一个工具箱,包含一系列用户控件对象。工具箱并不是官方定死的,而是可以任意扩展的。开发者只要把控件拖入项目文件就能完成用户界面设计,节省了几乎所有和控件放置有关的代码。同时,开发者拖拽鼠标,将控件可提供的动作(IBAction)和另一个对象的接口(IBOutlet)连在一起,则建立了一个绑定。这样,一旦动作被激发,接口中相应的方法则会被执行。所以,大量对象关联的代码也能被省去。

NeXT被Apple收购后,苹果把下一代操作系统建立在NeXTSTEP的基础上。Objective-C和Cocoa被作为主要框架,而Interface Builder和Project Builder也因此受到重用。值得一提得是,苹果发布的首个iPhone SDK的Cocoa Touch界面,是用Interface Builder设计的。

Jean-Marie Hullot是在NeXT被收购时进入苹果的,Steve Jobs令他率领在法国的一个小团队,秘密为Mac OS X 10.2开发一个办公软件iCal。最后,在iCal小组功成名就的Jean-Marie Hullot荣升苹果软件开发部首席技术官。

Project Builder在Mac OS X 10.3时被重命名为现在大家所熟知的Xcode。长期以来,Xcode环境和Interface Builder是两个独立工作但相互有联系的程序,而2010年发布的Xcode 4预览版中,Xcode和Interface Builder合二为一,成为一个一体化的编程环境。

“千里马常有,而伯乐不常有”,Jean-Marie Hullot的经历验证了这句古话。正是在“千里马”和“伯乐”的共同努力之下,才有了今天的Xcode。感谢乔帮主和大神Hullot为我们弄出了这样一个卓越的开发工具。

目录
相关文章
|
Arthas 监控 Java
Arthas 实践——生产环境排查 CPU 飚高问题
13:40 收到我们的生产环境服务器绿版 CUP 超负载告警通知。此时心里只有一个想法,重启大法好,马上登录服务器,执行 top 发现进程 30247 和 28337 占用 CPU 为 200 多和100 多基本占用了 4 核的 3 核,整个过程大概用时 30 秒,维护群依然很平静,运营的电话也没打过来,这时候我断定,这次问题应该影响面很小,用户可能也暂时没有发现,好吧,还有时间做排查。
Arthas 实践——生产环境排查 CPU 飚高问题
|
iOS开发
豆瓣源
pip install *  -i http://pypi.douban.com/simple --trusted-host pypi.douban.com   其他: 阿里云 http://mirrors.
3028 0
|
8月前
|
网络协议 物联网 调度
《探秘鸿蒙分布式软总线:开启无感发现与零等待传输新时代》
鸿蒙系统的分布式软总线技术是实现设备互联互通的核心,通过融合Wi-Fi、蓝牙、NFC等通信技术,实现设备无感发现与零等待传输。该技术具备自发现、自组网、高带宽低时延特性,支持多设备协同工作,如智能家居中手机与音箱、空调的无缝连接,办公场景中的文件共享与多屏协同,以及工业互联网中的实时通信。其极简协议、流式传输和智能调度机制大幅提升效率,为用户带来便捷体验,推动智能生态发展。
560 6
|
数据采集 自然语言处理 数据挖掘
利用ChatGPT进行数据分析——如何提出一个好的prompt
利用ChatGPT进行数据分析——如何提出一个好的prompt
543 0
|
机器学习/深度学习 数据采集 数据挖掘
深度学习之地形分类与变化检测
基于深度学习的地形分类与变化检测是遥感领域的一个关键应用,利用深度学习技术从卫星、无人机等地球观测平台获取的遥感数据中自动分析地表特征,并识别地形的变化。这一技术被广泛应用于城市规划、环境监测、灾害预警、土地利用变化分析等领域。
802 1
|
11月前
|
人工智能 安全 数据安全/隐私保护
《巧用鸿蒙Next原子化服务,打造轻量级人工智能应用》
在科技飞速发展的当下,鸿蒙Next的原子化服务为轻量级人工智能应用的开发带来了全新机遇。原子化服务具有轻量化、便捷性和多终端适配性等特点,用户无需安装完整应用,点击卡片即可快速获取服务。轻量级AI应用需在计算资源有限的设备上运行,要求模型体积小、计算复杂度低、运行效率高。利用鸿蒙Next的原子化服务,开发者可以高效利用资源,实现快速部署与更新,并支持多设备协同工作。通过选择合适的AI模型、集成鸿蒙Next的AI能力、设计简洁交互界面和确保数据安全,开发者能打造出高质量的轻量级AI应用,提升用户体验。
455 17
|
存储 监控 算法
|
人工智能 前端开发
大模型体验体验报告:OpenAI-O1内置思维链和多个llm组合出的COT有啥区别?传统道家理论+中学生物理奥赛题测试,名不虚传还是名副其实?
一个月前,o1发布时,虽然让人提前体验,但自己并未进行测试。近期终于有机会使用,却仍忘记第一时间测试。本文通过两个测试案例展示了o1的强大能力:一是关于丹田及练气的详细解答,二是解决一道复杂的中学生物理奥赛题。o1的知识面广泛、推理迅速,令人印象深刻。未来,或许可以通过赋予o1更多能力,使其在更多领域发挥作用。如果你有好的测试题,欢迎留言,一起探索o1的潜力。
518 1
|
安全 Android开发 iOS开发
深入解析:安卓与iOS的系统架构及其对应用开发的影响
本文旨在探讨安卓与iOS两大主流操作系统的架构差异,并分析这些差异如何影响应用开发的策略和实践。通过对比两者的设计哲学、安全机制、开发环境及性能优化等方面,本文揭示了各自的特点和优势,为开发者在选择平台和制定开发计划时提供参考依据。
505 4
|
数据采集 数据管理 数据挖掘
CDGP|数据治理策略揭秘:因企制宜,实现精准管控新高度
数据治理是指通过制定一系列政策、流程和技术手段,对企业数据进行全面、系统、规范的管理。它不仅能够确保数据的准确性、一致性和安全性,还能提升数据的质量和价值,为企业决策提供有力支持。因此,制定数据治理策略的首要任务是明确其核心价值,确保策略能够服务于企业的整体战略目标。