了解Xcode之前,我们先要理解一下编译器这个概念。
编译器
也许一开始看到这个高端名词你并不知道它具体是什么意思。但是没关系,只要把以下内容倒背如流就可以了(笑)。
简单地说,编译器就是一个翻译官,它负责的就是把一种语言翻译成另一种计算机能够理解的语言。
你可能会问,什么C啊,C++啊,Swift啊不就是计算机能理解的语言吗?
其实并不是。电脑的官方用语是机器语言,就是一大串0和一大串1组成的二进制码组合。而这种组合正常人都理解不了,程序猿看了更是一脸蒙蔽,就像下面这个,在某台电脑上计算768+12288-1280需要这一串数字:
101100000000000000000011000001010000000000110000001011010000000000000101
试想如果大家编程都用这么一串东西岂不是很恐怖?(不如狗带,编程不如狗带)
所以就有人发明了汇编语言,就是由一串不知所云的单词来编程的语言,比如说下面这段:
C_S SEGMENT
ASSUME CS: C_S, DS:C_S
S_T:
MOV AX, C_S
MOV DS, AX
LEA DX, P_S
MOV AH, 9
INT 21H
MOV AH, 4CH
INT 21H
P_S DB 'Hello, World.', 36
C_S ENDS
END S_T
是不是依然感觉一头雾水?虽然使用了一些英文单词来取代数字,但是还是看不懂啊!而且汇编语言的最大缺点就是不同机器使用的汇编语言不同。也就是说一旦你换了电脑,就要重新学习一种语言,真是很大程度的限制了开发者们。
于是过了不久,高级语言终于出世了。他们使用普遍的英文单词,使编程的难度大大降低。并且高级语言具有极强的可移植性,就是说不同机器使用的同种高级语言的语法相同,这就意味着你在换电脑的同时并不需要去重新学习一门语言,实在是开发者们的一大福音。
啥?你问Swift?Swift当然是一门高级语言啦。
说了好久,终于说到编译器了。我们使用高级语言编程,可惜的是电脑根本看不懂。所以需要有一个东西来把我们使用的高级语言翻译成机器语言给电脑看,电脑才能做出反应。
那么问题来了,为什么我们不直接用现有的语言编程,而要弄出一个计算机语言呢,难道所谓编译器不能把我们说的中文、英语翻译成机器语言呢?
因为我们所使用的语言的语法比较复杂,同一句话可以用很多种方式说出来,而很有可能计算机只认识其中一种。所以我们不如规定一种语言,让它遵守一定的语法,让人来遵守这个约定而不是让计算机学会变通——显然前者更为容易。
Xcode
知道了编译器是什么,来理解Xcode这个东西就变得容易多了。Xcode也是一个编译器,专门供Objective-C以及Swift开发者使用。
但是Xcode编译器只能在苹果电脑,即Mac上使用。如果你没有苹果电脑,那就……
使用IBM Swift Sandbox。这是IBM公司推出的一款在线Swift编程工具,可以让你在线写Swift程序,不用为此专门去买一个苹果电脑。网址如下:
值得一提的是,IBM Swift Sandbox由于是一个外国网站,所以有可能会卡。那么你可以去开一个VPN来提高浏览速度。
什么?你也不知道VPN?
这就不关我事了,“谷哥”以及“度娘”也许可以解决你的问题。(羞涩的捂脸狂奔)
有关Xcode的更多内容,请看下节。