自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

5月4日外電頭條:我們?yōu)槭裁锤枰嘣某绦騿T?

原創(chuàng)
開發(fā) 新聞
太多的程序員把自己限制在C++和Java中,而錯(cuò)過了眾多的新選擇。從表面上看這是有道理的。C++和Java都是功能強(qiáng)大的復(fù)雜語言,它們兩個(gè)中任何一個(gè)的語法學(xué)習(xí)書籍都擺滿了學(xué)校的圖書館;但是,如果整個(gè)軟件開發(fā)領(lǐng)域都幾乎完全基于兩種語言——況且實(shí)際上是兩種非常相似的語言——這也是十分危險(xiǎn)的,容易導(dǎo)致停滯不前。

【51CTO.com快譯】太多的程序員把自己限制在C++和Java中,而錯(cuò)過了眾多的新選擇。

美國人自我感覺良好,他們只喜歡講本土語言,這已經(jīng)眾人皆知了。那么,美國程序員也差不多。如今的計(jì)算機(jī)科學(xué)研究生往往在離開學(xué)校時(shí)只精通一門編程語言——通常是一門主流系統(tǒng)語言,比如Java或C++——然后在整個(gè)職業(yè)生涯中幾乎完全離不開它。

從表面上看這是有道理的。C++和Java都是功能強(qiáng)大的復(fù)雜語言,它們兩個(gè)中任何一個(gè)的語法學(xué)習(xí)書籍都擺滿了學(xué)校的圖書館,更不要說這兩種語言的用途極為廣泛。正如51CTO.com此前發(fā)布的編程語言排行榜歷期榜單中,Java和C++總是***,如果你對任何一個(gè)不熟悉的話,將來找工作的時(shí)候就會(huì)不得不錯(cuò)過無數(shù)的機(jī)會(huì)。

但是,如果整個(gè)軟件開發(fā)領(lǐng)域都幾乎完全基于兩種語言——況且實(shí)際上是兩種非常相似的語言——這也是十分危險(xiǎn)的,容易導(dǎo)致停滯不前。薩皮爾-沃爾夫假說認(rèn)為,人類的思維模式受到語言的深刻影響。語言學(xué)家們對他的假說到底有多大效果還存在爭執(zhí),但是對計(jì)算機(jī)程序語言這個(gè)人類真實(shí)語言的抽象版來說,假說似乎特別恰當(dāng)。這些年來,雖然軟件開發(fā)的理念一直在前進(jìn)著,比如功能性和面向方面編程,但是主流語言始終圍繞著幾十年前就出現(xiàn)的面向?qū)ο笏枷刖徛兓?/P>

然而在主流之外,我們經(jīng)??吹礁魇礁鳂拥幕鸹āC磕甓加行碌木幊陶Z言出現(xiàn)——51CTO.com曾介紹過很多新興語言,如面向分布與并發(fā)的Erlang、具有動(dòng)態(tài)性的函數(shù)對象混合型語言Scala、類似Java和C#的新語言Fan等——其中許多是非常有價(jià)值的,也有許多真實(shí)的項(xiàng)目因?yàn)椴捎昧怂鼈兊玫搅肆己玫幕貓?bào)。是不是應(yīng)該也讓軟件開發(fā)者們離開一下Java和C++這兩間屋子,出去看看外面的世界?

CLI — 新語言的聚寶盆

優(yōu)秀的程序員并不一定要是優(yōu)秀的計(jì)算機(jī)科學(xué)家。同樣的,并不是所有的編程語言都一定要是異常嚴(yán)密的。微軟的.Net平臺(tái),它的CLI(Common Language Infrastructure,通用語言基礎(chǔ)結(jié)構(gòu))是新語言的豐富來源。維基百科上說該平臺(tái)現(xiàn)在至少支持55種語言,而且它們之間擁有充分的互操作性。

更有趣的新東西來自微軟本身,新出現(xiàn)的Axum語言可以讓開發(fā)者在多核心和多重處理的硬件上更容易的編寫程序。你可能還記得去年我寫過Sun的Fortress語言,它有類似的目的。而Axum更有趣些,因?yàn)樗⒎窍肴繌?fù)制Java或C++等系統(tǒng)語言的所有功能,而是專門為并行化設(shè)計(jì)。在Axum里你甚至不能定義對象,這和一些其他的CLI語言比如C#是不同的。Axum所作的一切就是簡化多重處理,讓工作變得更友好,而這個(gè)任務(wù)傳統(tǒng)語言做起來卻很棘手。在51CTO.com與有著Windows編程教父之稱Jeffrey的一次關(guān)于未來編程語言的發(fā)展方向的對話中,Jeffrey也提到:未來編程語言的發(fā)展將更加自動(dòng)化,智能化。

