说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

Swift,其实没那么任性

HTML文档下载 WORD文档下载 PDF文档下载
自发布至今,开发者对Swift语言的争论不绝于耳,有人认为Swift门槛低、现代化、有人则认为它还存在很多缺陷。Swift对于开发者来说究竟意味着什么?

20年来,苹果一直把Objective-C作为主要的编程语言,而在2014年WWDC大会上,苹果推出了一个全新的编程语言Swift。Swift语言不仅兼容Objective-C,还从Python和 JavaScript中吸取了许多东西。Swift一经推出,便引起了多方的讨论,很多人认为这门语言门槛低、可读性强,大有将取代Object-C的趋势,也有些人认为,Swift没有大家想象的那么好,还有许多急待解决的问题,比如与C/C++语言对接麻烦、没有针对变量的隐私机制、基础库不完善、没有异常机制等。相较而言,国外开发者面对这门新语言的态度比国内开发者冷静的多。

“老码”是一个由多年开发经验的程序员组成的团队,不久前他们的新书《老码说编程之玩转swift江湖》刚刚面市,对于这些资深开发者来说,Swift意味着什么?他们又是怎样看待这门新语言的呢?老码团队成员王芳杰将为我们一一解答。


CSDN:你认为Swift语言的发布,对于开发者来说有哪些意义?

王芳杰:自从WWDC 2014上发布Swift语言以来,不管是国外论坛还是国内网络都在讨论这个问题,有的甚至上升到了很高的层面。其实在我们看来,意义在于Swift带来一个新的选择。

  • 对于土著Objective-C开发者:需要思考是坚守还是接受。
  • 对于想入行的朋友:意味着可以以低曲线的方式进行iOS App的开发。
  • 对于公司:Objective-C开发人员一直以人选少、薪资高、不稳定著称,让移动互联网类型的公司头疼不一,Swift语言让他们未来多了一种选择。

CSDN:开发者该以哪种心态看待这门新语言?

王芳杰:对于这个问题,用乔老爷子的那句名言回答最好:Stay hungry, stay foolish。我们建议大家应该以一种开放包容的态度来看待Swift,虽然Swift版本不稳定,先后经历了13次的版本更新才达到来了1.1的稳定版本; 老码的队员大都有近10年的一线编码经验,被C++虐过,也虐过C++,当然Java、C#、JavaScript、Ruby,语言排行榜前十位的语言我们都把玩过。对比言之,我们有理由说Swift语言是非常优秀的开发语言之一,我们需要接纳和学习。

CSDN:自发布至今,开发者对于Swift语言有哪些令你印象深刻的反馈?

王芳杰:Swift语言出身名门,因为诞生于苹果这样的航母级公司,所以关注度比较高。这也意味褒贬不一,我们从正反两面来说一下开发者们的反馈。

正面反馈,最典型的是Swift门槛低,学习简单”,甚至我看到有位著名的培训老师说,他花2个小时就把Swift语言融会贯通了。当时我深深的惊呆了。其实我们刚开始着手翻译Swift英文文档的时候也这么觉得,曾经感叹这不是和写JavaScript感觉一样吗?但当我们的书写完前三章的时候,便深深的觉得自己幼稚!Swift语言骨子里有Objective-C的基因,但有一个比较漂亮的外表,写起来好看,入门流畅,不像Objective-C满篇的方括号和奇怪的函数定义。但Swift语言借鉴了JavaScript、Ruby等其他脚本语言的特性,太花哨、太灵活、语法点太多,要融会贯通,没有几万行的代码量是不行的。

反面意见Swift年幼,Objective-C永存”。对于这个反馈,我们的感觉也是两个字:幼稚!决定一门语言成败的原因在于多少人用。乔老爷子在世的时候就已经开始谋划苹果自己的语言,LLVM大牛Chris的加入让这个计划得以面世,足见苹果对Swift的重视,再加上苹果成功且封闭的生态圈,Swift语言必然大火。Objective-C语言也会逐渐被冷落。可能有一群Objective-C的支持者会拿Swift基础库少、语言不成熟、性能测试比不上Objective-C说事。我们的回答是:只要用的人多,这些都不是事儿。不信可以去看Swift语言排行榜,短短半年已经飙升到了第13位,再去看看Github和SourceForge上,Swift的项目早已过千。

