我想你已经迫不及待的想要动手输入代码编写程序了,不过在此之前,先来了解一下这两种编程语言:Swift 和 C++。
就像吃苹果之前先进行必要的清洗工作、拿到一本书之前先看一眼作者一样,我们就来先了解一下这两种编程语言的背景知识。
什么是Swift && 什么是 C++
- Swift
Swift,苹果于2014年WWDC(苹果开发者大会)发布的新开发语言,可与Objective-C*共同运行于Mac OS和iOS平台,用于搭建基于苹果>平台的应用程序。
Swift是一款易学易用的编程语言,而且它还是第一套具有与脚本语言同样的表现力和趣味性的系统编程语言。Swift的设计以安全为出发点,以避免各种常见的编程错误类别。
2015年12月4日,苹果公司宣布其Swift编程语言现在开放源代码。长600多页的 The Swift Programming Language 可以在线免费下载。
—— 来自百度百科: SWIFT (计算机编程语言)
它允许 C、Objective-C、C++、Swift代码运行在同一个程序中.
- C++
C++是在C语言的基础上开发的一种面向对象编程语言,属于编译型语言,应用广泛;C++支持多种编程范式 --面向对象编程、泛型编程和过程化编程。最新正式标准C++于2014年8月18日公布。 其编程领域众广,常用于系统开发,引擎开发等应用领 域,支持类、封装、继承、多态等特性!
—— 百度百科: c++
Swift 与 C++对比
Swift 的优点在于:
...不仅具备编译语言的性能和效率,还兼具热门脚本语言的简洁和趣味.
—— 来自网易: 苹果公司宣布开放Swift源代码....Swift把几种主流语言的优势糅合得非常好...
“几种语言的优势”指的是:
Objective C的运行时动态支持,和基于编译期引用计数的内存管理模型,
Ruby灵活优雅的语法,
C++的严格编译期检查,C++11编译期类型推导,模版(之所以说模版template,而不是范型generic,是因为Swift的范型实现依靠编译器更多些,而不像Java/C#依赖于运行时支持),
Javascript和Ruby的closure。
糅合的结果就是,写Swift带给你的极致体验是无与伦比的。
...现在 Swift 还不稳定,语言、库、相关工具将会快速变动,而这恰好说明它在发展。
—— 来自知乎: 如何评价 Swift 语言?
C++的优点在于:
...融合着5种编程范型,即面向过程、基于对象、面向对象、泛型和函数式,在将所有泛型的优点提炼并发挥到极致的同时,又不拘泥于其中任何的一种。
—— 来自《C++ Primer 中文版(第5版)》的推荐序3C++真是一门好语言。当你需要为了你的项目放弃不同的部分的时候,C++都能帮你做到。当你需要不同的抽象层次需要不同的性能要求的是,C++还是能够帮你做到。如果你用别的语言,你最终会发现那个语言只能做某几类的项目。这是因为,C++能够自由的让你放弃某些部分,而别的语言会阻止你放弃某些部分。
—— 知乎: 怎么样才算是精通 C++?
Swift 和 C++ 都被运用在哪些地方
Swift :
1. 用于编写 iOS 和 OS X 应用
具体分别在:iOS、macOS、watchOS和 tvOS应用平台上使用。
2. 目前,一般项目中Swift主要编写界面和大部分逻辑,底层核心库大部分用C/C++编写。
C++:
不得不说 C++可以胜任绝大多数领域的编程,具体而言就是
1. 系统软件。
比如杀毒,优化,系统驱动,不过不少地方是c,c++混用的。
2. 对性能有高度要求。
比如google的索引,编译器,脚本语言引擎,游戏,网络服务器等。
3. 一些嵌入式平台,特定的平台只能跑c/c++。
需要注意的是现在Swift发展迅猛,是否仅限在苹果的平台开发应用,能否在其他领域大放异彩,一切还未定。但作为近两年来才发布的新编程语言,誓要融汇其他主流编程语言的优点与一身,并且还要加入新的特性,显然它志向很大。
这样的 Swift 是好的。本身的迅猛进化,证明它的生命力;而由于它的冲击,其他编程语言的进化速度也会大幅提升,最好可见的结果就是整个互联网生态的更加丰富、繁荣。
而对C++来说,其实用性和高效率一直都让别的编程语言难望项背,唯一的缺点就是学习周期长,Python的 Life is short, you need Python!(生命苦短,我用 Python!) 可见一斑。