当前位置: 首页 > 科技观察

苹果欲用Swift语言颠覆传统编程

时间:2023-03-18 18:07:12 科技观察

美国知名科技媒体《连线》近日从市场前景、核心优势、竞争对手等方面对苹果最新的Swift编程语言进行了全面分析。文章认为,虽然Swift作为后来者,面临着Objective-C、C++等语言,以及谷歌、Facebook等公司的攻击,但Swift本身的巨大优势和苹果设备的巨大影响力在开发人员的心目中仍然是这个原因。它具有颠覆传统编程模型的巨大潜力。以下是文章的主要内容:知名开发人员克里斯·拉特纳(ChrisLattner)此前曾花费一年半的时间开发一种新的编程语言。这段时间,他没有向任何人透露自己的工作内容。这个项目于2010年夏天正式启动,当时莱特纳几乎每个周末和晚上都在这个项目上度过。到2011年底,这种新的编程语言的基本结构终于成型。就在那时,莱特纳决定将这个秘密项目告诉公司高管。这些高管在深入了解这个项目后,认为这个项目潜力巨大,特地聘请了几位经验丰富的工程师协助开发。18个月后,该项目已成为公司最重要的项目之一,有大量工程师参与该项目,公司认为这是一门有潜力彻底颠覆传统计算机编程流程的新语言。众所周知,这个项目就是Swift编程语言,而莱特纳目前是苹果开发者工具部门的主管。今年6月2日,苹果首次为开发者发布了Swift编程语言的测试版,并宣布这是一款可以让开发者更快、更轻松地为iOS设备编写软件的工具。莱特纳在伊利诺伊大学厄巴纳-香槟分校的研究生导师VikramAdve曾与他一起为Swift语言开发最基本的软件平台,但即使是他也不知道莱特纳正在从事这项工作。我一个人为这个编程项目付出了很多努力。“苹果太神秘了,莱特纳也很灵通,我当时只知道他负责一个项目,但并不知道这个项目的具体内容。”我笑着说道。一般来说,如果一种编程语言刚刚被编写出来,通常需要很多年才能拥有足够的开发者用户,即使这种语言有苹果这样的巨头公司的支持。例如,谷歌在2009年推出了一种名为“Go”的新编程语言,尽管这种语言的开发者包括Unix操作系统的联合开发者、C语言之父KenThompson。肯·汤普森(KenThompson)和前贝尔实验室研究员罗伯·派克(RobPike)是行业领导者,但该语言尚未得到全球大多数程序员的认可。然而,我们相信Swift的命运将与Go截然不同。该语言甚至可能在今年秋季正式发布后迅速得到业界的认可,超越当年Java和C#语言的发展速度。这主要是因为该语言是面向普通开发人员的编程语言。它具有无与伦比的易用性,即使是最新手的程序员也能很快掌握这门语言。与此同时,目前很多程序员都专注于为iOS平台编写应用程序。在此之前,他们使用的主要语言是Objective-C,但是新的Swift显然比前者有更多的优势,而这也在一定程度上保证了语言的使用基础。“GoogleGo没有给开发者足够的理由去采用这门语言,但Swift没有。人们会争先恐后地拥抱这门新语言,因为它的编程过程比Objective-C更简单。”关注世界编程语言动态Tiobe总经理PaulJansen说。目前,虽然Swift还处于自己的测试阶段,但是在代码托管网站GitHub上已经有2400多个基于Swift代码开发的项目。本月,Swift还在Tiobe发布的全球讨论最多的编程语言中排名第16位。需要指出的是,谷歌在2009年推出Go语言时,也取得了类似的成绩,但该语言在Tiobe上的排名随后一落千丈。不过,Jensen认为,这样的情况可能不会在Swift身上重演。“因为Swift是Apple生态系统的核心,他们就是不会搞砸它,”C++语言领域的领军人物安德烈·亚历山大雷斯库(AndreiAlexandrescu)说。未来展望目前,莱特纳是苹果公司的开发者工具总监,他的主要工作是管理所有让苹果工程师和开发者为公司设备编写程序的工具。在此之前,莱特纳主持开发了framework编译器框架系统LLVM,而LLVM恰恰是目前苹果开发工具Xcode的基础平台。2005年,莱特纳加入苹果,开始致力于LLVM在苹果开发系统中的应用。同时,Apple一直是LLVM项目的主要资助者之一。在撰写本文时,我们联系了莱特纳进行采访,但莱特纳表示他只会在苹果公关部门批准的情况下这样做。不过,莱特纳在他的博客中简单地谈到了这个项目的初衷,那就是他希望Swift能够兼容苹果现有的开发工具,甚至可以让开发者在使用Objective-C的同时使用Swift。平心而论,Apple仍然需要提供更有力的理由来鼓励开发者从Objective-C转向Swift平台。毕竟,大多数现有开发人员从未接触过Swift。“我是第一个也是唯一一个拥有四年Swift经验的开发人员,”Leitner在Twitter上说。对此,为苹果各种硬件产品编写程序长达15年的资深开发人员迈克·阿什(MikeAsh)也坦言:“大多数新的编程语言都会停滞不前,少数几门语言受到开发商青睐的通常不会。这将是一个多年的过渡期。”也就是说,Ash目前正在使用这种新语言编写应用程序。因为虽然Swift比C#、Ruby、Python好不了多少,但相对于1980年代问世的Objective-C,它还是有太多的优势。目前很多程序员都觉得Objective-C的语法规则过于怪异,而Swift的设计更加贴心,内置了很多实用的纠错工具可以帮助到开发者。核心优势在Swift语言中,最突出的特性也许就是Playgrounds。这个特性提供了不可思议的交互效果,让Swift代码在编写过程中实时编译显示。最重要的是,这项服务使开发人员能够更高效地编程,并有助于将Swift与其他编程语言区分开来。目前,Objective-C、C++等语言通常需要开发者先编写代码,等待编译器将代码转换成可执行的软件程序,然后开发者才能操作可执行的软件。Python、Ruby、PHP等语言允许开发者在编写代码的同时测试自己的软件,但软件的实际运行速度会大大降低。不过Swift的出现,彻底解决了以上两者的不足。这种语言可以使开发人员在不牺牲程序执行速度的情况下更有效地编写代码。“Swift是一种对开发人员和设备都非常友好的语言,虽然这种语言的实际性能还有待检验,但苹果迄今为止的工作成果看起来相当出色。”迈克-阿什说道。市场竞争需要指出的是,苹果并不是唯一一家试图在编程领域兴风作浪的公司。包括谷歌、Facebook、Mozilla在内的公司也在开发自己的编程语言平台,有的甚至达到了比Swift更高的水平。大成就。例如,谷歌使用Go语言重新定义了其内部工作流程,而Facebook使用其开源编程语言“Hack”重新创建了大量在线服务。更重要的是,这些公司推出的大部分编程语言都是开源的,这意味着它们可能更容易推广给全球开发者。然而,Swift不是一种开源编程语言(至少现在还不是)。同时,考虑到苹果一贯对软硬件的高度把控,对于该公司的政策是否会对斯威夫特未来的晋升产生负面影响,外界也持保留态??度。“目前业界存在一定的担忧,苹果是否会限制该语言的方向,比如该公司是否会允许开发者使用它来编写跨平台代码。”阿什解释道。不过,Ash认为Swift的开源只是时间问题,因为ChrisLeitner一直是开源编程理念的支持者,他之前开发的轻量级编译器Clang就是最好的例子。当然,即使Swift仍处于Apple的严格控制之下,我们认为该语言的开发者采用率将超过近年来发布的任何编程语言,因为这是iPhone、iPad和Mac等设备强制开发的方式。魔力所在。(汤姆)