Swift 编程语言首席架构师 Chris Lattner 简介

Chris Lattner(1978年出生)是 LLVM  项目的主要发起人与作者之一,Clang 编译器的作者。他现在是苹果公司『开发者工具』部门的主管,领导 Xcode、Instruments 和 编译器团队,从 2010 年 7 月开始主导开发 Swift 编程语言。

photo

Chris Lattner
 

我是 LLVM 编译器的原作者和主要架构师,LLVM 编译器是一个雄心勃勃的项目,其目的是要建一个可重用的编译器组件系统,可用于构建各种工具,包括编译器、调试器、JIT系统、优化器、静态分析系统等 等。LLVM 常用作 C 和 C++ 的优化器,能生成用于多种不同架构的机器码。Clang 项目(也是我发起的)目前是业内领先的 C、Objective-C 和 C++ 编译器,广泛用于学术界和业界。在语言支持和其他特性方面,LLDB 调试器(LLDB Debugger)开创了先河。LLVM 正在多方面扩展和改进,以支持新优化、新目标、新领域和新特性。因在 LLVM 方面的工作,我赢得了两项 ACM 奖项。
 
译注:苹果公司是 LLVM计划的主要资助者。早年苹果一直使用GCC作为官方的编译器,但Apple对GCC的性能不满意,再者Objective-C在GCC中优先级 低,GCC对Objective-C语言新特性的支持程度也不高。因此苹果一直在寻找compiler的开源替代品,于是他们将目光转移到LLVM身上。 2005年,苹果直接雇用了克里斯·拉特纳及他的团队,为了苹果计算机开发应用程序系统。(摘自维基百科)

许多人可能都已忘记苹果WWDC中的“D”代表了“开发者”。这是一次开发者的大会,参加这一大会的程序员可以从会上了解到新的技术。
 
今年的WWDC回归本源,并专注于两大领域:软件,以及软件开发者。
 
尽管许多人对于苹果没有在今年WWDC上发布任何硬件产品感到失望,但需要指出的是,令这些硬件充满吸引力的关键在于软件。苹果今天发布的许多消息将使开发者的工作变得更简单,这将带来更多、更好的应用。
 
到目前为止,今年WWDC上对开发者而言最重要的消息在于新的编程语言Swift。这一语言的设计目标是让应用开发更简单、更快、更稳定,同时确保最终应用有着更好的质量。从最基本的角度来看,Swift希望为所有程序员实现所有功能,那么这是否可能?
 
Swift的表现仍有待观察,但根据今天所看到的的一切,这一语言拥有巨大的潜力。
 
最优秀的语言?
 
脚 本语言,例如Python,通常易于编写和测试,但并不是非常强大,难以带来高质量程序。如果你希望编写一款游戏,完全利用设备的性能,那么这样的语言并 不理想。传统编程语言,例如Objective-C,使开发者能更好地利用设备的性能,开发更复杂的应用,但通常较难掌握,在编译和测试时也更麻烦。
 
Swift 希望解决所有这些不便。苹果表示,至少从几项关键指标来看,Swift程序的执行速度比Python和Objective-C程序更快。而尽管如此,这一 语言支持Xcode开发环境中所谓的“体育场(playground)”,能像脚本语言一样,实现对Swift代码的实时可视化。
 
在今天所举的一个例子中,一名开发者希望编写一款游戏,其中的气球能以自然的模式上下运动。为了实现这一功能,他希望使用一个简单的数学函数:正弦函数。正弦函数能产生上下波动的弧线,类似于漂浮的气球。
 
通 过Swift,开发者可以很方便地对气球赋以正弦值,随后在简单的曲线图中观察应用执行过程中值的变化。这使开发者能很方便地观察气球运动的模式,以及是 否符合预期。如果存在问题,开发者可以立即作出调整。以往,开发者需要通过编译器来运行代码,随后执行程序,希望获得正常的结果。根据应用的大小不同,这 一过程可能需要几秒、几分钟,甚至更长时间。
 
优势
 
方便快捷地测试所编写应用将帮助开发者更快地开发出复杂应用。以往,对规模较大的应用来说,编译和测试过程极为冗繁。如果Swift能在这一方面带来较大的改进,那么应用开发者将可以更快地发布经过更彻底测试的应用。
 
此外,Swift是一种非常简洁的语言。与Python类似,你不必编写大量代码即可实现强大的功能。这也有利于提高应用开发速度。
 
最后,如果Swift应用的执行速度比Objective-C应用更快,那么我们会在游戏中看见更引人入胜的画面(需要苹果新的Metal界面的帮助),而其他应用也会有更好的响应性。与此同时,我们不用购买新手机。
 
问题
 
并 非所有一切都很美好。正如多名开发者所说,Swift最大的问题在于,要求使用者学习一门全新的语言。程序员通常喜欢掌握最新、最优秀的语言,但关于如何 指导人们编写iPhone应用,目前已形成了完整的产业。在苹果发布Swift之后,所有一切都要被推翻重来。(你仍可以开发Objective-C应 用,但不会有人想要。)
 
另一方面,如果编程语言更加易学易用,那么应用开发的门槛将会降低,导致更 多新手开发者参与这一行业。这或许不是一件好事。这种情况完全有可能出现,但对从40年代发展起来的软件开发行业而言,情况一直如此。是的,在一些情况 下,有人仍然认为,不会使用打孔卡片的开发者是业余人士。
 
仍需检验
 
如果Swift如苹果所宣传的一样,那么我们将看到更多、更快、更稳定的应用。
 
最 终,Swift的性能如何仍需要通过实践去检验。苹果喜欢在台上公布各种指标和数据,以突显某款产品相对于竞争对手的优势。但对编程语言来说,情况更微 妙。人们需要花一定时间才能了解Swift究竟有何优势。这将是一次彻底的变革,或许也将是自App Store推出以来,苹果开发者社区迎来的最重要变革。
 
终端用户或许不会看到任何改变,这样的情况是正常的。不过,现在你至少可以对其他人解释,为何Swift值得我们为之兴奋

 
© 2001-2017 MYSZIIT.COM. All Rights Reserved.