什么是編程語(yǔ)言
發(fā)布時(shí)間:2023-11-20 15:56:05
很小的時(shí)候,父母就教我們開(kāi)口說(shuō)話,也教我們?nèi)绾卫斫鈩e人講話的意思。經(jīng)過(guò)長(zhǎng)時(shí)間的熏陶和自我學(xué)習(xí),我們竟然在不知不覺(jué)中學(xué)會(huì)了說(shuō)話,同時(shí)也能聽(tīng)懂其他小朋友說(shuō)話的意思了,我們開(kāi)始向父母要零花錢(qián)買(mǎi)零食和玩具、被欺負(fù)了向父母傾訴……
我們說(shuō)的是漢語(yǔ),是“中國(guó)語(yǔ)言”,只要把我們的需求告訴父母,父母就會(huì)滿(mǎn)足,我們用“中國(guó)語(yǔ)言”來(lái)控制父母,讓父母做我們喜歡的事情。
“中國(guó)語(yǔ)言”有固定的格式,每個(gè)漢字代表的意思不同,我們必須正確的表達(dá),父母才能理解我們的意思。例如讓父母給我們10元零花錢(qián),我們會(huì)說(shuō)“媽媽給我10塊錢(qián)吧,我要買(mǎi)小汽車(chē)”。如果我們說(shuō)“10元給我汽車(chē)小零花錢(qián)媽媽”,或者“媽媽給我10億人民幣,我要買(mǎi)F-22”,媽媽就會(huì)覺(jué)得奇怪,聽(tīng)不懂我們的意思,或者理解錯(cuò)誤,責(zé)備我們。
我們通過(guò)有固定格式和固定詞匯的“語(yǔ)言”來(lái)控制他人,讓他人為我們做事情。語(yǔ)言有很多種,包括漢語(yǔ)、英語(yǔ)、法語(yǔ)、韓語(yǔ)等,雖然他們的詞匯和格式都不一樣,但是可以達(dá)到同樣的目的,我們可以選擇任意一種語(yǔ)言去控制他人。
同樣,我們也可以通過(guò)”語(yǔ)言“來(lái)控制計(jì)算機(jī),讓計(jì)算機(jī)為我們做事情,這樣的語(yǔ)言就叫做編程語(yǔ)言(Programming Language)。
編程語(yǔ)言也有固定的格式和詞匯,我們必須經(jīng)過(guò)學(xué)習(xí)才會(huì)使用,才能控制計(jì)算機(jī)。
編程語(yǔ)言有很多種,常用的有C語(yǔ)言、C++、Java、C#、Python、PHP、JavaScript、Go語(yǔ)言、Objective-C、Swift、匯編語(yǔ)言等,每種語(yǔ)言都有自己擅長(zhǎng)的方面,例如:
編程語(yǔ)言 | 主要用途 |
---|---|
C/C++ | C++ 是在C語(yǔ)言的基礎(chǔ)上發(fā)展起來(lái)的,C++ 包含了C語(yǔ)言的所有內(nèi)容,C語(yǔ)言是C++的一個(gè)部分,它們往往混合在一起使用,所以統(tǒng)稱(chēng)為 C/C++。C/C++主要用于PC軟件開(kāi)發(fā)、Linux開(kāi)發(fā)、游戲開(kāi)發(fā)、單片機(jī)和嵌入式系統(tǒng)。 |
Java | Java 是一門(mén)通用型的語(yǔ)言,可以用于網(wǎng)站后臺(tái)開(kāi)發(fā)、Android 開(kāi)發(fā)、PC軟件開(kāi)發(fā),近年來(lái)又涉足了大數(shù)據(jù)領(lǐng)域(歸功于 Hadoop 框架的流行)。 |
C# | C# 是微軟開(kāi)發(fā)的用來(lái)對(duì)抗 Java 的一門(mén)語(yǔ)言,實(shí)現(xiàn)機(jī)制和 Java 類(lèi)似,不過(guò) C# 顯然失敗了,目前主要用于 Windows 平臺(tái)的軟件開(kāi)發(fā),以及少量的網(wǎng)站后臺(tái)開(kāi)發(fā)。 |
Python | Python 也是一門(mén)通用型的語(yǔ)言,主要用于系統(tǒng)運(yùn)維、網(wǎng)站后臺(tái)開(kāi)發(fā)、數(shù)據(jù)分析、人工智能、云計(jì)算等領(lǐng)域,近年來(lái)勢(shì)頭強(qiáng)勁,增長(zhǎng)非???。 |
PHP | PHP 是一門(mén)專(zhuān)用型的語(yǔ)言,主要用來(lái)開(kāi)發(fā)網(wǎng)站后臺(tái)程序。 |
JavaScript | JavaScript 最初只能用于網(wǎng)站前端開(kāi)發(fā),而且是前端開(kāi)發(fā)的唯一語(yǔ)言,沒(méi)有可替代性。近年來(lái)由于 Node.js 的流行,JavaScript 在網(wǎng)站后臺(tái)開(kāi)發(fā)中也占有了一席之地,并且在迅速增長(zhǎng)。 |
Go語(yǔ)言 | Go語(yǔ)言是 2009 年由 Google 發(fā)布的一款編程語(yǔ)言,成長(zhǎng)非常迅速,在國(guó)內(nèi)外已經(jīng)有大量的應(yīng)用。Go 語(yǔ)言主要用于服務(wù)器端的編程,對(duì) C/C++、Java 都形成了不小的挑戰(zhàn)。 |
Objective-C Swift | Objective-C 和 Swift 都只能用于蘋(píng)果產(chǎn)品的開(kāi)發(fā),包括 Mac、MacBook、iPhone、iPad、iWatch 等。 |
匯編語(yǔ)言 | 匯編語(yǔ)言是計(jì)算機(jī)發(fā)展初期的一門(mén)語(yǔ)言,它的執(zhí)行效率非常高,但是開(kāi)發(fā)效率非常低,所以在常見(jiàn)的應(yīng)用程序開(kāi)發(fā)中不會(huì)使用匯編語(yǔ)言,只有在對(duì)效率和實(shí)時(shí)性要求極高的關(guān)鍵模塊才會(huì)考慮匯編語(yǔ)言,例如操作系統(tǒng)內(nèi)核、驅(qū)動(dòng)、儀器儀表、工業(yè)控制等。 |
可以將不同的編程語(yǔ)言比喻成各國(guó)語(yǔ)言,為了表達(dá)同一個(gè)意思,可能使用不同的語(yǔ)句。例如,表達(dá)“世界你好”的意思:
漢語(yǔ):世界你好;
英語(yǔ):Hello World
法語(yǔ):Bonjour tout le monde
在編程語(yǔ)言中,同樣的操作也可能使用不同的語(yǔ)句。例如,在屏幕上顯示“C語(yǔ)言中文網(wǎng)”:
C語(yǔ)言:puts("C語(yǔ)言中文網(wǎng)");
PHP:echo "C語(yǔ)言中文網(wǎng)";
Java:System.out.println("C語(yǔ)言中文網(wǎng)");
編程語(yǔ)言類(lèi)似于人類(lèi)語(yǔ)言,由直觀的詞匯組成,我們很容易就能理解它的意思,例如在C語(yǔ)言中,我們使用 puts
這個(gè)詞讓計(jì)算機(jī)在屏幕上顯示出文字;puts 是 output string(輸出字符串)的縮寫(xiě)。
使用 puts 在屏幕上顯示“C語(yǔ)言中文網(wǎng)”:
puts("C語(yǔ)言中文網(wǎng)");
我們把要顯示的內(nèi)容放在("
和")
之間,并且在最后要有;
。你必須要這樣寫(xiě),這是固定的格式。
總結(jié):編程語(yǔ)言是用來(lái)控制計(jì)算機(jī)的一系列指令(Instruction),它有固定的格式和詞匯(不同編程語(yǔ)言的格式和詞匯不一樣),必須遵守,否則就會(huì)出錯(cuò),達(dá)不到我們的目的。
C語(yǔ)言(C Language)是編程語(yǔ)言的一種,學(xué)習(xí)C語(yǔ)言,主要是學(xué)習(xí)它的格式和詞匯。下面是一個(gè)C語(yǔ)言的完整例子,它會(huì)讓計(jì)算機(jī)在屏幕上顯示”C語(yǔ)言中文網(wǎng)“。
這個(gè)例子主要演示C語(yǔ)言的一些固有格式和詞匯,看不懂的讀者不必深究,也不必問(wèn)為什么是這樣,后續(xù)我們會(huì)逐步給大家講解。
#include <stdio.h>
int main(){
puts("C語(yǔ)言中文網(wǎng)");
return 0;
}
這些具有特定含義的詞匯、語(yǔ)句,按照特定的格式組織在一起,就構(gòu)成了源代碼(Source Code),也稱(chēng)源碼或代碼(Code)。
那么,C語(yǔ)言肯定規(guī)定了源代碼中每個(gè)詞匯、語(yǔ)句的含義,也規(guī)定了它們?cè)撊绾谓M織在一起,這就是語(yǔ)法(Syntax)。它與我們學(xué)習(xí)英語(yǔ)時(shí)所說(shuō)的“語(yǔ)法”類(lèi)似,都規(guī)定了如何將特定的詞匯和句子組織成能聽(tīng)懂的語(yǔ)言。
編寫(xiě)源代碼的過(guò)程就叫做編程(Program)。從事編程工作的人叫程序員(Programmer)。程序員也很幽默,喜歡自嘲,經(jīng)常說(shuō)自己的工作辛苦,地位低,像農(nóng)民一樣,所以稱(chēng)自己是”碼農(nóng)“,就是寫(xiě)代碼的農(nóng)民。也有人自嘲稱(chēng)是”程序猿“。
以上為本次所有分享內(nèi)容