【廣告】
編程的趨勢(shì)
在美國(guó)的中小學(xué),越來(lái)越多的學(xué)校推進(jìn)程序設(shè)計(jì)課程,使之迅速成為學(xué)校的一門必修課,美國(guó)孩子就這樣從小被重視培養(yǎng)成富有創(chuàng)造力的人。
奧巴馬說(shuō)?!叭绻覀兿胱屆绹?guó)保持領(lǐng)1先地位,就需要年輕一代的美國(guó)人掌握這種工具和技術(shù),它將改變我們所有的做事方式?!?
同期,英國(guó)把圖形化編程納入了5歲以上小朋友的必修課;在法國(guó),編程被納入了初等義務(wù)教育的選修課程;在北歐國(guó)家如芬蘭、愛沙尼亞也把編程作為了一門非常重要的義務(wù)教育學(xué)科。
在我國(guó)今年的“兩會(huì)”上,人工智能再一次成為關(guān)鍵詞?!靶抡n改”也是直指新工科,會(huì)成為未來(lái)較火,有錢途的大學(xué)專業(yè)。浙江省也將編程放入高1考中。會(huì)編程的孩子更能在人工智能時(shí)代游刃有余,因?yàn)樗麄兌萌绾闻c計(jì)算機(jī)來(lái)溝通。
編程的執(zhí)行原理
計(jì)算機(jī)對(duì)除機(jī)器語(yǔ)言以外的源程序不能直接識(shí)別、理解和執(zhí)行,都必須通過(guò)某種方式轉(zhuǎn)換為計(jì)算機(jī)能夠直接執(zhí)行的。
這種將高1級(jí)MINIPRO編程硬件程序設(shè)計(jì)語(yǔ)言編寫的源程序轉(zhuǎn)換到機(jī)器目標(biāo)程序的方式有兩種:解釋方式和編譯方式。
解釋方式下,計(jì)算機(jī)對(duì)高1級(jí)語(yǔ)言書寫的源程序一邊解釋一邊執(zhí)行,不能形成目標(biāo)文件和執(zhí)行文件。
編譯方式下,首先通過(guò)一個(gè)對(duì)應(yīng)于所用程序設(shè)計(jì)語(yǔ)言的編譯程序?qū)υ闯绦蜻M(jìn)行處理,經(jīng)過(guò)對(duì)源程序的詞法分析、語(yǔ)法分析、語(yǔ)意分析、代碼生成和代碼優(yōu)化等階段將所處理的源程序轉(zhuǎn)換為用二進(jìn)制代碼表示的目標(biāo)程序,然后通過(guò)連接程序處理將程序中所用的函數(shù)調(diào)用、系統(tǒng)功能調(diào)用等嵌入到目標(biāo)程序中,構(gòu)成一個(gè)可以連續(xù)執(zhí)行的二進(jìn)制執(zhí)行文件。調(diào)用這個(gè)執(zhí)行文件就可以實(shí)現(xiàn)程序員在對(duì)應(yīng)源程序文件中所特定的相應(yīng)功能。
編程語(yǔ)言
編程語(yǔ)言(programming language),是用來(lái)定義計(jì)算機(jī)程序的形式語(yǔ)言。它是一種被標(biāo)準(zhǔn)化的交流技巧,用來(lái)向計(jì)算機(jī)發(fā)出指令。一種計(jì)算機(jī)語(yǔ)言讓程序員能夠準(zhǔn)確地定義計(jì)算機(jī)所需要使用的數(shù)據(jù),并準(zhǔn)確地定義在不同情況下所應(yīng)當(dāng)采取的行動(dòng)。[1] 早的編程語(yǔ)言是在電腦發(fā)明之后產(chǎn)生的,當(dāng)時(shí)是用來(lái)控制提花織布機(jī)及自動(dòng)演奏鋼琴的動(dòng)作。在電腦領(lǐng)域已發(fā)明了上千不同的編程語(yǔ)言,而且每年仍有新的編程語(yǔ)言誕生。很多編程語(yǔ)言需要用指令方式說(shuō)明計(jì)算的程序,而有些編程語(yǔ)言則屬于聲明式編程,說(shuō)明需要的結(jié)果,而不說(shuō)明如何計(jì)算。
編程語(yǔ)言的概述
編程語(yǔ)言原本是被設(shè)計(jì)成專門使用在計(jì)算機(jī)上的,但它們也可以用來(lái)定義算法或者數(shù)據(jù)結(jié)構(gòu)。正是因?yàn)槿绱?,程序員才會(huì)試圖使程序代碼更容易閱讀。
編程語(yǔ)言往往使程序員能夠比使用機(jī)器語(yǔ)言更準(zhǔn)確地表達(dá)他們所想表達(dá)的目的。對(duì)那些從事計(jì)算機(jī)科學(xué)的人來(lái)說(shuō),懂得程序設(shè)計(jì)語(yǔ)言是十分重要的,因?yàn)樵诋?dāng)今所有的計(jì)算都需要程序設(shè)計(jì)語(yǔ)言才能完成。
在過(guò)去的幾十年間,大量的編程語(yǔ)言被發(fā)明、被取代、被修改或組合在一起。盡管人們多次試圖創(chuàng)造一種通用的程序設(shè)計(jì)語(yǔ)言,卻沒有一次嘗試是成功的。之所以有那么多種不同的編程語(yǔ)言存在的原因是,編寫程序的初衷其實(shí)也各不相同;新手與老手之間技術(shù)的差距非常大,而且有許多語(yǔ)言對(duì)新手來(lái)說(shuō)太難學(xué);還有,不同程序之間的運(yùn)行成本(runtime cost)各不相同。