2019独角兽企业重金招聘Python工程师标准>>>

在刚刚过去的苹果 WWDC 2014 上,除了备受关注的 OS X 10.10 和 iOS 8 之外,苹果还发布了一款全新的编程语言 Swfit。对苹果遍及全球的开发者来说,Swift语言 无疑是 WWDC 2014 的一大爆点,但对于那些跟电脑编程没有太大关系的普通人来说,Swift语言 至多是苹果发布的一款不明觉厉的新东西。不过,当惊奇的在社交网络上看到这样:“实现我码农的梦想,就靠你了, Swift ! ” 的话之后,他们又觉得 Swift 这个 logo 为橙黄色俯冲雨燕的新东西离自己又没有那么远。

但和开发者们聊了一下会发现,事情没这么简单。

1. 比现在的编程语言要高级

作为 iOS 系统内部的开发语言,Swift 其实是现在正在使用的编程语言tive C (objc)的替代品。我们如今在 iPhone 中所使用的 app 都是用这个编程语言一行行代码敲出来的。这个编程语言在 1980 年代初由 Stepstone 公司发明,之后作为 iOS 操作系统的编程语言,随后者流行至今。

从级别上来看,objc 与 C语言/ C++ 同属较低级,而新晋的 Swift 要比这些都高级,属于跟微软的开发语言 C# 和安卓的开发语言 Java 看齐的开发语言。

2. 也更加高效

由于 objc 与同级别的 C语言/ C++ 同属较低的系统级,所以相对的开发效率、工程化程度也自然比较低,Swift 一出生就代表着更新换代升级,自然也是更高效,比如编程的语法更加简洁、语言的类型安全更加实现,以及引入了许多动态语言特征等,而在运行速度上,它更是比objc 快了 3 倍。“打个比方,objc 就像传统木工的锯、斧、刨等手工工具,而 Swift 就像是一体化的木工车床。它属于创作工具的升级。”科泰华捷科技有限公司 CTO 牛靖宇这样告诉《好奇心日报》。

3. 所见即所得,会让初学者更有存在感

在演示 Swift 的过程中,特地展示了实时代码效果预览功能(Swift Playground)。程序员可以在左侧输入代码的同时就在右侧实现代码执行演示。对于,资深程序员来说,这可能是一个检查 bug 提高效率的好办法,对于初学者来说,这个功能俨然就是一个鼓励机制,敲几行代码就会出现相应的图案,简直充满了即视感!

4. 学 Swift,英语不好没关系

在发布 Swift 官方开发者指南不到12 小时的时间里,Swiftchina.org 雨燕中文网就已上线,该网站在全网发出网络众包翻译的邀请,这样看来,网络众包翻译的模式将有可能在尽可能短的时间内帮你扫清学习 Swift 的语言障碍。

5. 先别忙着学别人做评论

现在,各大社交网络,程序员社区都在忙不迭的评论 Swift 的性能,这些基于专业人士对于新产品敏锐洞察力下的判断当然无可厚非。但作为一个编程知识薄弱的初学者,就先别忙着看评论,然后学几句看似内行对 Swift 功能的喜恶评价。或者应该抱着学习的心态,感受一下 Ourcoders 站长,资深 iOS 开发者 tinyfool 的话:“评价 Swift 的好坏不应该是从一个抽象的概念上来,去判断它是好还是坏。我们应该看的是,它是否符合它们使用的具体场景,是否可以给(特定的)用户带来便利和幸福感,”

6. “从 Swift 开始,我们终于站在了同一条起跑线上!” 别天真了。

对于一个学习过 objc 编程语言的人来说,他们学 Swift 肯定比零基础的人容易的多。原因大概是平台和框架没变,只是语法变了。tinyfool 对《好奇心日报》这样解释这一点:“就好像是我说普通话,你说上海话,CPU 还是 CPU,电脑还是电脑,只是语音语调变了,但是主要的名词和世界观没变。”

7. 什么叫做学会了一门语言

学会编程语言,会用编程语言到了解语言背后的 API 是一个循序渐进的过程。基本上可以分为“三个段位”,第一段位是知道它的语法到底是怎么样的,这是一个死记硬背的阶段,相当于你在英语考试的选择题上可以全部做对,但是还不懂得怎么去用。第二段位是知道了怎么去用,从纸上谈兵到了真正跟人交流的过程,这个时候你知道写什么程序适合用哪种语言。第三段位,就是你能把你的思维完全转换成编程思维,这跟学一门外国语言也很类似。对 ALCOL 语言做出过重大贡献的 Alan J. Perlis 曾经说过:“一种不改变你编程的思维方式的语言,不值得去学。”所以长路漫漫,你得一点一点来。

8. 编程难度降低,然后呢?

“编程门槛虽然降低了,但生产力的门槛不会降低。 有越来越多的垃圾会被更容易的生产出来”,“开发门槛降低并不是一件坏事,因为新的人会进入到编程体系里来,带来更多全新的思路。”这是现在人们对除 Swift 功能之外另一个探讨的两大主流观点,这个类似于上升到技术与世界关系的伦理学问题是我们被“编程改变世界”或者“编程无用”冲昏了头脑时,应该思考的!

