各種編程語言的演變
素材來源:21ic電子網(wǎng)
學(xué)編程的過程中,總是有小伙伴糾結(jié)我到底是該學(xué)C語言呢?還是Python呢?或者學(xué)Java?
那到底為什么編程需要這么多編程語言呢?
編程語言的起源是怎樣的?
其實(shí)編程語言并不是一開始就有這么豐富以及好用的語言的,而是經(jīng)過幾十年的發(fā)展才逐漸有今天這樣多樣的語言。
迄今為止,我們一般認(rèn)為編程語言的發(fā)展主要有三個(gè)階段:
1、機(jī)器語言
2、匯編語言
3、高級(jí)語言
一、機(jī)器語言
機(jī)器語言是第一代機(jī)器語言,是0和1代碼。因?yàn)橛?jì)算機(jī)的CPU只能識(shí)別0和1,所以最初編程用的就是0和1。
比較典型的設(shè)備是雅卡爾提花機(jī)的織布機(jī):
我們可以看到,寫代碼就是要在紙上打孔,這樣寫程序不僅很麻煩,而且程序還不好理解,我們也只看到了一個(gè)個(gè)的洞,不知道這是干嘛的。
為了能讓我們?cè)谕祽星闆r下,更好完成工作,科學(xué)家們經(jīng)過不斷地摸索試驗(yàn),使得編程進(jìn)入了下一個(gè)階段——匯編編程。
二、匯編語言
匯編語言相對(duì)于機(jī)器語言有什么差別呢?首先就是匯編能讓人更好理解了。
比如表示3+2,機(jī)器語言可能是10111100 00000011 00000010。
而匯編就可以寫成add 3, 2。
add表示加,后面是兩個(gè)數(shù)字。
這樣只要懂一點(diǎn)英文單詞,就能夠明白這個(gè)語句的意思。
匯編語言就是將以前機(jī)器語言的命令,用一些簡單的英文單詞來表示,這樣不僅很直觀,對(duì)編程人員的要求也大大降低了。
但是用匯編語言寫的程序不能直接在計(jì)算機(jī)上運(yùn)行的,需要經(jīng)過編譯器,把匯編語言轉(zhuǎn)換成機(jī)器語言。
所以科學(xué)家們創(chuàng)造了一個(gè)接近人類語言習(xí)慣的編程語言——高級(jí)語言。
三、高級(jí)語言
高級(jí)語言的表達(dá)方式和人類語言的表達(dá)方式很接近了,而且也沒有那么多的英文單詞需要去記了。
高級(jí)語言的種類有很多C、C++、Python、Java等等。
每種高級(jí)語言都至少有一個(gè)編譯器,編譯器就是把對(duì)應(yīng)的語言轉(zhuǎn)換成機(jī)器語言。迄今為止,編程語言發(fā)展最高的是高級(jí)語言。
也許過幾年、幾十年,說不定有更好的語言出現(xiàn),我們也期待有更好的語言出現(xiàn)。
四、那么為什么要有那么多的編程語言呢?
1、應(yīng)用領(lǐng)域不同,導(dǎo)致需要不同的編譯效率和代碼質(zhì)量以及執(zhí)行速度的要求。
2、使用的領(lǐng)域不同,導(dǎo)致側(cè)重點(diǎn)不同。
比如:PHP是面對(duì)應(yīng)用領(lǐng)域的開發(fā)語言,要求快速看到效果,就不太在乎比C語言多損耗了點(diǎn)編譯性能和多集成一些庫了。
所以,它最大特點(diǎn)就是:把N多常用的庫都集成進(jìn)來了,用起來就簡單的多。
但這并不能說明PHP就比C語言好,只是對(duì)開發(fā)者友好而已,只是他們用的領(lǐng)域不同。
3、開發(fā)時(shí)間決定
比如:PHP重要的是應(yīng)用,應(yīng)該在短時(shí)間內(nèi)開發(fā)出應(yīng)用,那就不能從頭到尾的寫,否則內(nèi)容太多。
所以學(xué)習(xí)什么和實(shí)際怎么使用之間還有一個(gè)篩選的過程。
4、體驗(yàn)度、友好性決定
C語言編程經(jīng)常會(huì)被報(bào)告指針不能讀和寫!
PHP,不會(huì)動(dòng)不動(dòng)彈出指針錯(cuò)誤的那種恐怖窗口,因?yàn)樗隽撕芏喟菪院玫漠惓L幚怼?/span>
但這并不能說明PHP就比C語言好,也不能說明C語言比PHP好。在他們各自擅長的領(lǐng)域,他們比誰都好。
每門語言因?yàn)樽约憾ㄎ辉诓煌膽?yīng)用領(lǐng)域,所以它的編譯器,即使語法功能沒做得那么智能和強(qiáng)大,也不會(huì)去升級(jí),否則就失去了它的應(yīng)用定位。
其實(shí)這么多的語言,編程思想上沒什么區(qū)別。只要掌握編程思想,一切語言都通了。
STM32Cube生態(tài)系統(tǒng)更新的那些實(shí)用功能
STM32中CRC計(jì)算單元,及CRC校驗(yàn)的應(yīng)用
長按前往圖中包含的公眾號(hào)關(guān)注
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場,如有問題,請(qǐng)聯(lián)系我們,謝謝!