一早一起来,朋友圈除了被苹果发布会刷屏外,还漫天散布着一条类似的招聘消息:“招聘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. Java高并发实战,锁的优化

    锁优化 这里的锁优化主要是指 JVM 对 synchronized 的优化. 自旋锁 互斥同步进入阻塞状态的开销都很大,应该尽量避免.在许多应用中,共享数据的锁定状态只会持续很短的一段时间.自旋锁的思 ...

  2. Ubuntu 16.04安装基于nethogs衍生的网络监控软件(应用实时网速监控)

    基于nethogs衍生的网络监控软件有如下所列举的: nettop显示数据包类型,按数据包的大小或数量排序. ettercap是以太网的网络嗅探器/拦截器/记录器 darkstat通过主机,协议等方式 ...

  3. PopupMenu的演示样例

    弹出菜单是停靠在一个View上的一个模式菜单. 假设View对象下方有空间,那么弹出菜单将显示在停靠对象的下方,否则会显示在上方. 这是很实用的: 源代码地址:http://download.csdn ...

  4. laravel 邮件

    本文使用qq邮箱 env邮件配置: MAIL_FROM_ADDRESS = 17******92@qq.com MAIL_FROM_NAME = listen~ MAIL_DRIVER=smtp MA ...

  5. 条款十七: 在operator=中检查给自己赋值的情况

    在赋值运算符中要特别注意可能出现别名的情况,其理由基于两点.其中之一是效率.如果可以在赋值运算符函数体的首部检测到是给自己赋值,就可以立即返回,从而可以节省大量的工作,否则必须去实现整个赋值操作. 另 ...

  6. Django学习系列之中间件

    中间件的定义 中间件是一个.一个的管道,如果相对任何所有的通过Django的请求进行管理都需要自定义中间件 中间件可以对进来的请求和出去的请求进行控制 中间件是一类 django请求生命周期 自定义中 ...

  7. SVN的配置与使用方法

    1.所选服务器安装包:VisualSVN-Server-2.1.3.msi. 2.客户端安装包:TortoiseSVN-1.6.2.16344-win32-svn-1.6.2.msi 一.服务器的安装 ...

  8. NYOJ 55 懒省事的小明(哈弗曼树)

    懒省事的小明 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描写叙述       小明非常想吃果子,正好果园果子熟了. 在果园里,小明已经将全部的果子打了下来,并且按果子的不 ...

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

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

  10. ZOJ 3684 Destroy 树的中心

    中心节点就是树的中心,2遍dfs求到树的直径.而中心一定在直径上,顺着直径找到中心就够了. 然后能够一遍树形DP找到最小值或者二分+推断是否訪问到叶子节点. #include <iostream ...