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

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

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

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

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

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

  @郑玉璟:苹果的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语言出现和被推广的时间,你就知道发帖赞美的人是大概什么时候开始学习编程的了。”

喜欢Swift编程语言的人主要是初学者?的更多相关文章

  1. iOS Swift编程语言

    Swift,苹果于2014年WWDC(苹果开发者大会)发布的新开发语言,可与Objective-C*共同运行于Mac OS和iOS平台,用于搭建基于苹果平台的应用程序. Swift是一款易学易用的编程 ...

  2. Swift编程语言(中文版)官方手册翻译(进度8.8%)

    翻译着玩,进度会比较慢. 等不及的可以看CocoaChina翻译小组,他们正在组织翻译,而且人手众多,相信会提前很多完成翻译. 原文可以在iTunes免费下载 目前进度 7 JUN 2014: 8.8 ...

  3. Swift编程语言资料合集

    在本周二凌晨召开的苹果年度开发者大会WWDC上,苹果公司推出了全新的编程语言Swift.Swift 基于C和Objective-C,是供iOS和OS X应用编程的全新语言,更加高效.现代.安全,可以提 ...

  4. Apple Swift编程语言入门教程

    Apple Swift编程语言入门教程 作者: 日期: 布衣君子 2015.09.22 目录 1   简介 2   Swift入门 3   简单值 4   控制流 5   函数与闭包 6   对象与类 ...

  5. iOS中生成并导入基于Swift编程语言的Framework

    从iOS 8.0开始就引入了framework打包方式以及Swift编程语言.我们可以主要利用Swift编程语言将自己的代码打包成framework.不过当前Xcode 7.x在自动导入framewo ...

  6. Swift编程语言中的方法引用

    由于Apple官方的<The Swift Programming Guide>对Swift编程语言中的方法引用介绍得不多,所以这里将更深入.详细地介绍Swift中的方法引用. Swift与 ...

  7. Swift编程语言的相关资料

    苹果官方Swift文档<The Swift Programming Language> 苹果开发人员Swift文档及介绍 网友整理的Swift中文文档<Apple Swift编程语言 ...

  8. 苹果Swift编程语言新手教程【中国版】

    Swift代码语言教程:在刚刚过去的WWDC2014大会上,苹果公司新公布了一种编程语言Swift.据悉.Swift语言继承了C语言以及Objective-C的特性,且克服了C语言的兼容性问题.对于广 ...

  9. [转]Swift 编程语言入门教程

    今天在网上看到一篇非常好的教程,分享给大家 原文地址:http://gashero.iteye.com/blog/2075324 目录 1   简介 2   Swift入门 3   简单值 4   控 ...

随机推荐

  1. Oracle 设置用户密码永不过期

    --1.查看用户的proifle,一般是default select username,profile from dba_users; --2.查看概要文件(default)的密码有效期设置 sele ...

  2. 关于错误 e297: write error in swap file;E297: 交换文件写入错误

    在linux系统下修改文件vim的时候,忽然报错 E297: 交换文件写入错误 或者 e297: write error in swap file 原因:硬盘空间不足,我去,就剩下16M了

  3. ubuntu语言设置成汉语

    打开设置system setting,进入语言支持,有语言和地区格式.下载须要的语言并应用到整个系统. 按说明来就可以 这样的方法使得部分英语变为汉语.

  4. [Java Sprint] Spring Configuration Using Java

    There is no applicationContext.xml file. Too much XML Namespaces helped Enter Java Configuration Cre ...

  5. SSLStrip 终极版 —— location 瞒天过海

    之前介绍了 HTTPS 前端劫持 的方案,尽管非常有趣.然而现实却并不理想. 其唯一.也是最大的缺陷.就是无法阻止脚本跳转.若是没有这个缺陷,那就非常完美了 -- 当然也就没有必要写这篇文章了. 说究 ...

  6. Codechef Racing Horses题解

    找一个数组中两数之间最小的不同值. 思路: 1 排序 2 后前相减,比較得到最小不同值 三个数甚至很多其它数之间的不同值都是这么求了,时间效率都是O(nlgn) -- 排序使用的时间 原题: http ...

  7. 异步FIFO的编程

    对于异步FIFO.最基本的两个方面是地址控制和空.满标志位的产生.首先地址控制分别为读地址和写地址,每次读写时能读写地址应该加1.计数次数为ram深度的2倍.当读写地址相等时则空标志位有效,当读写地址 ...

  8. leetcode第一刷_Best Time to Buy and Sell Stock

    这样的题就不要去考虑N^2的算法了.肯定会超时的.乍一看,非常可能会想到贪心,可是普通的贪心思路是不行的,比方想找到一个最小值用来买入.尽管它跟最大值之间的差一定是最好的,可是最大值出如今它前面就不行 ...

  9. 树状数组 LA 4329 亚洲赛北京赛区题

    复习下树状数组 还是蛮有意思的一道题: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&cat ...

  10. linux 点命令

    cat a date . a Mon Jun :: CST linux .(点命令):读取并且在当前的shell中执行文件中的命令