转载http://wanwu.tech/2017/03/02/programming-and-Swift/
开始的话
编程,就是把你的思路转为计算机可执行的代码。
怎样编程与使用什么编程语言关系不大,所以我认为到底使用什么语言作为编程入门并不重要,不过编程语言不要语法过于复杂,从而掩盖编程本身还是很重要的。
我现在主要进行iOS方面的教学工作,所以这里采用Swift来进行编程的入门语言。
需要指明的是,本书的重点在于如何编程,Swift只是一个实现编程的工具,所以我不希望大家把主要精力浪费在Swfit各种细节上,我也不会仔细讲解这些语法细节,这些东西完全可以在实际开发中查文档,慢慢体会,真正吸收,不过我会给出很多相关参考资料以供学习。但是,工欲善其事,必先利其器,所以Swift必须要学好。
有了一身真功夫,再有倚天屠龙在手,定能帮你。。。什么呢???知道自己真的要更好好的学习,千万不能浪费时间而已。。。因为当你使用倚天剑的时候,旁边的朋友已经在学打枪了。所以,还是那句话,打好基础。
Swift介绍
Swift是苹果于2014年WWDC(苹果开发者大会)发布的新开发语言,可与Objective-C共同运行于Mac OS和iOS平台,用于搭建基于苹果平台的应用程序。
Swift是一款易学易用的编程语言,而且它还是第一套具有与脚本语言同样的表现力和趣味性的系统编程语言。Swift的设计以安全为出发点,以避免各种常见的编程错误类别。
2015年12月4日,苹果公司宣布其Swift编程语言开源。长600多页的《The Swift Programming Language》可以在线免费下载。
Swift语法特点
首先,Swift语法简便,容易阅读和维护。推断类型使代码更干净,不易犯错误,而模块消除了头,并提供命名空间。内存自动管理,而你甚至都不需要输入分号。
其次,Swift更加安全。它消除了不安全的代码,变量总是初始化之前使用,数组和整数检查溢出,内存自动管理。
更重要的是,Swift高效强大。它是为高效而强大的编程而创建的语言,采用了高性能的Apple LLVM编译器,Swift代码转化为优化过的本地代码,充分利用现代化的Mac,iPhone和iPad的硬件。语法和标准库也非常简洁,让编程的流程大大缩短、简化
Swift采用了C和Objective-C语言中的优秀成分,包括了很多其他语言的特征,如类型,流程控制和运算符,还提供了面向对象的特性,如类与协议。
Swift特有许多其他的功能,如:
- 闭包的统一与函数指针
- 元组和多个返回值
- 泛型
- 快速而简洁的迭代范围或集合
- 支持的方法,扩展的协议结构。
- 函数式编程模式,例如:映射(map)和过滤器(filter)
这本书面向谁
面向纯初学者!!!,对!就是你!!!
这里会有很多练习和挑战,锻炼你的编程技能,测试你的编程能力
你需要什么
首先,你需要热情,没有热情,请走开。
其次,你需要一台运行Mac系统的电脑。最好使用苹果电脑,如果限于经济条件,暂时可以使用黑苹果或者苹果虚拟机,因为单纯的学习Swift并不会使用太多系统资源。(其实使用Linux系统甚至Windwos系统也是可以的,但是配置比较复杂,这里不做介绍)
最后,你需要安装Xcode 8或者以上版本。本书使用Swift 3语法,所以必须要Xcode 8或者以上才可以。(如果不是Mac系统,可以使用其他编辑器,有兴趣可以自己查阅文档)
体系
本书将从基础到高级,循序渐进的介绍如何编程,并充分利用Swift特性,将Swift的威力充分发挥。
详细体系,我基本写完再补充吧,毕竟,这个只是一个初稿。
说明
本书初稿的体系借鉴《Swift Apprentice v2.0》,加入自己对编程的理解,并且会逐步渗入本人学习《Structure and Interpretation of Computer Programs》(SICP)的体会。
为什么不按照SICP来写一个Swift版本呢?最主要原因是我的能力不够,另一个原因是这样对初学者太难了。