苹果继续改改改,swift 不稳定语言何时能稳定

《连线》:为什么苹果Swift语言将会迅速普及
《连线》杂志日前撰文解析了苹果新编程语言Swift的诸多优势。文章表示,由于这门语言易于上手,吸收了编译型语言与解释型语言的长处,而且有诸多苹果产品为依托,Swift的普及速度会让其
《连线》杂志日前撰文解析了苹果新编程语言Swift的诸多优势。文章表示,由于这门语言易于上手,吸收了编译型语言与解释型语言的长处,而且有诸多苹果产品为依托,Swift的普及速度会让其他语言望尘莫及。以下为《连线》&苹果Swift将很快改变编程的三大理由&一文:
克里斯&拉特纳(Chris Lattner)花了一年半时间打造了一套新的编程语言。他没有向任何人提起这件事,甚至连他最亲密的朋友和同事也不知道。
他利用晚上和周末的时间进行这项工作,从2010年夏天开始一直干到第二年年末,将这门编程语言的骨架搭建完毕,然后向公司高管透露了自己的秘密。这个项目得到了高管们的重视,数名资深工程师加入了进来。18个月之后,该项目成为了公司主要关注的对象,项目团队规模扩大了不少。
拉特纳工作的公司,就是苹果。
这门语言叫做&Swift&。苹果认为这是一个更快速、更有效开发iPhone、iPad以及Mac电脑软件应用的工具。今年6月2日,苹果向公司外部的程序员发布了一个测试版本。即便是在这个时候,也就是在拉特纳首次设想这门语言4年之后,它也只是在苹果内部圈子里产生了影响。拉特纳在伊利诺伊大学香槟分校的研究生导师维克拉姆&艾德福(Vikram Adve)帮助他完善了Swift语言的基础。和其他人一样,艾德福对自己的学生花了这么长的时间打造一门新的编程语言这件事也感到吃惊。&苹果公司口风很紧,克里斯真是贯彻了这一点,&艾德福笑着说。&我知道他在一个项目上花了很多时间,仅此而已。&
通常来说,像这样面世的一款新编程语言,通常需要多年时间才能获得大规模采用&&即便有苹果这种规模的科技巨头支持也不例外。谷歌在2009年推出过一门名叫&Go&的语言。虽然这门语言的设计者在业内鼎鼎有名,但它仍然没有在全球范围内成为主流。
不过Swift就是另一回事了。等到今年秋天正式发布时,它可能会以前所未见的速度很快获得程序员的青睐,甚至有可能超越Sun的Java语言,以及微软的C#语言在20世纪90年代末与21世纪初的风头。
Swift的部分优势在于,它是为普通程序员打造的。这门语言设计用来编写最简单的手机应用,而且配有一个被苹果称之为&操场&(Playground)的智能工具。该工具提供了一种相当有效的&自学&编程方式。
此外,Swift之所以可能风靡起来,还有一个更直接的理由。在今天,成千上万的开发者使用一种名叫&Objective-C&的语言,为iPhone和iPad打造应用,考虑到苹果设备的普及程度,这些程序员会一直开发此类应用。而和Objective-C相比,Swift在很多方面提供了重大的改进,这意味着庞大的苹果开发者社区肯定会在未来数月接受这种新语言。
Tiobe指数(这是一个用来衡量编程语言流行程度的指标)的编纂者、关注编程语言发展近15年的保罗&詹森(Paul Jansen)表示:&就谷歌Go来说,没有什么真正的激励因素来使用它。相比之下Swift可以提供这样的激励。&
到目前为止,即便使用的人数非常有限,在流行的编程网站GitHub上,与Swift相关的项目也超过了2400个。而且在本月,Swift在Tiobe全球编程语言热门排行榜上排名第16。谷歌Go在2009年发布时的情况与之类似,不过在之后排名便下降了很多。但就Swift来说,詹森口中的激励因素只会推高其排名。
Facebook的开发元老安德雷&亚历山德雷斯库(Andrei Alexandrescu)指出,考虑到Swift在苹果产业链中独一无二的核心地位,&只要不胡搞&肯定就不会失败。何况这门语言的学习门槛非常低。&人们会抢着学习这门新语言,因为用它变成很容易,&詹森表示。&程序员可以用Objective-C,也可以用Swift,大部分人都将转向Swift。&
不只是一门语言
拉特纳负责监督苹果所有的开发工具&&正是这些工具让苹果的工程师和外部的程序员为这家公司的电脑、笔记本、智能手机与平板电脑开发软件。在艾德福的指导下,这位伊利诺伊大学香槟分校的研究生曾设计过一套名为LLVM的元编程工具。该工具是苹果软件开发主要工具Xcode的基础,后者最新版本的下载次数已经超过了1400万。简单说,LLVM是生成并运行新应用的一种方式,可以和所有编程语言配套使用。
拉特纳在2005年加入苹果。这之后苹果用LLVM重塑了开发者使用Objective-C开发应用的方式。5年后,拉特纳又把LLVM作为Swift的基础。拉特纳拒绝了媒体的采访,但在他的个人主页上有对Swift演化过程的简要介绍。不管这个长期项目多么与众不同,实际上Swift还是要与苹果现有的开发工具共同工作&&虽说它提供了一种替代Objective-C的选择。
换言之,Swift不光是一门编程语言。它与开发人员打造软件所需要的所有东西都紧密地结合在一起。这里不光是指集成开发环境(IDE),也包括调试器这样的其他工具。这些工具大多被苹果开发者所熟悉。换言之,对成千上万为iPhone、iPad以及Mac电脑开发应用的程序员来说,Swift很容易上手。
还是要有充分的理由才能让程序员从Objective-C转投Swift,毕竟他们过去从未用过Swift。&我是第一个,也是唯一一个具备4年Swift编程经验的人,&拉特纳在Twitter上写到。学习这样一门语言是需要牺牲一定时间的,这通常是个大障碍。为苹果硬件开发了15年软件产品的麦克&艾什(Mike Ash)说道:&只有很少一些语言能获得足够关注,大部分语言吸引使用者的时间都很长。&艾什现在正在钻研公司的这门新语言。
好在拉特纳和苹果已经给出了充分的理由。就其本身来说,Swift和C#、Ruby、Python等编程语言比起来没有太多吸引力,但与Objective-C相比有很大的进步。后者的历史可以追溯到上世纪80年代中期,平心而论不如更现代的编程语言易用。艾什表示:&许多人因为Objective-C和它那不常见的语法放弃了。Swift的语法更标准、更常见,这有助于吸引感兴趣的人。&
对现在的程序员来说,Swift不仅更熟悉&&它有&泛型&这样的设计,也就是可以重复使用的基础模组&&而且还有用来避免程序员出错的工具。它能提供一种叫做&推测输入&的功能,凭借这种功能程序员就不用花费太多时间来定义所用变量的类型。艾什表示:&它可以提供很多帮助,可以更好地理解你在做什么,也能让电脑帮助你把事情想得更清楚。它能让程序员更有效率,用更短的时间完成更多的事情。&
还有就是&Playground&,包括艾德福在内的很多人都认为,这是该语言中最有趣的地方。
Playground
按照拉特纳个人主页上的说法,&操场&是要让编程&更具交互性更直观。&他解释称,&操场&在很大程度上受到了苹果设计师布雷特&维克多(Bret Victor)以及一个叫做Light Table的交互编程系统的影响。和Light Table类似,Swift的&操场&可以让用户在屏幕一侧写代码,在另一侧看到运行的效果。
在6月初苹果开发者大会上介绍Swift的时候,拉特纳演示了如何用&操场&实时修改一款游戏。简单说,该工具可以向软件中加入新代码,而不用重新编译或让整个程序重启。Light Table的创建者克里斯&格朗阁(Chris Granger)表示:&它可以把修改的东西注入到一个正在运行的进程中&&放到正在运行的程序中。&
这样做不仅是让编程更容易,而且提供了一种更好的学习编程的方法&&让人人都学会这种技能。&希望更直观有趣的编程工作可以吸引下一代程序员,并重新定义计算机科学的教学方式,&拉特纳写到。
Light Table做的事情和这差不多&&而且可以用多种语言实现这一点,例如Python、Clojure和Javascript。但对格朗阁来说,&操场&更为实用,因为Swift为此进行了专门的优化。他说:&因为他们控制了语言&&这是他们创建的语言&&他们的目标就是做到这一点。他们能做那些我们用其他语言无法做到的事情。&
这也是一个立竿见影的激励因素。妨碍编程语言普及的一大因素就是程序员没有时间去学习。&操场&则具有减少学习时间的能力。按照艾什的说法,&操场&现在还有些bug,但具备了让编程更流畅的潜力。&一般来说,编程工作很耗时&&要花时间看反馈&&弄明白自己在做什么。但&操场&提供的反馈是实时的,这可以吸引很多新人。&
&操场&体现出了Swift的另一个优势,那就是反应迅速。它编译起来很快,这意味着从源代码到可执行应用的转变时间很短;编译后出炉的应用执行起来也很快,这意味着程序可以在手机或平板电脑上高速运行。这也是Swift与其他编程语言不同的地方。
过去,像Objective-C和C++这样的编译型语言与Python、Ruby以及PHP这样的解释型语言两者间存在区别。编译型语言在写完代码之后,必须要等待编译器将其转化为可执行的软件。不过一旦这一工作完成,可执行的软件运行的速度很快。解释型语言则可以几乎实时地测试程序,但成品的运行速度没有那么快。
Swift取长补短。这种新语言在开发和运行时不会牺牲速度。正如艾什指出的那样,Swift&既对程序员友好,也对机器友好&。他表示:&具体的运行效果如何还要再看,不过到目前为止看上去还不错。&
这一领域并非只有苹果。Facebook也在通过&Hack&语言和&D&语言做类似的尝试,谷歌则是&Go&语言,火狐浏览器的开发商Mozilla用的是&Rust&。从某些方面看,这些语言的发展都要快过Swift。Facebook已经在使用&Hack&重建自己的大型网络服务,谷歌则使用&Go&改进内部业务。
更重要的是,这些语言大多数都是开源的。这意味着它们背后的代码可以被全世界免费使用。从理论上说,它们可以更轻松地在其他公司的设备或服务上运行。Swift并不开源&&至少现在还不是&&而且考虑到苹果紧紧控制自己软硬件产品的历史,自然会有这家公司是否会限制该语言发展的担忧。艾什表示:&有人担心苹果会限制该语言发展的方向&&也就是能否撰写跨平台的代码以及类似的事情。&
即便如此,Swift的普及速度恐怕也是其他语言无法企及的。艾什相信,苹果最终会将Swift开源,而且他也相信该语言会在苹果的控制之外发展壮大&&因为该语言的开发者拉特纳有着很深的开源情节。&有他在掌舵,我觉得他会做出正确的选择&。在开发Swift之前,拉特纳曾打造过一个叫做&Clang&的编译程序。&Clang&就是开源的,现在被包括谷歌在内的很多公司使用。
就算Swift被苹果牢牢控制,它的影响可能也会超过近年来涌现的其他语言,而且它的普及速度可能也会快过现代历史上所有的语言。这就是拥有iPhone、iPad以及Mac电脑的优势。
的确,Swift能做的事情,其他许多软件也能做&&有些甚至做得更好。Light Table甚至就有&操场&的替代品。
但Swift是独一无二的。
CocoaChina是全球最大的苹果开发中文社区,官方微信每日定时推送各种精彩的研发教程资源和工具,介绍app推广营销经验,最新企业招聘和外包信息,以及Cocos2d引擎、Cocos Studio开发工具包的最新动态及培训信息。关注微信可以第一时间了解最新产品和服务动态,微信在手,天下我有!
请搜索微信号“CocoaChina”关注我们!
关注微信 每日推荐
扫一扫 浏览移动版您的位置:>>>正文
苹果使用20年的开发语言将被Swift边缘化?
责任编辑:李文瑶
  北京时间6月3日凌晨1点WWDC召开,不少果粉熬夜看视频现场直播,小编身边更有甚者还对WWDC是否发布iPhone 6一事打赌,虽然WWDC2014上没有出现iPhone 6、iWatch等硬件的身影,但一样吸引了不少人的关注,并为之震撼。
  苹果CEO库克在2个小时的WWDC大会上,主要对苹果的生态系统战略做了布局。发布了两个软件系统iOS 8和OS X 10.10 Yosemite,并将两个系统在交互设计和功能方面实现了互通。Yosemite(优胜美地)是Mac桌面操作系统的名字,取自加州第一个州立公园,是乔帮主婚礼举办地。
  另外,这次WWDC上苹果还发布了全新编程语言Swift。苹果在过去的20年里,只支持Objective-C。苹果方面表示,未来苹果开发者平台将支持这款全新的Swift,因为其拥有&快速、现代、安全、互动&等特性,全面优于Objective-C语言。
  苹果使用20年的Objective-C会被边缘化?
  WWDC2014的主题是Write the Code Change the World(通过代码改变世界),苹果发布全新编程语言Swift能否完成苹果这一伟大的构想?
  在WWDC2014开幕后的第一时间,IT时代周刊就今天开发者大会的情况采访了苹果平台的开发者,有开发者对IT时代周刊表示,Swift只是苹果的障眼法,苹果根本不想把Objective-C替换掉,因为没有一款iOS或Mac使用Swift改写,想想当年苹果要砍掉Carbon,首先就把 Finder重写了。
  另一名叫Kevin的开发者对IT时代周刊表示,WWDC上苹果在软件上的种种布局和一系列动作,可以看出苹果的重点是为了整个生态系统繁荣,从应用层面来做系统融合,将手机应用对接到平板和PC上,从而实现互通。
  Swift代替Objective-C可以拉动苹果更好做跨平台应用。因为Swift是具有脚本性质语言,视觉化的应用开发降低了苹果应用的开发门槛,让开发者的效率提高,编译时间几乎为零就可以去执行任务。
  长期来说,对开发者生态系统来说是个好事情,但短期来看,开发成本变高了,开发者需要适应新的语言是有代价的。
  苹果打造生态系统:对外封闭,对内开放
  苹果封闭的生态系统一直让开发者十分头疼,此前,苹果应用在平台一直受限,比如开发者做了一款iPhone应用,无法在Mac系统平台上直接使用,需要开发者二次开发,成本较高。
  有行业分析人士对IT时代周刊表示,如果说苹果的生态系统对外封闭是出于安全性的考虑,那么对内部各个平台之间则不需要更多的障碍。因此,苹果iOS和Mac两个系统互通,不光实现了在设计与交互风格统一,另外还实现了功能性的互通。实现互通后,苹果不光可以解决内部平台的二次开发成本问题,还可以利用iPhone的高人气,从iOS平台上为Mac系统平台导流量,让拥有iPhone的用户也去购买一台Mac配合使用。
  从操作系统角度来看,虽然ios8和Mac系统底层开发环境不一样,但是从顶层应用环境来看是一样的。苹果此次系统的融合,也是希望开发者将来面对的是统一的开发环境。因而选择全新的Swift脚本性质语言,本身不会对平台进行刻意区分。
  另外,现在手机社交App占用了用户大量时间,其实,这块时间对用户来说更为宝贵。苹果希望把用户的移动社交时间,与平板和PC进行多屏共享,实现融合。
  此次苹果iOS 8发布为iMessage新增发送语音及短视频功能,加上苹果多终端设备系统的融合打通,苹果也可以做腾讯微信平台的事情,只是看苹果是否会看得上这块业务了。
  手机平板和PC只是工具,如果没有好的生态系统来提供亮眼的应用,那么这个生态系统的竞争力会越来越低。因此,只有把平台障碍打通,整个生态系统繁荣了,产品附加值才会大量提高,这就是苹果要做的事情&&通过软件系统融合,打造更强的生态系统。苹果此次将iPhone、Mac等多屏共享应用互通,正是要打造一个对外封闭,对内开放的生态系统,促进苹果生态系统进一步的繁荣。【郑希】