史上最佳0基础Swift语言视频教程下载链接:http://dwz.cn/yAFtvjavascript:void(0);

转载于:https://my.oschina.net/u/870578/blog/357115

零基础也可现学苹果Swift语言?太傻太天真相关推荐

  1. 学习python一开始枯燥_编程零基础应当怎样开始学python?他说,看这三个经典方法...

    很多时候,想就是不如做. 与其想着怎样开始学python,不如赶紧找份python教程先看起来! 当然,这只是告诉你,想不如开始做! 下面,我针对python初学介绍一下可以借鉴的方法! 1.看书 这 ...

  2. 0基础学python-看完这篇,零基础也知道怎么学Python

    原标题:看完这篇,零基础也知道怎么学Python 近期 ,不少读者后台询问类似这样的一些问题 : 大佬 ,我是一个小白 ,很想学习 Python ,它能做些什么啊 ?您这边有什么好的入门建议吗 ? 坦 ...

  3. python要学多久-零基础python培训需要学多久?

    目前市场上对于Python开发人才的需求与日递增,所以很多人都会选择去学Python.那如果是零基础又该如何学Python呢?小白学Python需要多久呢?传智播客根据以往的python培训经验给大家 ...

  4. python零基础怎么学-零基础的小白怎么学python?

    零基础的小白怎么学python?下面本篇文章就来给介绍一下,希望对你们有所帮助. 1.选择Python版本 对于Python工程师来说,Python的版本则是你们的工作环境.所以在学习之前一定要考虑选 ...

  5. 电脑小白学python_零基础的小白怎么学python?

    零基础的小白怎么学python?下面本篇文章就来给介绍一下,希望对你们有所帮助. 1.选择Python版本 对于Python工程师来说,Python的版本则是你们的工作环境.所以在学习之前一定要考虑选 ...

  6. 入门Python难不难?零基础到底要怎么学Python?

    近几年的Python编程发展得非常好,又因为人工智能的发展而发展.入门Python难不难?零基础到底要怎么学Python?本文,小分享入门Python需要掌握的知识. 1.数据库:Python在数据库 ...

  7. 零基础学python-看完这篇,零基础也知道怎么学Python

    原标题:看完这篇,零基础也知道怎么学Python 近期 ,不少读者后台询问类似这样的一些问题 : 大佬 ,我是一个小白 ,很想学习 Python ,它能做些什么啊 ?您这边有什么好的入门建议吗 ? 坦 ...

  8. 0基础学python要多久-零基础python培训需要学多久?

    目前市场上对于Python开发人才的需求与日递增,所以很多人都会选择去学Python.那如果是零基础又该如何学Python呢?小白学Python需要多久呢?传智播客根据以往的python培训经验给大家 ...

  9. python零基础自学教材-零基础的小白怎么学python?

    零基础的小白怎么学python?下面本篇文章就来给介绍一下,希望对你们有所帮助. 1.选择Python版本 对于Python工程师来说,Python的版本则是你们的工作环境.所以在学习之前一定要考虑选 ...

最新文章

  1. navicat 批量修改列数据
  2. Android实现点击事件的4种方式
  3. 【深入Java虚拟机JVM 05】HotSpot对象探秘
  4. SharePoint 2013 Search REST API 使用示例
  5. python的常用数据类型_python 常用数据类型
  6. linux7网卡配置vlan,centos7配置vlan,实现一个网卡两个地址的功能
  7. 如何在开盘15分钟内发现当天黑马
  8. [转载] --- Fastjson1.2.68版及以下全版本远程代码执行漏洞通告
  9. 《Introduction to Computing Systems: From bits and gates to C and beyond》
  10. css中的滤镜,CSS中的filter(滤镜)属性
  11. ubuntu下opencv和qt的安装配置
  12. sharepoint 2010 在线打开office时报错
  13. Python的输出、判断、循环函数:Luogu1014Cantor表
  14. 博士毕业最高201万!华为顶级薪酬招“天才少年”
  15. Android 打造万能网络解析框架
  16. java 量化指标_量化投资学习笔记13——各种指标的绘图、计算及交易策略
  17. Win10官网原版安装
  18. 轻量级图像分类模型-MobileNetV3阅读笔记
  19. 一个程序员的成长进阶路径
  20. 无线网络-LTE (02) 通信过程之 Attach procedure

热门文章

  1. Markdown演示格式语法
  2. WordPress 响应式全站 AJAX 主题:Beginning
  3. Spring Cloud微服务之Mybatis-Plus代码生成器整合(四)
  4. c# int byte转
  5. 手把手教你如何安装Mac OS X 图文详细教程
  6. 用C#读取XML文档
  7. ASP.NET从字符串中查找字符出现次数的方法
  8. Magento 1.9.X 系列教程
  9. Python_排序算法实现
  10. 【转载】你不得不知道的深度学习网络画图工具