歡迎加入QQ討論群258996829
來自星星的你 頭像
蘋果3袋
3
來自星星的你

零基礎(chǔ)現(xiàn)學(xué)蘋果新語言Swift ,可能嗎?

發(fā)布時(shí)間:2014-09-20 20:42  回復(fù):0  查看:2329   最后回復(fù):2014-09-20 20:42  

零基礎(chǔ)現(xiàn)學(xué)蘋果新語言Swift ,可能嗎?

在剛剛過去的蘋果 WWDC 2014 上,除了備受關(guān)注的 OS X 10.10 和 iOS 8 之外,蘋果還發(fā)布了一款全新的編程語言 Swfit。對蘋果遍及全球的開發(fā)者來說,Swift 無疑是 WWDC 2014 的一大爆點(diǎn),但對于那些跟電腦編程沒有太大關(guān)系的普通人來說,Swift 至多是蘋果發(fā)布的一款不明覺厲的新東西。不過,當(dāng)驚奇的在社交網(wǎng)絡(luò)上看到這樣:“實(shí)現(xiàn)我碼農(nóng)的夢想,就靠你了, Swift ! ” 的話之后,他們又覺得 Swift 這個(gè) logo 為橙黃色俯沖雨燕的新東西離自己又沒有那么遠(yuǎn)。

但和開發(fā)者們聊了一下會(huì)發(fā)現(xiàn),事情沒這么簡單。

1. 比現(xiàn)在的編程語言要高級

作為 iOS 系統(tǒng)內(nèi)部的開發(fā)語言,Swift 其實(shí)是現(xiàn)在正在使用的編程語言O(shè)bjective C (objc)的替代品。我們?nèi)缃裨?iPhone 中所使用的 app 都是用這個(gè)編程語言一行行代碼敲出來的。這個(gè)編程語言在 1980 年代初由 Stepstone 公司發(fā)明,之后作為 iOS 操作系統(tǒng)的編程語言,隨后者流行至今。

從級別上來看,objc 與 C語言/ C++ 同屬較低級,而新晉的 Swift 要比這些都高級,屬于跟微軟的開發(fā)語言 C# 和安卓的開發(fā)語言 Java 看齊的開發(fā)語言。

2.  也更加高效

由于 objc 與同級別的 C語言/ C++ 同屬較低的系統(tǒng)級,所以相對的開發(fā)效率、工程化程度也自然比較低,Swift 一出生就代表著更新?lián)Q代升級,自然也是更高效,比如編程的語法更加簡潔、語言的類型安全更加實(shí)現(xiàn),以及引入了許多動(dòng)態(tài)語言特征等,而在運(yùn)行速度上,它更是比objc 快了 3 倍?!按騻€(gè)比方,objc 就像傳統(tǒng)木工的鋸、斧、刨等手工工具,而 Swift 就像是一體化的木工車床。它屬于創(chuàng)作工具的升級。”科泰華捷科技有限公司 CTO 牛靖宇這樣告訴《好奇心日報(bào)》。

3.  所見即所得,會(huì)讓初學(xué)者更有存在感

在演示 Swift 的過程中, Apple 特地展示了實(shí)時(shí)代碼效果預(yù)覽功能(Swift Playground)。程序員可以在左側(cè)輸入代碼的同時(shí)就在右側(cè)實(shí)現(xiàn)代碼執(zhí)行演示。對于,資深程序員來說,這可能是一個(gè)檢查 bug 提高效率的好辦法,對于初學(xué)者來說,這個(gè)功能儼然就是一個(gè)鼓勵(lì)機(jī)制,敲幾行代碼就會(huì)出現(xiàn)相應(yīng)的圖案,簡直充滿了即視感!

零基礎(chǔ)現(xiàn)學(xué)蘋果新語言Swift ,可能嗎?

4.  學(xué) Swift,英語不好沒關(guān)系

在發(fā)布 Swift 官方開發(fā)者指南不到12 小時(shí)的時(shí)間里,Swiftchina.org 雨燕中文網(wǎng)就已上線,該網(wǎng)站在全網(wǎng)發(fā)出網(wǎng)絡(luò)眾包翻譯的邀請,這樣看來,網(wǎng)絡(luò)眾包翻譯的模式將有可能在盡可能短的時(shí)間內(nèi)幫你掃清學(xué)習(xí) Swift 的語言障礙。

5.  先別忙著學(xué)別人做評論

現(xiàn)在,各大社交網(wǎng)絡(luò),程序員社區(qū)都在忙不迭的評論 Swift 的性能,這些基于專業(yè)人士對于新產(chǎn)品敏銳洞察力下的判斷當(dāng)然無可厚非。但作為一個(gè)編程知識(shí)薄弱的初學(xué)者,就先別忙著看評論,然后學(xué)幾句看似內(nèi)行對 Swift 功能的喜惡評價(jià)?;蛘邞?yīng)該抱著學(xué)習(xí)的心態(tài),感受一下 Ourcoders 站長,資深 iOS 開發(fā)者 tinyfool 的話:“評價(jià) Swift 的好壞不應(yīng)該是從一個(gè)抽象的概念上來,去判斷它是好還是壞。我們應(yīng)該看的是,它是否符合它們使用的具體場景,是否可以給(特定的)用戶帶來便利和幸福感,”

6.  “從 Swift 開始,我們終于站在了同一條起跑線上!” 別天真了。

對于一個(gè)學(xué)習(xí)過 objc 編程語言的人來說,他們學(xué) Swift 肯定比零基礎(chǔ)的人容易的多。原因大概是平臺(tái)和框架沒變,只是語法變了。tinyfool 對《好奇心日報(bào)》這樣解釋這一點(diǎn):“就好像是我說普通話,你說上海話,CPU 還是 CPU,電腦還是電腦,只是語音語調(diào)變了,但是主要的名詞和世界觀沒變?!?

7.  什么叫做學(xué)會(huì)了一門語言

學(xué)會(huì)編程語言,會(huì)用編程語言到了解語言背后的 API 是一個(gè)循序漸進(jìn)的過程。基本上可以分為“三個(gè)段位”,第一段位是知道它的語法到底是怎么樣的,這是一個(gè)死記硬背的階段,相當(dāng)于你在英語考試的選擇題上可以全部做對,但是還不懂得怎么去用。第二段位是知道了怎么去用,從紙上談兵到了真正跟人交流的過程,這個(gè)時(shí)候你知道寫什么程序適合用哪種語言。第三段位,就是你能把你的思維完全轉(zhuǎn)換成編程思維,這跟學(xué)一門外國語言也很類似。對 ALCOL 語言做出過重大貢獻(xiàn)的 Alan J. Perlis 曾經(jīng)說過:“一種不改變你編程的思維方式的語言,不值得去學(xué)?!彼蚤L路漫漫,你得一點(diǎn)一點(diǎn)來。

8.  編程難度降低,然后呢?

“編程門檻雖然降低了,但生產(chǎn)力的門檻不會(huì)降低。 有越來越多的垃圾會(huì)被更容易的生產(chǎn)出來”,“開發(fā)門檻降低并不是一件壞事,因?yàn)樾碌娜藭?huì)進(jìn)入到編程體系里來,帶來更多全新的思路。”這是現(xiàn)在人們對除 Swift 功能之外另一個(gè)探討的兩大主流觀點(diǎn),這個(gè)類似于上升到技術(shù)與世界關(guān)系的倫理學(xué)問題是我們被“編程改變世界”或者“編程無用”沖昏了頭腦時(shí),應(yīng)該思考的!

您還未登錄,請先登錄

熱門帖子

最新帖子

?