在.NET平臺(tái)之后,開放的JVM也收到了廣泛的歡迎。許多開發(fā)語言現(xiàn)在已經(jīng)可以編譯為Java字節(jié)碼,其中一些相當(dāng)有趣。比如已經(jīng)擁有不少支持者的Groovy,它提供了類似Java的語法但實(shí)際上是一種動(dòng)態(tài)語言,和Perl、Python和Ruby類似。它們提供給開發(fā)者Java運(yùn)行時(shí)的安全性與穩(wěn)定性,但編寫起來不像Java語法那么嚴(yán)格。

還有一些語言并不在現(xiàn)有的平臺(tái)之中,但也已經(jīng)在商業(yè)應(yīng)用上得到接受。例如Lua,一種輕重量級嵌入式腳本語言,已經(jīng)在很多商業(yè)項(xiàng)目包括視頻游戲開發(fā)中得到應(yīng)用,比如魔獸世界,還有其他許多游戲。

主流之外的成功

在大多數(shù)情況下,這些非主流的語言只有在特殊用途、小項(xiàng)目和研究時(shí)才會(huì)出現(xiàn)。但是,并非每個(gè)企業(yè)都不敢邁出跨越Java和C++這一步。例如,博客***Twitter最近就宣布,計(jì)劃放棄其目前的架構(gòu),基于Scala語言進(jìn)行全新的設(shè)計(jì)。Scala和Groovy有些相似,在JVM上運(yùn)行。Twitter的工程師Alex Payne說,“我們知道人們能夠用C++寫出性能***的代碼……但我們真的喜愛Scala,值得為它賭一下。”

提醒你一下,Twitter可能并不是個(gè)好的參考案例。因?yàn)樗脑技軜?gòu)是用Ruby寫的,當(dāng)時(shí)也幾乎沒有人敢用Ruby來賭一下。況且考慮到Twitter的坎坷經(jīng)歷,他實(shí)在是想換成什么架構(gòu)都不過分。

當(dāng)然了,Twitter的例子還是值得考慮。而Scala這樣的語言要想得到風(fēng)險(xiǎn)投資家和行政管理層的信任還有待時(shí)間的考驗(yàn),在此之前,它們還是不得不屈尊在幾個(gè)“充滿激情”的程序員之間,就像Twitter剛創(chuàng)業(yè)時(shí)一樣,無論它們的潛力有多大。

現(xiàn)在,在開發(fā)經(jīng)理在各種不同的語言之間做出選擇之前,他們需要讓自己的團(tuán)隊(duì)多了解幾種開發(fā)語言。這就是為什么我希望看到更多的計(jì)算機(jī)科學(xué)系學(xué)生能成為“多元化程序員”,而不是某一種語言的專家。我擔(dān)心那些把大部分時(shí)間都花在學(xué)習(xí)語法上的程序員會(huì)錯(cuò)過更大的場面。良好的語言技巧永遠(yuǎn)是最重要的工具,但全面扎實(shí)的軟件設(shè)計(jì)基礎(chǔ)將幫助你成為一個(gè)了不起的程序員,無論你使用什么語言。

51CTO.com譯稿,合作站點(diǎn)轉(zhuǎn)載請注明原文譯者和出處為51CTO.com

原文:We need more polyglot programmers     作者:Neil Mcallister

【編輯推薦】

  1. 4月編程語言排行榜:腳本語言占據(jù)半壁江山
  2. Java以外的選擇 Scala編程語言簡介
  3. Fan——類似Java和C#的新語言
  4. 對話Windows教父:未來編程語言的發(fā)展方向
責(zé)任編輯:佚名 來源: 51CTO.com
相關(guān)推薦

2009-04-07 08:43:04

虛擬化招聘虛擬化技能

2009-06-09 08:54:17

2009-05-18 09:17:09

2009-05-19 09:49:13

2009-05-31 09:01:46

Google Wave開發(fā)者大會(huì)Share Point

2011-08-11 14:52:59

2009-04-09 08:58:48

2009-04-01 09:36:13

Nehalem性能AMD

2009-04-16 09:21:01

Exchange 20新功能

2011-12-20 09:01:25

.NET

2012-09-06 10:30:58

2009-04-17 08:37:29

Java 7并發(fā)多核

2009-04-29 09:22:34

2009-04-13 09:09:36

網(wǎng)絡(luò)性能萬兆應(yīng)用性能

2015-11-02 09:19:10

程序員JavaScript

2009-04-22 08:36:20

美國CTOChopra查普拉

2015-09-24 09:04:36

程序員

2009-04-21 09:14:14

芯片納米

2009-04-27 09:48:52

微軟開源Linux

2009-04-10 08:17:34

Linux基金會(huì)合作峰云計(jì)算Linux峰會(huì)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號