CSDN:与国内开发者的热情相反,国外开发者对待Swift的态度可能更为冷静,比如有人认为Swift有一些地方还不够完善(包括与C/C++对接麻烦、没有针对变量的隐私机制、基础库不完善、没有异常机制等),对此类问题你怎么看?

王芳杰:我们每天都在关注国外的Swift论坛、网站和Google+上的评论,确实有很多人提出你所说的这些问题。不过我们观点是:这都不是事儿,最终的结果是“在批评中接受”。我们在测试XCode6.2 Beta3的时候发现Swift与Objective-C和C/++对接很麻烦,甚至有语法级别的错误,甚至使用泛型会导致SourceKit崩溃,但是这些都会逐渐被苹果修复,小伙伴们不用太担心。说到隐私机制,其实在XCode6 Beta5的时候,已经增加了Public/Private/Protected的支持,苹果有自己的道理,我们翻译的Swift Blog中一篇文章讲解了这个原因。至于对变量级别的隐私支持,以目前苹果的态势看应该不会增加,因为这和Swift语言开放式的特质相违背。

CSDN:对于那些iOS开发者来说,要接受这门新语言,要迈过哪些技术门槛?

王芳杰:我能说没门槛吗?对于有iOS开发经验的开发者来说,地球上最古怪的语言之一Objective-C都用过了,还有什么能难倒他们呢!只要心理上接受,其实是可以做到平滑过渡的。不过学习的过程中有些细节语法要注意,比如Swift引入了可选变量Optional(Objective-C有比较近似的NSNil),Swift的闭包特征(Objective-C有比较类似的Block),大家用的时候注意就可以了。

CSDN:对于希望学习Swift语言的开发者,你有哪些建议?

王芳杰:这是老码团队微博和《玩转Swift江湖》读者群的热点问题TOP5之一了,我们的建议包括以下几点。

  • 学习任何一门语言,捷径只有一条:动手去做,别无其他。如果你不是“撸码奇才”,什么“21天精通Swift”都是忽悠人的。
  • Swift语言是标准的面向对象语言,朋友们需要先领悟OO的思想、编程方法、网上资料很多。
  • 前面都具备了,接下来就是动手,Swift文档上的例子都要动手敲一下。
说到资料,我们觉得最好的资料是苹果官方的Swift语言文档(Swift Programming Language),但对英文要求较高;如果英文不济的话,可以看老码团队参与翻译维护的Swift中文文档其次可以买一些书,市面上有很多Swift的书,因为我们是写书的,所以不便评价书的好坏,但有一个原则大家要注意,那就是:出版日期必须在2014.10.11号之后,因为在这个时间点苹果发布了XCode6.1正式版,Swift语法才稳定,还有一个小窍门就是书目录里含有:可失败构造器,因为这个特性出现在XCode6.1。除此之外,订阅一些Swift RSS,比如CSDN、Cocoachina、SwiftBlog等。每天可以看到国内外对Swift语言的分析和总结。也欢迎大家关注我们的微博(@未来眼之老码团队),因为我们会第一时间发布苹果Swift语言ReleaseNote的翻译总结。

CSDN:在你写书的过程中,有哪些有意思的经历?

王芳杰:说实话,我们还没有从写书的劳累中恢复过来,过去的六个月所有的心思和精力都放到这本书上了。说起感受只有一个“累”字表达,说到有意思的事,还真不多,说两件吧。

  1. 小面馆的故事——与Swift邂逅。老码团队的点子诞生在一个小面馆,大家当时想每天闲着也是闲着,不如学点东西吧,于是才有了和Swift的邂逅。
  2. 中年码农的悲哀。我们的书基本是在晚上写的,我们几个人都有小孩,每天晚上开Online Meeting,Review章节的时候,听筒里全是小孩的哭声,不绝于耳,经常Review一半就听到“再闹,再闹,把你扔厕所头去!”(方言),Snow在骂她女儿。或者会听到“你们先整,我过哈来”(方言),原来Baelish的小孩拉屎了。这段经历绝对是刻骨铭心的。

