窗体顶端
窗体底端
苹果Swift语言之父加盟谷歌,安卓可能会越来越像iOS
摘要: 克里斯•拉特纳曾是帮助苹果获得核心竞争力的关键人物之一,如今他跳槽到对Swift仰慕已久的谷歌,业界将迎来什么变化?
谷歌从特斯拉挖来了一位重量级人物——苹果Swift语言之父克里斯•拉特纳,此人实力和在开发者世界的影响不亚于安卓之父安迪•鲁宾。
据国外科技媒体AppleInsider报道,曾在苹果公司主导编程语言Swift开发的全球**程序员克里斯•拉特纳在6个月前从苹果跳槽到特斯拉后,又于今年8月下旬入职谷歌参与Google Brain项目,该消息在拉特纳的个人推特上得到证实。
苹果、Swift和拉特纳的那些事
说起编程语言Swift,我们不由去挖掘一下苹果公司的历史文本。开发者世界众所周知的是,Swift是一门年轻的编程语言,诞生于2014年苹果公司开发者工具部。而在那之前苹果操作系统家族包括mac OS、iOS以及后来的watchOS的御用编程语言都是Objective-C。
Objective-C是C语言的严格超集,所以它的起源较早。1988年,离开苹果公司的乔布斯创建了NeXT公司并购买了Objective-C的授权,扩展了知名的开源编译器GCC,然后基于此开发了一些库,这样一来形成了一套开发环境,这套工具在1996年乔布斯回归后成了神一样的利器,它奠定了至今为止苹果操作系统家族的基础。
GCC既是Objective-C的编译器,也是GNU项目的一部分,重要的是后者,这意味着GCC注定在自由软件势力的约束之下(比开源社区更严格的一股势力)。
而鉴于苹果封闭商业化的操作系统属性与自由软件精神相悖,必然导致Objective-C在GCC编译器处理的优先级低下且支持度不高。因此苹果公司一直想寻找GCC的开源替代品,他们注意到了克里斯•拉特纳和他的LLVM项目。
LLVM是一套用于开发编译器的工具库,采用开源协议BSD,相比GCC的GPL协议对商业软件更加友好和宽松。
苹果资助了LLVM项目并直接雇佣了拉特纳,在拉特纳的帮助下,苹果逐渐建立起用于取代GCC的LLVM编译器架构。2005年拉特纳发起了以LLVM为后端的编译器前端项目Clang,旨在完全取代GCC。那一刻起苹果真正获得了操作系统层级的核心竞争力,迈出了与微软分庭抗礼的起点。
有了上述优势之后,苹果开始着手优化自己的核心竞争力,首先要从御用编程语言开始。Objective-C跟随苹果多年,甚至商标权也属于苹果,但是作为一个传统的面向对象高级编程语言,Objective-C在某些方面跟不上时代趋势。
移动时代不仅仅做大了业界的产值蛋糕,也扩大了开发者群体,这些年开发者的数量在增加,他们有的来自于PC端,有的则是直接专注移动开发的新手,所以整体素质良莠不齐,整个领域出现了更多呼吁编程思想变革的趋向。
那就是高内低耦、模块化、细分化和流水线化。更多的程序员更擅长用现成的库、框架、工具来快速搭建一个应用,所以开发者世界也不时传出了“人生苦短,我用Python”这类诙谐的声音。因此传统的编程语言将退居幕后,服务于底层和中间件,把应用层的开发交给新的编程语言是一种趋势。
苹果公司在看清这种趋势上赶了个早集,2010年时任开发者软件部门总监的拉特纳着手设计新的编程语言Swift,从而尽早过渡、逐步取代Objective-C。
Swift是***个既满足软件工程标准又像脚本语言一样富有表现力的编程语言,它的特点是敏捷、超前又不失严谨,对初学者更加友好,这对苹果OS平台能否吸引更多开发者至关重要。
从WWDC2014上线到2015年宣布开源再到今日,Swift已经吸引了数量庞大的开发者,加上苹果对编译器的优化、在开发环境Xcode中优化集成并力推Swift,以及对现有框架Cocoa和Cocoa Touch较好继承,这使得Swift在整个iOS/Mac工程中的代码占比越来越大。Swift这两年发展迅速,在Tiobe排行榜上的位置逐年攀升,现已成为业界公认的语言新秀Python的强劲对手。
拉特纳为什么从特斯拉辞职
回顾了Swift和拉特纳的故事后,几个问题值得分析。首先是拉特纳为什么从特斯拉辞职。经媒体了解,拉特纳在特斯拉自动驾驶软件开发副总裁的岗位上工作了6个月,他委婉地表示这一岗位对他并不合适。
拉特纳的职业生涯不同于安迪•鲁宾或者托尼•法德尔这类产品经理,前者自入职苹果公司以来一直从事开发者工具设计,拉特纳在开发者群体中有很高的声誉,但在职业经理人的圈子里却鲜有见闻。
自动驾驶汽车属于跨界产品,整个项目是庞大的系统工程,模块间并非低耦,千丝万缕的需求难以被单领域的项目管理者掌控,这对于拉特纳来说是个极大的难题。而Google Brain对他而言是个较好的选择,比如给AI系统TensorFlow做做库的优化,正是拉特纳所擅长的。
拉特纳跳槽谷歌是个大事件
其次是拉特纳投身谷歌,对安卓和苹果阵营的商业格局有什么影响,以及谷歌未来的布局会对业界风向产生什么变化。今年年初拉特纳从苹果公司离职出走的原因其实很简单,其任职11年给苹果带来了不少开源风格,也一直致力于推动组织与开源社区的关系实现成果和知识的共享,但苹果的保密文化始终让他感到疲惫。
拉特纳的离去或许对苹果的核心竞争价值造成影响,但只要苹果是一个在软件领域善于保存组织知识资产的高科技公司,就不会太大问题。据悉,苹果已任命另一位开发者项目经理特德•克里梅内克接收拉特纳的工作。
拉特纳的投奔对于谷歌而言**是久逢甘露,事实上谷歌对Swift早有觊觎。众所周知的是,谷歌因卷入与甲骨文的Java版权案由来已久,目前Java案定格在2016年5月美国旧金山联邦法庭陪审团做出的裁决暂时对谷歌有利,但是甲骨文并未善罢甘休,今年2月甲骨文向美国联邦巡回法院上诉法庭上诉,开启了双方六年来的第四轮的较量。
假如将来Java案落定对甲骨文有利,那么其结果对于谷歌、对于整个安卓平台生态包括安卓开发者群体的影响是巨大的。Java对于安卓而言,是牵一发而动全身的存在。
这些年,因为专利案的关系谷歌一直试图削弱Java对安卓的影响,比如改用OpenJDK来重塑系统的部分代码。但是谷歌对此并不满意,要想完全摆脱掣肘必须寻求新的开发工具对平台生态彻底改造。在这方面谷歌曾做过一些努力,比如考虑用Kotlin语言过渡,但仍不尽人意。
当2015年底苹果宣布Swift语言开源时,谷歌终于把目标落在了Swift上。在2016年4月的伦敦会议上,谷歌、Facebook、Uber三家共同讨论了Swift语言的实用性,谷歌甚至向外媒透露考虑将来用Swift作为安卓软件开发的“一级语言”。
安卓的底层是C,部分中间件是C++,UI和应用层是Java(如今还有很多Python的代码),对系统和APP生态的重塑恐怕是个漫长的过程。但Swift有较好的兼容性和易用性,同时拥有庞大的开发者群体,加之用Swift语言来开发安卓应用的可行性早已被证实,由此看来这条路径愈加趋向现实。现在Swift之父直接加盟谷歌,由此人主导开启安卓平台生态的重塑,可能性非常之大。