編程語言
計(jì)算機(jī)學(xué)科發(fā)展到現(xiàn)在,已經(jīng)有上百種編程語言镰矿,其中比較常用的語言,比如Java俘种、C秤标、Python等屬于高級(jí)編程語言。也有匯編語言這種直接與硬件交互的編程語言宙刘。
計(jì)算機(jī)是以0和1的組合來表示各種狀態(tài)苍姜,包括數(shù)值和操作。計(jì)算機(jī)可識(shí)別的指令也是通過0和1進(jìn)行組合來表示悬包。這些指令組成了計(jì)算機(jī)硬件的指令集衙猪,通過指令集中各種指令的組合來完成復(fù)雜計(jì)算。
高級(jí)編程語言的作用
高級(jí)編程語言是以一種更可讀的方式向機(jī)器發(fā)送大量指令,來完成一個(gè)較為復(fù)雜的計(jì)算過程垫释。它們存在的意義是為了提高人機(jī)交互的效率丝格,從而擴(kuò)大人機(jī)交互的使用場(chǎng)景。計(jì)算機(jī)的指令是很機(jī)械的棵譬,而人的思維是高度抽象且跳躍的显蝌,所以需要有工具來填補(bǔ)兩者之間的鴻溝,高級(jí)編程語言就是這樣的角色订咸。比如完成從1到100累加的計(jì)算過程曼尊,如果直接用計(jì)算機(jī)的指令表示,可能需要用到上百條指令算谈。而且用指令來表達(dá)這個(gè)計(jì)算過程,可讀性非常差料滥。高級(jí)編程語言就可以用一個(gè)循環(huán)語句來表達(dá)然眼,更簡(jiǎn)潔,更符合人的表達(dá)習(xí)慣葵腹。另外高每,各個(gè)硬件平臺(tái)的指令集又不盡相同,指令程序不可移植復(fù)用践宴。所有就需要更加友好的編程語言來代替計(jì)算機(jī)指令鲸匿,同時(shí)做好抽象層,使代碼盡可能的跨平臺(tái)阻肩。
高級(jí)編程語言所處的位置
在計(jì)算機(jī)運(yùn)行過程中带欢,我們比較常見的結(jié)構(gòu)使這樣的。
應(yīng)用軟件一般就是我們用高級(jí)編程語言開發(fā)打包的程序烤惊,通過接收不同方式的輸入乔煞,然后經(jīng)過復(fù)雜計(jì)算,最后輸出工程師預(yù)期的結(jié)果或者指令柒室。應(yīng)用軟件一般運(yùn)行在操作系統(tǒng)之上渡贾。
操作系統(tǒng)為應(yīng)用軟件屏蔽了硬件的復(fù)雜性,對(duì)應(yīng)用軟件而言雄右,只需要關(guān)系操作系統(tǒng)的特性即可空骚。這也是計(jì)算機(jī)領(lǐng)域中常見的“分層”和“封裝”思想帶來的好處。
與高級(jí)編程語言相對(duì)的就是底層編程語言擂仍,比如匯編囤屹,操作系統(tǒng)級(jí)的編程語言。
為什么“高級(jí)”
- 所處位置高級(jí)逢渔,往往是計(jì)算機(jī)系體系結(jié)構(gòu)中最上面的一層牺丙。
- 應(yīng)用場(chǎng)景高級(jí),直接描述業(yè)務(wù)場(chǎng)景,完成業(yè)務(wù)功能冲簿。
- 表達(dá)方式高級(jí)粟判,語言組織得更抽象,更加接近人的思維方式峦剔。
學(xué)習(xí)高級(jí)編程語言
語法
學(xué)習(xí)高級(jí)編程語言的時(shí)候档礁,我們最先注意到的往往是它的語法。語法結(jié)構(gòu)大同小異吝沫,一般都會(huì)包含:
- 關(guān)鍵字
- 變量
- 函數(shù)或者方法
- 類或者結(jié)構(gòu)或者模塊
- 循環(huán)子句
- 判斷子句
- 集合
- 異常處理
- IO處理
語言特性
編程語言的不同主要體現(xiàn)在語言特性中呻澜,這其中往往體現(xiàn)了語言的作者創(chuàng)造這門語言的初衷和他對(duì)編程這件事的個(gè)人哲學(xué)。在語言特性中我們經(jīng)常會(huì)看到一些概念:
- 面向過程惨险、面向?qū)ο蟾摇⒑瘮?shù)式
- 跨平臺(tái),可移植性
- 進(jìn)程辫愉、線程栅受、協(xié)程
- 編譯型、解釋型
- 強(qiáng)類型恭朗、弱類型
運(yùn)行環(huán)境
編程語言的運(yùn)行環(huán)境是支持高級(jí)編程語言語法和語言特性的核心所在屏镊,正是因?yàn)檎Z言的運(yùn)行環(huán)境的存在,高級(jí)編程語言才能有效地與操作系統(tǒng)交互痰腮,使用操作系統(tǒng)的命令來完成高級(jí)編程語言想要完成程序邏輯而芥。不同語言的運(yùn)行環(huán)境各部相同,有的需要編譯器膀值,有的只需要解釋器棍丐。運(yùn)行環(huán)境要做的事情一般包括:
- 解析程序語法,翻譯成操作系統(tǒng)可識(shí)別的指令
- 通過操作系統(tǒng)控制存儲(chǔ)(內(nèi)存沧踏、硬盤)
-
控制進(jìn)程
高級(jí)編程語言體系.jpg
框架&工具&社區(qū)
高級(jí)編程語言大多為工程類項(xiàng)目服務(wù)的骄酗,這類項(xiàng)目有一個(gè)非常重要的指標(biāo)就是開發(fā)效率。成熟的框架悦冀、高效的工具和活躍的語言社區(qū)趋翻,是提高編程語言生產(chǎn)力的三大利器。
框架都是前人在經(jīng)過無數(shù)次項(xiàng)目之后盒蟆,總結(jié)出來的一些常用開發(fā)模式和功能模塊的集合踏烙。學(xué)習(xí)某種語言中最常用的框架,也能從中了解到該語言的應(yīng)用場(chǎng)景历等。
如果你從語法讨惩、語言特性、運(yùn)行環(huán)境寒屯、以及框架&工具&社區(qū)這四個(gè)方面學(xué)習(xí)了編程語言荐捻,那么對(duì)這么語言基本上就算是掌握甚至精通了黍少。
之后將陸續(xù)介紹幾種常用編程語言。