成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

原生代碼卷土重來 C++欲東山再起

譯文
開發 后端 新聞
解釋語言和虛擬機都很不錯,但一種新版本的C++卻表明人們對老式的原生二進制代碼重新產生了興趣。

【51CTO外電頭條】編程語言往往是各領風騷三五年。最初,炙手可熱的新語言是Java;后來換成了Python,隨后Ruby搶走了風頭,之后又換成了JavaScript。而最近備受寵愛的語言可能大家最想不到的。信不信由你,2011年很可能是C++大行其道的年頭。

上周,最新版的ISO C++標準被全體一致批準,這是C++語言13年來第一個重大修訂版。新標準現在的官方名稱是C++11,它引入的一些功能特性旨在更容易地針對現代并行處理架構開發軟件,包括面向并行計算的Lambda表達式和新的數據類型。

倒不是說C++真的消亡了。與年代更久的同類語言C相比,C++對于系統編程和需要性能密集型原生代碼的應用程序(如3D游戲引擎)來說仍是最流行的語言之一。

然而在其專門的小眾領域之外,傳統的系統編程在近些年已漸漸失寵。現在的程序員日益遠離原生代碼編譯,改而青睞Java和.NET等受控代碼環境。這種環境讓他們可以不用操心內存管理和輸入驗證方面這樣單調乏味的工作。另一些程序員為了獲得Python、Ruby和JavaScript等動態語言在語法上的便利,愿意犧牲一些性能。

但是C++ 11出現在頗有意思的時間點。越來越多的人覺得,編程語言這個鐘擺偏離原生代碼也許太遠了。現在該是鐘擺往另一個方向擺回來的時候了。因而,C++發現自己多了幾個原本最不可能的盟友。

原生代碼最不可能的擁躉包括谷歌

谷歌恐怕是你最不會想到對原生代碼有興趣的一家公司。多年來,谷歌一直鼓吹桌面軟件概念已過時了這一理念。在谷歌憧憬的理想環境下,應用程序完全在瀏覽器里面運行;為此,它開發出了Chrome OS來證明這一點。

不過連谷歌都認識到,有時候經過解釋的JavaScript還不夠。我在以前的文章中介紹過谷歌原生客戶端(NaCl),這種沙箱環境讓Chrome瀏覽器可以下載和執行原生二進制代碼,以便處理性能密集型操作。這絕非谷歌在閑暇之余的試驗活動;上周,谷歌在Chrome的最新測試版中發布了新版本的NaCl;這項技術頭一次在默認情況下被啟用。還有傳聞稱,谷歌悄然添加到最新版Chrome OS中的Netflix媒體流支持功能也依賴NaCl應用編程接口(API)。

NaCl也不是表明谷歌對原生代碼的唯一認可。這家搜索巨頭的Go編程語言之前就被廣泛稱為是“類似Java”,但這只說對了一部分。從語法上來講,Go某些方面的確類似Java,但Go代碼并不在虛擬機里面運行,而是直接編譯成了原生代碼。此外,谷歌甚至確保Go二進制代碼不但可以在桌面上運行,還可以在谷歌應用程序引擎(Google App Engine)云計算環境里面運行。

很奇怪的是,這些舉措使得谷歌與位于雷德蒙的競爭對手關系融洽和睦。作為世界上最大的桌面軟件開發商,微軟對待C++的態度一直比許多公司更友好。可是近些年來,原生C/C++開發人員覺得自己受到了一點冷落,因為微軟把大部分精力投入到了C#,這是面向.NET平臺的受控代碼C衍生語言。

但這種情形似乎在發生變化。Visual Studio 2010已經支持C++11的大部分功能特性。今年7月,微軟在其Channel 9開發人員網站上發布了一個新的視頻系列,名為“Going Native”(使用原生代碼),專門介紹原生代碼方面的發展,特別強調C++。與此同時,目光敏銳的觀察人士注意到了微軟在9月召開的Build大會前夕居然沒有.Net方面的宣傳。Build大會之前名叫專業開發者大會(PDC)。

原生代碼永不沒落

早在Java時代之前就懂得編程的那些人自然完全明白為何人們重新對原生代碼產生了興趣。傳統的軟件開發方法有著悠久的傳奇歷史;有時候,經過充分優化的原生二進制代碼仍是有可能從處理器獲取最高性能的最佳方法。

