第一眼:苹果的Swift一开始很简单

做一个富有的公司有什么意义?在私人飞机和闪亮的总部之后,出现了新的编程语言。现在,苹果已经走上了微软(C#)、Sun(Java)和Google(Dart,Go)的道路,为我们提供Swift,一种类似于C的语法和推断类型的语言,旨在让普通的程序员更容易开始为Mac构建新的软件和为iPhone开发新的应用程序。

虽然永远不可能高估苹果公司的傲慢程度,但如果你愿意的话,斯威夫特不仅仅是一个虚荣的项目,它决定了全世界如何使用电脑版的《国王的英语》。自下一次入侵苹果公司以来,苹果的软件堆栈一直被Objective-C所困扰,许多新手发现解开指针、文件(包括.m和.h)以及标点符号丰富的语法是件痛苦的事。

[另外的信息世界:10具有苹果电脑“偷”为雨燕编程语言. |见InfoWorld的“的iOS 7的开发”专题报告关于苹果移动操作系统的钟声和哨声,以及如何利用它们的独家新闻。|紧跟苹果的关键技术技术:苹果通讯。]

苹果在1997年试图用“现代语法”来更新这门语言,但大众拒绝改变所谓的经典语法。其他项目——比如为Cocoa库添加Java绑定——从来没有真正卡住过。如今,学习Objective-C是让人们为苹果平台编写代码的最大障碍之一。

好消息是:对于那些渴望避开Objective-C中那些令人不快的荆棘的人来说,Swift将是一份极好的礼物。学习过Java(用于AP计算机科学)、JavaScript(用于构建Web页面)和Ruby(用于构建网站)的程序员会发现很多他们熟悉的东西。许多粗糙的点,如多文件和继承被平滑,标点符号不那么占主导地位。还有大量的自动化特性,包括推断类型和自动引用计数,这些特性可以帮助编译器捕获程序员的许多潜在错误。

为什么快?

也许有人会问,为什么苹果没有拥抱许多语言已经在市场上的一个。JavaScript是一个不错的选择随着Web吞噬着整个世界,但它并没有提供系统程序员交付定义Apple体验的漂亮界面所需的所有底层字节访问。无论如何,JavaScript程序员已经在使用像这样的框架了电话线/科尔多瓦。其他语言如Python或Ruby与Unix后端集成得很好,但它们缺乏与系统软件的深度集成。最好的答案可能是苹果在可可层上做了巨大的投资,而Swift是在提供现代化便利的同时保护它的最佳方式。

Swift程序的基本结构看起来很像Java。代码被分解成包含字段和方法的类。最不协调的区别是方法以关键字(func)开头,返回值在方法名之后,而不是在方法名之前。这些类可以在层次结构中进行对齐,具有面向对象代码的大量继承,并且可以使用点语法读取属性。

这个高级路线图和声明变量语法的一些细节是您所需要做的。在苹果发布声明的几天内,用Swift编写的开源软件就开始出现在GitHub上。其中最让人印象深刻的是,一个由奈特·默里(Nate Murray)克隆的“松弛鸟”(Flappy Birds),只需要两个主要的Swift文件和一点胶水代码。如果你知道如何操作系统X或iOS编程,你可以得到非常迅速的进展。默里说他在克隆人身上只花了一天时间。

Swift修复了一些对Java语法最大的抱怨。您不需要浪费击键来拼写每个变量的类型;编译器将从初始化中推断它。您可以获得让编译器检查类型而无需多次击键的所有优点。如果您想将变量和字符串粘合在一起,一个简单的模板黑客只需三次击键就可以将变量插入到字符串中。这是一个杰作。

还有其他一些简洁的附加功能。Xcode现在提供了一个“游乐场”,你可以在这里输入代码,并在手指移动时观察代码的执行。这样的沙箱使学习JavaScript和许多JavaScript api变得更加容易。例如,谷歌仅仅通过提供一个带有游乐场的Web页面就吸引了许多开发人员使用它的地图API。Xcode的游乐场甚至比大多数更好,因为它在右侧的灰色区域显示了代码的运行解释,让您看到语言是如何运行的。关于操场,我唯一的负面消息就是我的电脑多次死机,而且死机的方式是无法复制的。又不是除以0。它被震住了,下一次成功了。

对于所有的进步和改进,我发现Swift的规模有点令人望而生畏。虽然很容易看出奈特·默里是如何在一天内击倒了那些高高在上的鸟儿,但语言的许多其他细节却无法在几分钟内掌握。我花了一些时间来思考由值(struct)传递的数据和由指针(类)传递的数据之间的区别。处理这些差异是C编程面临的一大挑战,对于希望从代码中获取最佳性能的敏捷程序员来说,这仍然是一个问题。

对于某些类型的代码来说,优化可能是一个真正的难题。例如,字符串总是按值传递,这意味着Swift在每次函数调用时都会左右复制字符串。对于基于图形的程序(如游戏)来说,这可能不是什么大问题,但像Web服务器和内容管理系统这样的程序本质上是连接机器。在编写Swift代码时,任何开始玩字符串杂耍的人都需要注意这一点。它们最终可能会将字符串值包装到类中,以避免复制。

有许多的,我专门用于较深的研究等领域。溯造型,例如,让您从一个类与类型转换操作符(如)的重点转移到子类。这可能会失败,所以有一个问号另一类型转换操作符(如?),如果低垂不成功返回零值。有许多这些可选功能,其中的问号的存在或不存在改变关键字的行为。另一个特点,下标,让你挖成一个类迅速拉出一个特定的值。它的整洁的简写,但它有混淆的可能性。

操场评估你的Swift代码,因为你键入它。您在左边键入代码,而右边则描述内部发生的事情。

一个主要的承诺

迅捷语言的简单性具有欺骗性。虽然很容易在一行中编写一个“hello world”应用程序,并用几行代码构建一个快速应用程序,但许多细节和细微差别需要大量学习才能掌握。熟练的程序员会喜欢在他们的软件中使用聪明技巧的能力和能力,但是许多新手会发现很难阅读他们的代码。这将不是一门容易掌握的语言,无论学习起来多么容易。

关于斯威夫特,最重要的是要认识到它的范围。虽然有些新语言因为是相对较小的项目而有一种玩具般的感觉,但是Swift是一个主要的承诺。这个关于斯威夫特的第一本书非常棒,部分原因是它超过850页长。Xcode下载现在推送2.5GB。该语言并不是简单编码的小工具,而是一个完整的软件包,旨在为程序员团队在重大项目中提供所需的所有支持。

该语言还包括大量用于处理现有Cocoa库的钩子和工具。苹果不想重写iOS和OS X,所以Swift让链接变得简单。整个项目的建立是为了保持对这些堆栈的兴趣,并使任何人都可以更容易地进入并开始编写应用程序。与此同时,你可以在你的iOS或OS X项目中使用任意多或少的Swift代码。

苹果并没有向Swift进军。毫无疑问,许多老前辈会坚持使用Objective-C。但是,对于那些精通其他语言和传统的程序员来说,Swift将使他们更容易学习Xcode并迅速提高生产力。这本身就是苹果向前迈出的一大步,它可能会带来比以往更多的本地iOS和OS X代码。斯威夫特不需要征服世界,就能成为送给世界的礼物。

这篇文章中,“第一眼:苹果的Swift一开始很简单”最初发表于InfoWorld.com. 关注应用开发移动技术在InfoWorld.com上。了解最新的商业技术新闻,请关注信息世界网在Twitter上

阅读更多关于应用程序开发的内容在InfoWorld的应用程序开发通道中。

这个故事“第一眼:苹果的雨燕很简单,第一眼”最初是由信息世界

加入网络世界社区足球竞猜app软件脸谱网LinkedIn评论那些最重要的话题。

版权©2014足球竞彩网下载

工资调查:结果在