CSDN:对于Swift语言在产品、项目中的应用,你认为市场的接受与爆发点大概在什么时间?

王芳杰:我仅说说我们的一家之言。Swift已经被市场接受了,我们有2000多人的Swift学习群,从Swift语言排行也看的出来,Swift开发的产品也已经逐渐出现在了App Store中。但我觉得大爆发会在明年年底左右。原因是:

  • Swift开发群体需要一段时间培养,这个时间需要半年以上;
  • Swift1.0还有一些问题,需要修复,预计明年年中Swift2.0会出来,到时会好很多;
  • Swift的第三方库需要时间的积累;
  • Swift的知名度需要进一步提高,这个周期也需要一年左右的时间。
SQL语句中的删除和改变-Delphi资料 TDataLink类别的说明-Delphi资料 TDBGrid控件中对多个记录的处理-Delphi资料 安装BDE需要的东东-Delphi资料 保存DBGrid中栏的字段名及尺寸-Delphi资料 动态生成定义数据库-Delphi资料 动态组成SQL速句-Delphi资料 多层C/S的客户端调用服务器端的方法-Delphi资料 关于dephi数据库的动态建立-Delphi资料 基 于WEB 的 数 据 库 查 询-Delphi资料 计算数据库某字段的值-Delphi资料 计算字段值-Delphi资料 建立应用软件注册安全机制-Delphi资料 建立自己的数据字典库-Delphi资料 将BLOB字段的BMP图显示出来-Delphi资料 将图像放入数据库中-Delphi资料 解 决sybase 用 户 数 据 库 不 能 进 入 故 障 的 一 种 方 法-Delphi资 解决sybase用户数据库不能进入故障的一种方法-Delphi资料 解决一个DBF表时的"Index not found.."错误-Delphi资料 精简Delphi数据库应用系统 精简Delphi数据库应用系统-定制BDE驱动程序 精简数据库应用系统-Delphi资料 开 发 基 于ORACLE7 数 据 库 的 管 理 信 息 系 统-Delphi资料 开 发AS/400 应 用 系 统: PB5 与Delphi3 的 比 较 利 用Delphi 开 发 响 应 用 户 输 入 的 数 据 库 查 询Web Server 程 利用Delphi开发响应用户输入的数据库查询Web Server程序 利用Tbatch组件完成数据批处理-Delphi资料 如 何 恢 复Sybase SQL Anywhere 的 数 据 库-Delphi资料 如何捕捉KEY VIOLATION等错误-Delphi资料 如何得到SQL返回的计算结果-Delphi资料 如何动态的读取Delphi中的PopupMenu的Caption ? 请问如何完全编译程序?(30分相送)急!急!急! 一个聊天机器人的编程思想(JAVA)!300分!言而有信! 新手问题 请各位指教一个运行程序出错!调试完给分! 关于速达财务的问题 怎么样改变一个控件的颜色? 在VC里用STL的话,如何实现类的序列化..如果不用STL呢 去除字符 我打开帖子后,显示的字体是楷体,看不清楚,请问是怎么回事,怎么改过来? 技术难题,希望大家帮忙解决,谢谢。 c加上API编程 遇到的问题??? 在mainfram中增加了一个dialog(CG_IDD_SEARCH),对应变量 m_Search 我不知道这是什么错误? 请问C#中如何截取字符串最左边n位? 在插件的dll中生成activeX控件,但我在创建控件的时候出错! 为何我在一个程序中使用Dim tbs As Connection,可以使用tbs.Open,在另一程序中 谁能给B/S和C/S结构下一个清晰的定义?? 请大家从深层次谈谈“非典”对软件公司的各方面影响。 我该怎么办?有道理的给分。 晕了,安装MS SQL SERVER2000的时候,界面停在MSDTC就不动了,怎么回事情? 有谁用过adobe的生成pdf文件的java package???? 如何往串口的发送脚送出一个持续10ms的低电平? IIS6中文件上传程序为何只能传小于200K的文件? 在win中删除了桌面快捷方式,怎么恢复??求助! 大虾们图书管理系统中图书与管理员表到底要不要建关系 请教模糊查询,!!!!! 怎么样用asp实现阴历的查询??? 请高手赐教!! 大家帮忙:为什么我在调试程序时不能跟踪进入VCL的方法代码? JSP调用session的问题? ....同一用户不能同时在线两次的完整解决方法......在线等 批量数据提交 cqzyf 接分 1 问个VC6.0里面的1个小问题! 怎样使一个按钮成为默认按钮? 小问题,高分请教用滑动条制作的调色板问题。 在Asp怎样连接Access数据库? 跳线 高分求DELPHI4.0中的哪个做安装程序的工具,只要这个版本的! 难道是Delphi6的Bug吗?还望遇到过这样问题的大哥多多指教! 怎样实现要最新的信息? 一个疑惑的问题? 此觸發器該如何寫 关于数据库更新的问题!帮帮忙,50分就是你的啦! easy问题送大分,DLL中的资源,马上结贴 菜鸟刚学vc.net,新建了一个dialog based,只有一个窗体,我在窗体上放一个按钮,这就是我的程序了,运行之后生成了可执行文件,我把他拷 不明白交换机的网管功能? 请问:如何将richtextbox中显示的内容转换成图像信息?(急) 请各位同志帮我看看这段程序: 谢谢! 没有免费的午餐.各位求救.dbf文件损坏,如何修复(没有带.cdx文件) 在线等!急急急!!! 请大家帮忙 急需解决!!!!! 泰辣椒酱工厂被指呛辣气味扰居民 在美德国派代表团赴美 要求签署协议保证不卡梅伦首次跌出权力榜前十 遭英媒体嘲叙反对派称副总理遭解职或为叙政府“化法国称去年查处医保舞弊诈骗金额超一亿日本参议员当面向天皇递书信 官房长官印度一大客车凌晨起火爆炸 造成睡梦中印度一客车爆炸起火44人死 司机清洁朴槿惠称决不容忍腐败 要求根除核电腐男子扮高富帅专门诈骗按摩女 谎称投资俄罗斯一火山喷发 烟柱高万米持续50媒体曝美全球监听地图 澳大利亚是美监近3成日本大学毕业生3年内离职 疑被小狗被饿三周吃伞充饥 其主人不愿救治研究证明蝙蝠系非典传播源 病毒可由动西班牙首相关注美监听行动 称将听取情田中角荣之女真纪子拟参加下一届日本众科学家研制出人造血液 目前已可在老鼠新10英镑钞票印简 奥斯丁头像 被批出差“一夜情”伤脸 澳最高法:不算工纽约提高香烟禁售最低年龄 未满21不再见了各位 ,我要去迪拜打工了……《重生爱人》:郑元畅的刺骨冰冷哪对会更幸福:美团点评、滴滴快的、5库兹韦尔和他的奇点大学加比亚迪尼冬窗或离开那不勒斯哈佛老爸、哥大老妈的非主流“幼升小”有大事 | 绯闻女孩Queen B也辣手摧“肉”记:晒一晒我养的多肉植物〔〕女人的姿态,不一样的人生!央视网商城正式开启 “联合发布”全新他们曾经来过这里,我们却错过了〔〕喜欢短发吗?来~教你一招!海沃德:球要给库里,勇士赢下系列赛让你停不下来的新玩具:超轻粘土养成记〔〕裤子短了怎么办?索罗斯胡说:中国经济衰退会致第三次世中年女子带卖萌草吸引到蝴蝶 惊呆网友一根香蕉与人体的秘密?绝对长知识 !刘若英回京养胎三年挣910万,你也可以! 第一部 艺术家的颓废调调 巴黎博主Tony
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