為何谷歌和蘋果都要開發自己的編程語言?

jopen 9年前發布 | 14K 次閱讀 編程語言

在即將于周一舉行的全球開發者大會(WWDC)上,蘋果公司即將分享一個鮮為人知的成功故事。大約1年前,蘋果曾推出新的編程語言Swift,宣稱其可幫助開發者更輕松地開發iPhone和Mac應用。開發者們為此歡呼不已。

這種編程語言被稱為Swift名副其實。蘋果承諾Swift將令編程速度更快,應用也能更快地投入實際應用中。這種應用已經在許多開發者中引發共 鳴,他們在Topcoder網站上舉行Swift編程挑戰賽,目前對Swift感興趣的開發者已經達到3700人,并有望于今年年底達到2萬人。

全球最大問答網站之一Stack Exchange對全球頂級開發者進行調查顯示,Swift是開發者們最感興趣的編程語言之一。去年11月份,一名男子通過教授其他人如何使用Swift,一個月凈賺了6.6萬美元。

但是蘋果并非第一家推出自己編程語言的科技巨頭。早在1991年,微軟就已經推出可視化程序設計語言Visual Basic,它以Basic編程語言為基礎,是圖形用戶界面最早、最受歡迎的編程語言。大約2009年,谷歌(微博)也推出了其自己的編程語言Go。

對于眾多開發者來說,編程語言非常重要。而對蘋果、谷歌甚至微軟來說,每當發布新的編程語言時,都意味著對開發者們的習慣發起艱難挑戰。因此,企業肯定會謹慎考慮,對嗎?蘋果和谷歌也必定從中賺取利益,對吧?

開發編程語言好處多

然而,事實并非如此。蘋果與谷歌的編程語言有很多共同之處。谷歌的Go與蘋果的Swift旨在解決開發者在舊版編程語言中遇到的問題。

Swift很像Objective-C,后者主導iOS編碼,開發者很快就采用它。事實上,它與Objective-C如此相似,以至于Swift 代碼甚至可被用于同一種應用中。但是Objective-C已經誕生30多年了,而Swift則是一種現代化努力,確保應用開發更容易,運行速度更快。

與Swift類似,Go的目標也是幫助更輕松地建立復雜系統。而網絡軟件編程行業中的昔日老大C++與Python,已經無法滿足谷歌要求。Go FAQ發言人稱:“Go是在開發者對現有系統編程語言和環境感到失望的情況下應運而生的。”

自從Go誕生以來,編碼者使用它更為輕松,但在我們稱之為“云”的大數據中心時代,它依然存在很多編程語言在速度和性能方面的問題。作為一個開源項目,全世界的開發者都為Go的發展做出貢獻,令其越來越好。

對于谷歌和蘋果來說,推出自己的編程語言有助于他們更輕松地招募相關人才。比如,自從使用Go建立自己的服務器應用后,谷歌更容易招募到精通Go語言的開發者,他們只需要更少的培訓即可承擔重任。

此外,公司外部的開發者利用Swift或Go解決的任何問題,蘋果與谷歌都可以應用到自己的業務中。但是最重要的部分是,這些語言被公開后,其唯一目的就是幫助開發者開發出更好的軟件。

Swift快速崛起

云端應用監測與管理平臺New Reli的高級軟件工程經理喬納森·卡隆(Jonathan Karon)說:“當然,Swift的承諾是讓軟件變得更加穩定。”更為穩定的軟件意味著更好的應用體驗,而更好的應用體驗令蘋果開發者感覺更好,iPhone看起來也更棒。

Swift已經取得早期成功,但是其依然需要不斷改進,畢竟其誕生僅僅1年時間。Swift的高標準要求意味著它很難被用于在低端Macbook上寫代碼,并且還缺少很多功能。開發者中間也存在爭議,Swift是否真的比Objective-C更快。

但是開發者們對Swift的未來發展非常看好。卡隆稱,從企業角度來看,他發現New Reli客戶大多保持他們現有的后端軟件,但是他們正使用Swift開發人們在智能手機上常用的應用。

而對于消費應用來說,語言學習應用Duolingo是Swift的早期采用者,正利用Swift建立自己的Test Center應用。Lyft也是如此,正利用Swift開發其打車應用。流視頻直播應用Meerkat同樣是Swift的超級粉絲,該公司CEO本·魯賓 (Ben Rubin)表示:“我們喜歡Swift,我們知道它依然是一種新興技術,有許多空白有待填補,為此我們期待其在開發體驗方面的改進。”

但是有些網絡評論家質疑稱,Swift的存在可能是因為蘋果正嘗試為iPhone和iPad建立一種編程語言,令其應用更難用于安卓設備。但這可能 只是部分原因。蘋果精心塑造起公共形象,蘋果工程師就像硅谷工程師一樣,對解決問題感到興奮不已,該公司的開發者們很可能抓住機會,向全球公布被他們視為 更好的解決方案。

如果你依然習慣于使用Objective-C,蘋果不會阻止你,它只是將Swift當作一種選擇。為iPhone和Apple Watch開發健身應用的BodBot公司創始人塞爾吉奧·普拉多(Sergio Prado)說:“在文檔中,他們平等對待Objective-C和Swift,他們從未想過使用Swift。”

這也就是說,BodBot的應用目前并未使用Swift,因為這不是他想要體驗的。但普拉多說,他正關注著編程語言的發展。蘋果有望在WWDC主題演講中宣布Swift的更新方向。

谷歌語言Go前景不明

谷歌Go不像Swift那樣呈現爆發式增長,這不僅僅是因為其針對更復雜、被稱為“系統水平”的編程。Go項目描述自己為“由谷歌設計,幫助解決谷歌難題,谷歌有大問題。”你當然可以利用Go開發移動應用,但那并非其最擅長的領域。

熱門應用容器引擎Docker、云托管服務平臺DigitalOcean都在使用Go啟動其內部項目。如果Swift是為開發iPhone應用而 生,那么Go的使命就是幫助開發容納應用數據的服務器應用。DigitalOcean軟件工程師布萊恩·萊爾斯(Brian Liles)說:“在我們看來,Go很容易使用,為此我們將繼續探索其可能性。”

但是總的來說,Go還沒有成功起飛。幫助商家在云端開發應用的平臺Apprenda戰略研究部資深主管丹·特肯科普夫(Dan Turkenkopf)說:“到現在為止,我們還沒有看到有太多企業客戶使用Go,除了實驗室的某些早期試驗外。”

卡隆表示,主要原因是谷歌有很多懸而未決的編程項目。谷歌有Google Dart,這是另一種不太熱門的編程語言。谷歌還在為安卓應用試驗新的軟件編譯器,其代號為“Jack and Jill”,據說其有可能改變開發者開發應用的方式。換句話說,谷歌“空中有很多球”,開發者發現這些“球”的方向卻都不同。

總之,谷歌與蘋果都已經推出各自的編程語言,因為新技術的進步往往都是現有編程語言和技術存在不足所驅動。這也是他們推動自己議程的有趣方式之一,即使只為讓更多人對谷歌和蘋果正在做的事情發生興趣。

但是正如卡隆指出的那樣,更快、更少漏洞的代碼不會自動讓你的應用變得值得使用。像Swift和Go這樣的編程語言并非“銀彈”,即令應用變得更有用或使用起來更有趣。你同樣需要更好的設計、更好的功能。

來自:http://www.techug.com/google-apple

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!