91亚洲精华国内精华精华液_国产高清在线精品一区不卡_精品特级一级毛片免费观看_欧美日韩中文制服有码_亚洲精品无码你懂的网站369

蘋果自家的編程語言 Swift 一經推出便引起了多方討論,一些人說 Swift 將會改變整個蘋果的應用生態(tài),一些人則認為這不過是一個玩具語言。因此今天我和極客學院的創(chuàng)始人靳巖,以及氪加的 iOS 開發(fā)工程師盧侃一起聊了聊 Swift 對互聯(lián)網的影響。有趣的是,我們三個,一個是互聯(lián)網的觀察者(我),我一個是互聯(lián)網技術教育的從業(yè)者(靳巖),一個是 iOS 應用的開發(fā)者(正為避免失業(yè)而開始看 Swift 的盧侃),都對 Swift 可能帶來的前景感到興奮。

觀察者暮山:

從一個旁觀者的角度,我認為 Swift 的代表的是編程語言的基本發(fā)展方向。

縱觀計算機的發(fā)展史,我們可以看到,計算機編程語言在由以機器為中心向以人為中心發(fā)展,即,從更便于機器閱讀的語言發(fā)展為更便于人類編寫,更接近人類自然語言。

最開始的電腦編程都是人工輸入“0”和“1”的機器語言,完全以電腦為中心。后來大家覺得每天輸“0”“1”效率實在太低了,便有人發(fā)明了匯編語言,用一些符合和字母來代替特定的“0”和“1”的組合。再后來,匯編語言也顯得寫起來太慢,如果想用匯編語言寫一個較大的程序需要海量的代碼。于是有人發(fā)明了 C 語言這門“高級語言”,讓開發(fā)者本身能夠更高效快速的編寫代碼,同時不太犧牲計算機讀取代碼的效率。然后 C 語言迅速成為了代碼界的主流語言。

盡管 C 語言比起最初的機器語言已經好懂很多,而且需要寫的代碼量更少了,但依然有人想,編程語言能不能更簡單,更像人話?這就出現(xiàn)了腳本語言,比如大家熟知的 Python,Perl,以及我們的網站所用的 PHP。然而腳本語言并沒有像 C 語言一樣基本替代了匯編語言,這是為什么呢?

最簡單的原因便是,腳本語言運行效率較低。電腦并不理解腳本語言,因此,用腳本語言寫的程序會被轉化為機器語言,從而讓計算機執(zhí)行。然而問題是,這就好像我說中文,你說英語,我們之間隔了一個翻譯,翻譯給機器后總是會產生詞不達意的情況,因此許多本來很簡單的運行會被拖的冗長,從而降低了運行效率。而 C 語言等面向機器的語言則更像是一個懂英語的人用中文說話給翻譯,他了解英語思考者的思路和邏輯,并且明確的用中文中類似的表達說出來,所以 C 語言的運行效率更高。

而我對 Swift 看好的原因便是它既解決了腳本語言運行效率的問題,又繼承了其簡潔的語法和強大的功能。Swift 語言的發(fā)明者 Chris Lattner 之前最大的成就便是開發(fā)了編譯系統(tǒng) LLVM,能將高級語言轉換為機器語言,也就是前文所說的“翻譯”。Lattner 也因為 LLVM 其極大的提高了包括 Objective C 在內的諸多高級語言的執(zhí)行效率而獲得了美國計算機協(xié)會頒發(fā)的“軟件系統(tǒng)獎”。這次 Lattner 開發(fā) Swift 相當于從高級語言到編譯器做了個全套,并且他表示 Swift 在許多方面的運行效率都優(yōu)于 Objective C,而且遠超的 Python。

也就是說,如果 Swift 的運行效率真的像 Lattner 描述的那樣,那么 Swift 代表的程序猿先進生產力的發(fā)展要求(提高編程效率),代表了計算機先進文化的發(fā)展方向(語法簡潔,現(xiàn)代),代表了廣大人民的根本利益(寫起來爽,學起來快)。當然,前提是 Swift 真的像 Lattner 所說的那樣強大。

教育者靳巖:

我認為現(xiàn)在大家不論怎樣高度評價 Swift 都是低估了它會對業(yè)界帶來的影響。