話雖如此,原生代碼也有其缺點。首當其沖的是我之前提到的安全問題。由于與C#和Java等受控語言相比,C和C++等語言讓開發人員可以更接近底層硬件,所以要認真考慮的問題就多得多;缺乏經驗的編程員可能會造成嚴重破壞。

移植性是另一個問題。對于處在Wintel環境下的Windows開發人員來說,編寫可以在多種處理器架構上編譯的代碼從來不是個大問題,甚至在過去也是如此。然而換成了Unix環境,情況就不一樣了。

現在,谷歌的NaCl環境重新帶來了同樣一些問題。Web開發人員習慣于自己開發的應用程序在任何基本上符合標準的瀏覽器中運行,但是NaCl模塊與特定的處理器架構死死地綁在一起。想讓同一個模塊在x86、x64和ARM等處理器上都可以運行,你就得編譯這三個不同的版本,然后把這三個版本都放到Web服務器上。對于長期習慣使用PHP和Perl的開發人員來說,這就需要一番適應。

但要牢記的最重要的問題是,為手頭的任務選擇合適的工具。誰也不想回到以前的糟糕年代:面對使用由C編寫的CGI腳本的Web,為文本數據而糾結。另一方面,不管手頭的任務是什么,把每一個應用程序硬塞進同樣的解釋語言或受控代碼環境同樣不是正確的方法。

現在的計算機異常尖端先進、用途異常廣泛、性能異常強大。要充分利用它們的功能,開發人員就應該使用盡可能廣泛的工具。原生代碼的卷土重來往正確方向邁出了可喜的一步。

原文標題:Hail the return of native code and the resurgence of C++

責任編輯:彭凡 來源: 51CTO
相關推薦

2013-10-16 10:04:43

HadoopWeb 2.0磁帶

2013-10-14 09:22:50

HadoopWeb 2.0磁帶

2011-08-29 14:21:33

IT技術周刊

2012-07-23 13:49:40

甲骨文

2012-08-14 16:41:20

HTCWP8

2024-08-12 09:32:12

2009-06-23 09:29:30

雅虎巴茨

2011-05-05 14:07:03

CIMA三一友泰等離子

2013-01-03 15:50:05

2013移動產業HTML5

2012-04-13 09:33:22

諾基亞盈利預警

2017-02-15 08:20:13

2021-02-08 23:25:40

DanaBot惡意軟件木馬

2021-04-08 09:07:11

VR互聯網發展虛擬現實

2018-10-31 09:10:01

蘋果 iOS發布會

2017-11-14 09:28:05

2011-08-03 15:04:42

2012-06-12 14:05:22

2023-12-27 11:41:21

2012-05-11 09:39:23

云存儲Google

2009-07-21 16:59:19

數據中心IBM刀片服務器
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日一区二区三区 | 午夜影院操| 亚洲一区 中文字幕 | 三级欧美 | 欧美日韩在线高清 | 日韩一及片 | 一区视频 | 国产ts人妖另类 | 欧美一区二区三区精品 | 99精品国产一区二区青青牛奶 | 亚洲午夜精品久久久久久app | 亚洲第一网站 | 亚洲综合在线视频 | 精品欧美一区二区精品久久久 | 黄色精品 | 精品视频一区二区三区在线观看 | 久久亚洲91| 久久久性 | 亚洲免费在线 | 午夜精品久久久久久久星辰影院 | 亚洲综合视频 | 国产精品毛片一区二区在线看 | 日韩欧美在线视频播放 | 亚洲国产成人精品女人久久久 | 国产亚洲成av人片在线观看桃 | 欧美日韩中 | 91高清视频在线观看 | 欧美精品一区二区免费视频 | 国产精品自产av一区二区三区 | 国产美女视频一区 | 中文字幕欧美一区二区 | 亚洲精品一区中文字幕乱码 | 日韩国产欧美 | 99久久99 | 欧美日韩在线免费 | 国产精品麻 | 国产综合精品一区二区三区 | 色播视频在线观看 | 在线日韩| 日本在线视频一区二区 | 国产欧美日韩 |