http常見(jiàn)錯(cuò)誤代碼(http的錯(cuò)誤代碼)
【IT168 編譯】“任何不談使用場(chǎng)景的最佳編程語(yǔ)言都是耍流氓?!蔽覀兘?jīng)常會(huì)聽(tīng)到“201X年最佳的編程語(yǔ)言”、“程序員最應(yīng)該學(xué)習(xí)的編程語(yǔ)言”、以及那句最著名的“PHP是最好的語(yǔ)言”......在沒(méi)有使用情境的情況下,這些都沒(méi)有任何的參考意義。
為了能夠給更多處在迷茫期的程序員提供一些建議,我們將在多篇文章中從多個(gè)角度來(lái)分析編程語(yǔ)言的選擇和應(yīng)用。本文會(huì)先講述一下編程語(yǔ)言的選擇成本以及選擇標(biāo)準(zhǔn)。
更改編程語(yǔ)言的成本
如果你有一個(gè)很大的代碼庫(kù),那么一般來(lái)說(shuō),你是不會(huì)輕易更換編程語(yǔ)言的。因?yàn)檫@樣做帶來(lái)的成本會(huì)非常大,聘請(qǐng)新的開(kāi)發(fā)人員、改變?cè)械幕A(chǔ)設(shè)施、學(xué)習(xí)最佳實(shí)踐......這樣的成本支出我們相信會(huì)讓大多數(shù)的公司望而卻步。
另外,除了以上成本的支出,往往我們還會(huì)忽略一種成本支出,那就是學(xué)習(xí)成本。雖然學(xué)習(xí)了解一門編程語(yǔ)言只需一到兩個(gè)月的時(shí)間,但是想要熟練掌握一門編程語(yǔ)言則需更長(zhǎng)的時(shí)間,所以無(wú)論是從程序員還是從企業(yè)的角度來(lái)看,他們都傾向于選擇原有的編程語(yǔ)言。
在這種情況下,最好的編程語(yǔ)言一定是你現(xiàn)在正在使用的編程語(yǔ)言。
何時(shí)更改編程語(yǔ)言?
沒(méi)有任何一種語(yǔ)言是完美的,事實(shí)上每種語(yǔ)言是擴(kuò)展時(shí)都會(huì)遇到一些問(wèn)題。但是,將所有語(yǔ)言一視同仁,也是不公平的,畢竟當(dāng)你有某些重要或者特殊需求的時(shí)候,有些語(yǔ)言的表現(xiàn)會(huì)特別突出。
保留原有編程語(yǔ)言有時(shí)也需成本支出
PHP到C++的轉(zhuǎn)換器—HipHop for PHP、PHP的未來(lái)—Hack、用于PHP和Hack的虛擬機(jī)—HHVM。PHP的性能很好,所以很多企業(yè)會(huì)選擇保留使用,但是他們并不是完全沒(méi)有付出代價(jià),例如,F(xiàn)acebook的內(nèi)部代碼是用PHP開(kāi)發(fā)的,其也投入成本發(fā)布了新的編程語(yǔ)言—Hack。
選擇編程語(yǔ)言的標(biāo)準(zhǔn)
展開(kāi)全文
雖然我們認(rèn)為世上沒(méi)有完美的編程語(yǔ)言,但是對(duì)于某些場(chǎng)景和特定任務(wù)來(lái)說(shuō),是有更好的編程語(yǔ)言。所以我們認(rèn)為可以制定一些標(biāo)準(zhǔn)來(lái)幫助程序員和企業(yè)選擇編程語(yǔ)言。
良好的技術(shù)素質(zhì)
除了性能,編程語(yǔ)言必須具有良好的技術(shù)素質(zhì)來(lái)滿足用戶需求。如果你的軟件包含有大量的并發(fā),所以需要一種具有一流支持的編程語(yǔ)言。
例如,Twitter的編程語(yǔ)言選擇了Ruby,其LAMP模型不支持封裝,所以很難建立獨(dú)立的獨(dú)立存儲(chǔ)或搜索服務(wù)。這是Ruby的缺點(diǎn),但是Ruby也有專為其他東西設(shè)計(jì)的特性。技術(shù)素質(zhì)指的不僅僅是你看到或者用到的,如語(yǔ)法,更多的是其在背后是如何實(shí)現(xiàn)的。
所以,在選擇編程語(yǔ)言時(shí)不要盲目相信編程語(yǔ)言的排名,而是要根據(jù)你的需求對(duì)所有的語(yǔ)言進(jìn)行分析對(duì)比。假設(shè)現(xiàn)在有兩種編程語(yǔ)言分別是X和Y,X編程語(yǔ)言在用戶量達(dá)到500萬(wàn)之后表現(xiàn)優(yōu)秀,而Y語(yǔ)言在用戶不到500萬(wàn)的時(shí)候,表現(xiàn)優(yōu)秀且價(jià)格便宜,如果你一開(kāi)始就選擇了X語(yǔ)言,可能它的使用成本非常高,你直接死在了通往500萬(wàn)的路上。
編程語(yǔ)言的流行程度
流行的編程語(yǔ)言能夠幫你節(jié)省金錢和時(shí)間,尤其是對(duì)開(kāi)源開(kāi)發(fā)來(lái)說(shuō)。假設(shè)你的公司是用PHP來(lái)開(kāi)發(fā)的,那么你就可以搭乘Facebook的順風(fēng)車,使用Hack和HHVM等加快公司的發(fā)展。
如何判斷一個(gè)編程語(yǔ)言是否流行?
·該語(yǔ)言的就業(yè)崗位數(shù)量;
·搜索引擎上該語(yǔ)言的搜索數(shù)量;
·GitHub上該語(yǔ)言的項(xiàng)目數(shù)量
社區(qū)會(huì)發(fā)揮更多的作用
良好的社區(qū)有很多好處,例如,企業(yè)能夠更了解開(kāi)發(fā)人員的思維方式,混社區(qū)的程序員往往具備更多非編程的技能、社區(qū)會(huì)企業(yè)招聘人才節(jié)約了更多的時(shí)間和人力成本......
PHP是門檻較低的編程語(yǔ)言,所以企業(yè)在招聘時(shí)對(duì)于應(yīng)聘程序員的能力判斷可能會(huì)迷茫。這時(shí),社區(qū)就發(fā)揮作用了,企業(yè)可以通過(guò)社區(qū)上他們的項(xiàng)目來(lái)判斷這個(gè)人的能力。而且并不是所有程序員都是學(xué)計(jì)算機(jī)出身的,他們的代碼可能并沒(méi)有那么規(guī)范,社區(qū)的存在可以讓程序員的編程更加規(guī)范。
另外,編程語(yǔ)言一旦被社區(qū)接受,就會(huì)衍生出大量的庫(kù),更利于編程語(yǔ)言的發(fā)展。
掃描二維碼推送至手機(jī)訪問(wèn)。
版權(quán)聲明:本文由飛速云SEO網(wǎng)絡(luò)優(yōu)化推廣發(fā)布,如需轉(zhuǎn)載請(qǐng)注明出處。