編程領(lǐng)域內(nèi)為什么要有那么多的語言?
應(yīng)用領(lǐng)域不同,導(dǎo)致需要的是不同的編譯效率和代碼質(zhì)量以及執(zhí)行速度的要求:底層是用戶發(fā)出操作上層的各個(gè)軟件發(fā)出所有指令的最終匯聚點(diǎn),都要去控制CPU。相當(dāng)告訴公里上的收費(fèi)站,所有車輛都要匯聚到這里。
所以要求處理速度快,代碼質(zhì)量高,能用一句的絕不用兩句,那么就意味著不能有很復(fù)雜的編譯過程、同時(shí)代碼質(zhì)量要高、精簡(jiǎn),不能笨重。顯然應(yīng)該直接寫機(jī)器碼,起碼也得寫匯編語言,一步到位就能得到機(jī)器碼。再不濟(jì)也得用C語言,但為了開發(fā)起來友好點(diǎn),想方便一點(diǎn),C++也霸蠻的允許,因?yàn)樗锩嬗忻嫦驅(qū)ο罂梢詷O大的方便編程。但再不能是java了或者PHP以及JS這些了。
所以比如嵌入式領(lǐng)域或者底層驅(qū)動(dòng)領(lǐng)域,你就不會(huì)看到用JAVA和PHP去寫驅(qū)動(dòng)就是這個(gè)原因。為了任務(wù)分配合理,開發(fā)人員偷懶,選擇了引入操作系統(tǒng),但也通常也只能是小的被裁剪了的操作系統(tǒng)內(nèi)核,如uclinux,也絕不能是那種直接在電腦上運(yùn)行的龐大的操作系統(tǒng)如win7,win8,win10,redhat,centos;否則就意味著要么你的系統(tǒng)性能下降,要么就需要你的硬件升級(jí)。使用的領(lǐng)域不同,導(dǎo)致側(cè)重點(diǎn)不同。而不是編程語言本身的好壞。那么平常說的好壞只是對(duì)開發(fā)人員的友好性而言。
比如:PHP是面對(duì)應(yīng)用領(lǐng)域的開發(fā)語言。要求的是快速看到效果,友好性好。因此就不太在乎比C語言多損耗了點(diǎn)編譯性能和多集成一些庫了。所以,它的最大特點(diǎn)就是:把N多常用的庫都集成進(jìn)來了,讓你用起來簡(jiǎn)單的多,如:mysql連接庫,mysqli鏈接庫等。但這并不能說明PHP就比C語言好,只是對(duì)用戶開發(fā)起來友好而已,只是他們用的領(lǐng)域不同而已。如果從驅(qū)動(dòng)領(lǐng)域來說,PHP談不上比C語言好!如果從開發(fā)微信交互來說,C語言談不上比PHP好。開發(fā)時(shí)間決定。如:PHP重要的是應(yīng)用,應(yīng)該在短時(shí)間內(nèi)開發(fā)出應(yīng)用,那就不能從頭到尾的寫,否則內(nèi)容太多,比如你不可能從匯編寫起來,否則功能還沒寫出來,幾個(gè)月就過去了,所以PHP領(lǐng)域內(nèi)會(huì)出現(xiàn)很多很多的框架和CMS系統(tǒng),這些系統(tǒng)雖然參差不齊,有的代碼質(zhì)量本身就很差勁,但是能看到效果啊,
至于晚幾毫秒,用戶也根本體驗(yàn)不到,所以開發(fā)速度就要比代碼本身的質(zhì)量效率和解析效率要重要的多。否則,PHP的應(yīng)用定位就失去了意義,它就不能說自己是面向應(yīng)用領(lǐng)域的上層語言了,那是什么?所以要求開發(fā)速度、能馬上見到效果的領(lǐng)域,就要開發(fā)起來變得很簡(jiǎn)單,那么就得用上層的面向?qū)ο蟮姆绞饺ブ?。所以,PHP的開發(fā)就是直接用面向?qū)ο髞響?yīng)用。
那么用匯編和C語言去寫非常好看的圖形化界面,它的意義只在于學(xué)習(xí),而不在于實(shí)際應(yīng)用。你寫了好幾天的引入各種的圖形庫函數(shù)庫最后看到個(gè)紅顏色,還不如PHP里寫一條控制CSS的color:red來的省事呢,當(dāng)然用CSS就更加省事了。所以學(xué)習(xí)什么和實(shí)際怎么使用,之間還有一個(gè)賽選的味道。
【版權(quán)聲明】:本站內(nèi)容來自于與互聯(lián)網(wǎng)(注明原創(chuàng)稿件除外),如文章或圖像侵犯到您的權(quán)益,請(qǐng)及時(shí)告知,我們第一時(shí)間刪除處理!謝謝!