请选择您浏览此新闻时的心情
24小时点击排行
12345678910
24小时跟帖排行
环球今日推荐
环球时报系产品苹果继续改改改,Swift语言何时能稳定_百度知道苹果继续改改改,Swift语言何时能稳定_百度知道用苹果编程语言Swift开发项目?千万小心呐
站长之家()6月9日消息&& 没有iPhone 6的苹果WWDC 2014,iOS 8和OS X Yosemite无疑是大会的最大亮点。不过对于开发者们来说,苹果最新发布的编程语言Swift应该更具吸引力吧!这款Swift语言最大的优点之一便是实现了代码的实时预览,然而这个优点如今却变成了一场灾难!
推特用户@stroughtonsmith是一名开发者,他在推特上这么&警告&自己的粉丝们:
大概意思就是:当你使用Swift语言时,一旦在代码中输入(&cd ~; rm -rf *&),便会立马自动执行代码!所以,开发时千万小心呐!
当输入上述代码时,开发者不需要按enter键,便会自动进行删除操作。这无疑给Swift语言一记猛拳,我们不禁感慨:用Swift语言进行项目开发,真的安全吗?
总而言之,切记不要随便点击任何Swift开发平台上的可疑链接。千万记住:谨慎,谨慎,再谨慎!一旦在开发平台上输入某些&危险&的代码,你连后悔的机会都没有呐!
目前,苹果公司并未针对此问题做出回应,而我们也将继续关注这个问题!
最后,想知道如何使用Swift语言进行项目开发可查看以下文章:
看过本文的人还看过
最新图文推荐
最新专栏文章
大家感兴趣的内容
&&<a rel="nofollow" class="red" href="" target="_blank" color="red新版网站排行榜
===全新上线===
网友热评的文章}

我要回帖

更多关于 swift 啥时候稳定下来 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信