關(guān)于編程語(yǔ)言的一些認(rèn)知和思考

計(jì)算機(jī)本質(zhì)上來(lái)講就是可以運(yùn)行一系列命令的機(jī)器,比如電燈擁有開(kāi)和關(guān)的兩個(gè)命令,計(jì)算機(jī)相比電燈要更加復(fù)雜一些罷了。
編程語(yǔ)言就是控制計(jì)算機(jī)的命令,好比電燈開(kāi)我們就用數(shù)字1來(lái)表示,關(guān)我們就是用數(shù)字0來(lái)表示。可是對(duì)人類的自然語(yǔ)言來(lái)說(shuō)01這樣的命令實(shí)在太復(fù)雜了。如果我想讓計(jì)算機(jī)進(jìn)行加減乘除的計(jì)算可能就需要輸入一串根本看不懂的01組合。好在后來(lái)發(fā)明了匯編語(yǔ)言。

匯編語(yǔ)言

匯編語(yǔ)言讓我們可以使用字母符號(hào)來(lái)給計(jì)算機(jī)發(fā)送指令。比如:
操作:寄存器BX的內(nèi)容送到AX中

1000100111011000    機(jī)器指令
mov ax,bx  匯編指令

匯編是直接面向CPU的程序設(shè)計(jì)語(yǔ)言,如果我們想要開(kāi)發(fā)更高級(jí)的程序使用匯編語(yǔ)言可能就費(fèi)勁了。這時(shí)候靜態(tài)類型的語(yǔ)言就出現(xiàn)了。

靜態(tài)語(yǔ)言

我們所謂的靜態(tài)語(yǔ)言是什么?比如C語(yǔ)言這樣的語(yǔ)言,我們可以通過(guò)英文進(jìn)行邏輯編寫(xiě)和數(shù)據(jù)處理,這些英文代碼通過(guò)C語(yǔ)言的編譯器編譯成01這種機(jī)器語(yǔ)言,讓其可以在計(jì)算機(jī)上運(yùn)行。區(qū)別就在于,我們可以盡可能的使用人類的自然語(yǔ)言去編寫(xiě)程序,然后通過(guò)編譯器翻譯成機(jī)器所能看懂的語(yǔ)言就可以了。除了C語(yǔ)言意外還有諸如c++,java,golang,erlang這樣的靜態(tài)類型語(yǔ)言,他們不盡相同,又各具特色。以上的靜態(tài)類型語(yǔ)言不好評(píng)判好壞的區(qū)分,主要區(qū)別還是在于編譯器的優(yōu)劣,以及在不同應(yīng)用場(chǎng)景下的表現(xiàn)。
靜態(tài)語(yǔ)言也有自身的問(wèn)題,語(yǔ)法復(fù)雜,每次測(cè)試都需要編譯,開(kāi)發(fā)效率底下,況且現(xiàn)在計(jì)算機(jī)硬件空前發(fā)達(dá)我們幾乎不需要手動(dòng)去操作內(nèi)存了。所以這時(shí)候動(dòng)態(tài)類語(yǔ)言就顯現(xiàn)出來(lái)了。

動(dòng)態(tài)語(yǔ)言

動(dòng)態(tài)語(yǔ)言就是在程序運(yùn)行的時(shí)候?qū)⒋a編譯成機(jī)器可以運(yùn)行的程序,好處就是不用花時(shí)間編譯。馬上就能看到結(jié)果。諸如php,python,JavaScript這種都是動(dòng)態(tài)類型語(yǔ)言。因?yàn)閯?dòng)態(tài)類型語(yǔ)言涉及到運(yùn)行時(shí)才編譯成機(jī)器可以運(yùn)行的程序,顯然沒(méi)有靜態(tài)類語(yǔ)言直接編譯成機(jī)器碼運(yùn)行的速度快。

關(guān)于密集計(jì)算和密集IO

如果涉及到密集計(jì)算的業(yè)務(wù),比如處理大量數(shù)據(jù),顯然使用靜態(tài)類型的語(yǔ)言是更好的選擇,因?yàn)槲覀兿M鸆PU或者GPU這些計(jì)算設(shè)備可以以更快的形式進(jìn)行運(yùn)算。
如果涉及到密集IO的業(yè)務(wù),比如網(wǎng)站的C10K問(wèn)題,其實(shí)靜態(tài)語(yǔ)言和動(dòng)態(tài)語(yǔ)言區(qū)別不大,因?yàn)檫@種業(yè)務(wù)類型最關(guān)鍵的問(wèn)題在于IO效率而不是計(jì)算瓶頸,讓機(jī)器在單位時(shí)間內(nèi)進(jìn)行更多的IO操作才是關(guān)鍵。為此還要涉及一些進(jìn)程,線程和協(xié)程的知識(shí)了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容