首先是他是一門新語言,而且關鍵是它是被蘋果推動的,有非常好的應用場景。圍繞 Swift 未來會出現(xiàn)與之相關的社區(qū),開源代碼,培訓課程等...Swift 將會帶動一整個與之相關的生態(tài),而里面一個非常小的部分都有很大的商機。

其次我個人也非??春?Swift,因為它是蘋果對自己的一次顛覆,而它對抗的正是代碼界的官僚化。舉個例子,現(xiàn)在 Java 都更新到 8.0,但現(xiàn)在大部分人用的都還是 Java 1.6,為什么大家不用有更多新特性的 Java 8.0 呢?說白了就是大家覺得 1.6 已經能做許多事情,懶得去看新功能了。而 Java 本身也一樣,一度我都覺得它要死了,結果 Andorid 又把它救活了。但現(xiàn)在 Java 修修補補到 8.0 依然還是有許多問題是沒法解決的,因為本身就是架構上的過時,那為何大家還在用它?因為那些大公司都用習慣 Java 了,沒有勇氣去換一個更現(xiàn)代更高效的語言,而 Swift 則是逼著公司和開發(fā)者去適應新的語言和功能。

Swift 的情形和 Go(Google 發(fā)布的編程語言)不一樣。大家都知道 Go 很好,但 Google 從來沒說要大家用 Go 來寫 Andorid 的應用。這就不像蘋果,推出 Swift 后,對 Objective C 的支持肯定會逐漸減弱,最后完全轉到 Swift,這就逼大家必須拋棄二十多年前發(fā)明的 Objective C 而必須用 Swift。退一步,如果用 Swift 的效率比 Objective C 高,你如果不用 Swift 在應用市場上的反應就會比別人慢,那還是逼你用 Swift。

特別是這樣一來,Google 最后還是只能要求大家用 Go 而不是 Java 來寫 Andorid 的應用,這樣對整個 IT 圈都是一件進步的事。

iOS開發(fā)者盧侃:

自從 Swift 推出后小伙伴們都嘲笑我這個 Objective C 的開發(fā)者要失業(yè)了... 所以我最近一直在看 Swift...

事實上,我身邊的很多人都在看 Swift,除了一些其他領域的 coder 外,也有人想從 Swift 作為編程學習的入門。但我覺得 Swift 并非一門為入門者準備的語言。

Swift 參考了諸多主流腳本語言的語法,這讓它在語法上非常容易,一些有經驗的開發(fā)者花一兩個小時看看開發(fā)指南就能上手,但開發(fā)應用和了解語法畢竟是不一樣的事。舉個例子,如果一個開發(fā)者本來做服務器端的人,那他可能完全不知道一款應用的開發(fā)模式(比如蘋果推崇的 MVC) 模式,那么,盡管他對語言本身很熟悉,但和應用開發(fā)有關的一切都還是要重新學。因此,盡管 Swift 降低了編程語言的學習成本,但程序開發(fā)依然需要經驗,所以很多人說 Swift 只是表面上把大家拉到了同一個起點,原本熟悉 iOS 的開發(fā)者還是擁有極大的優(yōu)勢。而對初學者來說,語言門檻之后還有許多門檻,不可能突然涌現(xiàn)出許多之前對編程沒什么了解的開發(fā)者。

當然,Swift 的特性會得到怎樣的應用,能否提高 iOS 應用的性能等,我們可能需要在用 Swift 編寫的應用上線后才能看到。

我看 Swift 去了...

(可憐的即將失業(yè)的 Objective C 工程師...)

當然,我們對 Swift 的討論都以它是一款開發(fā) iOS 端和 OS X 端的編程語言為前提,并非討論各種編程語言本身的優(yōu)劣。目前 GitHub 上已經出現(xiàn)了一些 Swift 的開源項目,極客學院也上線了 Swift 的開發(fā)課程,有興趣的同學可以去查看。

 

穩(wěn)定

產品高可用性高并發(fā)

貼心

項目群及時溝通

專業(yè)

產品經理1v1支持

快速

MVP模式小步快跑

承諾

我們選擇聲譽

堅持

10年專注高端品質開發(fā)
  • 返回頂部