喜欢 Swift 编程语言的人主要是初学者?

开发 开发工具
每隔几年都会有一家公司站出来说自己开发了一个独特的编程语言,一般都是“雷声大雨点小”,为什么这次的情况却有些不同?也许其中一个原因就是,其 发布者是拥有900万开发者的苹果,大家早已熟悉他们原有的编程语言Objective -C,也知道多少知道这门语言的弊端,而Swift似乎是有意地做出一些改变。

一早一起来,朋友圈除了被苹果发布会刷屏外,还漫天散布着一条类似的招聘消息:“招聘iOS程序员,要求拥有5年的Swift开发经验,有狼性,待遇月薪20K+,专车接送。”

随后身边的朋友很快就开始调侃:《21天精通Swift》、“打算开个7天的Swift培训班,保证上岗就业”等等。

这一切皆因为一件事情:今天凌晨苹果在WWDC大会上发布了新的编程语言Swift。

每隔几年都会有一家公司站出来说自己开发了一个独特的编程语言,一般都是“雷声大雨点小”,为什么这次的情况却有些不同?也许其中一个原因就是,其 发布者是拥有900万开发者的苹果,大家早已熟悉他们原有的编程语言Objective -C,也知道多少知道这门语言的弊端,而Swift似乎是有意地做出一些改变:

“因为objc比较像C++等传统面向对象语言,有很多现代的高级语言特性都没有,而其他像Ruby和Python这些正是因为有这些特性所以写代 码效率很高(这里说的不是执行效率),所以写objc就会跟写C++和Java那样繁琐。现在Swift相当于是抄了许多现代高级语言的特性,然后又做了 一套只有自家平台用的语言,一方面降低了开发的门槛,让很多只接触过现代语言的初学者都可以轻易上手,另一方面提高了大家的开发效率(只要你不是写跨平台 软件)。”——Terry

[[113763]]

从微博上看的话,很多开发者对这门新语言给予肯定的态度:

@郑玉璟:苹果的Swift是一门集大成的编程语言,剔除了其他语言大部分弊端,加入了诸如闭包等现代特性,在效率提升的情况下还可以极大地简化开 发工作,不得不佩服苹果工程师们的努力。从不同语言入门也变的容易。如果可以移植到其他平台并保持很好的稳定性,将会对java等带来毁灭性冲击。

@Sungrone:刚看了一下Swift的文档,感觉几爽。没有刚刚接触objc的抵触感觉。刚开始学objc时,最容易搞乱的是方法和委托,现在这个好了。委托什么的都放到闭包里解决

@YeeWang:LLVM革新了古老的Objective C,又为Apple平台带来现代时尚的Swift语言。LLVM虽也称为virtual machine,但是和以往的JVM/.net这类解释器不一样:LLVM能最终编译为机器原生语言。swift语言上能时尚,下能通C,相比较Java /C#这类语言就不那么容易了。

部分人阅读官方文档过后,认为Swift有着脚本语言的身影,并降低了初学者的门槛。

@程寄奴_野王:Swift 感觉好像很简单的样子,一下子拉低了开发iOS app的门槛。大量的脚本工程师可以转成搞iOS了。

@蓝色坠落:Swift 有点像 JavaScript ,脚本语言,同时也吸取了 Java 和 Python 的优点。

@Wayne-chan:确实像JS,但用一种弱类型风格表达强类型语言,Class设计很节制,比JS多了析构、override,但没 overwrite与private,只能像JS那样用函数空间隔离类链中符号命名。我猜Swift会对接JS,毕竟JS是目前iOS设备***能不经审查 就发布的编程途径。

@bitinn:Swift基本上就是反着做事情——与其把脚本语言通过标准变成更好的编程语言,不如把编程语言变成更像脚本语言的格式。我猜和多数抽象化一样,某程度的性能损失不可避免,所谓的高性能+跨平台有待验证。

不过有朋友告知,对Swift如此偏爱的开发者,大部分都是项目经验不丰富的初学者。“早上在Hacker News看到有人惊呼‘这门语言竟然把Go的很多语言特性都实现了’,也有人说‘这些特点早在几十年前就有编程语言实现了,它叫LISP’。其实算一下 Go语言出现和被推广的时间,你就知道发帖赞美的人是大概什么时候开始学习编程的了。”

原文链接:http://www.leiphone.com/swift-program-began.html

责任编辑:林师授 来源: 雷锋网
相关推荐

2010-03-15 18:55:22

Java编程语言

2014-08-06 10:19:38

编程语言程序员

2021-12-09 05:58:51

编程语言开发代码

2010-03-10 17:09:26

Python语言

2021-01-12 10:06:57

编程语言开发

2016-01-29 09:36:38

编程初学者编程趋势

2011-06-17 15:32:28

Qt

2011-06-17 14:12:32

Qt

2011-06-17 14:29:55

Qt

2011-06-17 15:06:14

Qt

2011-06-17 15:25:18

Qt

2011-06-17 15:37:42

Qt

2011-06-17 14:54:31

Qt

2011-06-17 15:44:25

Qt

2011-06-17 14:41:56

Qt

2011-06-17 15:19:28

Qt

2010-01-14 17:18:17

C++语言

2017-03-10 17:00:28

编程语言

2015-06-18 10:20:12

Swift初学者权限

2022-04-24 15:21:01

MarkdownHTML
点赞
收藏

51CTO技术栈公众号