|
|
|
|
|
|
w*****g 发帖数: 16352 | 1 原来就是一小码农的业余创做。不过还是满好用的。还我这个文科生都写出了人生第一
个小游戏。
--------------------
7月15日消息,据国外媒体报道,《连线》杂志日前撰文解析了苹果新编程语言
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不仅更熟悉——它有“泛型”这样的设计,也就是可
以重复使用的基础模组——而且还有用来避免程序员出错的工具。它能提供一种叫做“
推测输入”的功能,凭借这种功能程序员就不用花费太多时间来定义所用变量的类型。
艾什表示:“它可以提供很多帮助,可以更好地理解你在做什么,也能让电脑帮助你把
事情想得更清楚。它能让程序员更有效率,用更短的时间完成更多的事情。”
还有就是“操场”,包括艾德福在内的很多人都认为,这是该语言中最有趣的地方。
▼点击翻页查看更多精彩内容▼
[Page: ]
操场之中
按照拉特纳个人主页上的说法,“操场”是要让编程“更具交互性更直观。”他解
释称,“操场”在很大程度上受到了苹果设计师布雷特·维克多(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是独一无二的。
★ 发自iPhone App: ChineseWeb 7.8 | G*****h 发帖数: 33134 | | y*******g 发帖数: 6599 | | G*****h 发帖数: 33134 | 4 这娃是天才还是勤奋?master 就搞 llvm 成了主力
【在 y*******g 的大作中提到】 : 尼玛Chris Lattner 被你说成小码农
| L*******r 发帖数: 119 | 5 你是说swift的创始人Chris Lattner是"小码农"? He's the best 10 programmer in
the world. Are you the best 10 of anything?
【在 w*****g 的大作中提到】 : 原来就是一小码农的业余创做。不过还是满好用的。还我这个文科生都写出了人生第一 : 个小游戏。 : -------------------- : 7月15日消息,据国外媒体报道,《连线》杂志日前撰文解析了苹果新编程语言 : Swift的诸多优势。文章表示,由于这门语言易于上手,吸收了编译型语言与解释型语 : 言的长处,而且有诸多苹果产品为依托,Swift的普及速度会让其他语言望尘莫及。 : 以下为《连线》“苹果Swift将很快改变编程的三大理由”一文: : 克里斯·拉特纳(Chris Lattner)花了一年半时间打造了一套新的编程语言。他 : 没有向任何人提起这件事,甚至连他最亲密的朋友和同事也不知道。 : 他利用晚上和周末的时间进行这项工作,从2010年夏天开始一直干到第二年年末,
| G*****h 发帖数: 33134 | | n*****3 发帖数: 1584 | 7 just like linard/linux author designed git;
great ppl are just great!
【在 G*****h 的大作中提到】 : 这娃是天才还是勤奋?master 就搞 llvm 成了主力
| z****e 发帖数: 54598 | 8 关键是平台
平台火了,语言只需要不那么糟糕就行了
swift能短时间内上手使用
这对于大多数人来说是好事
开发app,最重要的是效率
干活要紧,做完回家睡觉
语言只是工具 |
|
|
|
|
|