從本質(zhì)上看,編程語言是什么?

?"語言并非僅僅是一種用以交流思想的工具,而且是存在的住所。"

編程思維與編程語言是編程中兩大重要板塊。輕松搭建編程邏輯的關(guān)鍵,在于準確把握它們本質(zhì)。

編程語言種類有很多,Python、C語言、C++,Java.....當(dāng)然還有孩子喜歡的Scratch圖形化編程語言。這么多編程語言,共通之處在哪里?新手老師,如何快速掌握一門編程語言?孩子學(xué)編程語言,關(guān)鍵在于學(xué)什么?

一、萬變不離其宗,編程語言的實質(zhì)是什么?

語言是人類最重要的交際工具,是人們溝通的主要表達方式。

人類迄今為止發(fā)明了三種標志性的語言,分別是自然語言、數(shù)學(xué)語言、程序語言,分別對應(yīng)了人類的三個文明時代:農(nóng)業(yè)與手工業(yè)時代、工業(yè)時代、信息時代。

每一種符號體系的建立都是人類智慧跨越式的發(fā)展,是上了一個大臺階。

相比于人類語言,琳瑯滿目的編程語言,它們的實質(zhì)是什么?

實際上,任何一門編程語言至少包含兩類內(nèi)容:? ? ?

知識(編程語言的共性,可遷移)

規(guī)則(編程語言的特性,不可遷移)

知識是共性,面向所有編程語言通用。

規(guī)則是特性,一門編程語言特有的規(guī)則。

就像人類語言用于人與人的交流,編程語言能實現(xiàn)人與機器之間的交流溝通,讓人類可以享受智能服務(wù)的便利與好處。編程語言的實質(zhì),在于人機高效溝通的規(guī)則。

1)首先,編程是一門語言類技能

通俗的說,語言基本被定義成一種人際溝通的工具,或用于人際溝通的一組符號。而編程語言(Programming Language)可以簡單理解為一種計算機和人都能識別的語言。既然能稱作做語言,同樣也遵循著語言的規(guī)律。

我們學(xué)習(xí)一門語言,最接近本質(zhì)地學(xué)習(xí)一門語言時,我們最關(guān)心什么?

答案就是這個語言的規(guī)范/語言標準。正是這份規(guī)范/標準里的內(nèi)容,讓一門語言真正成了一門語言。

人類語言的規(guī)則,并沒有一開始就被固化在某處,而是會經(jīng)過一個動態(tài)學(xué)習(xí)的過程,然后最終被固化在人類大腦中。

人類的語言是人與人直接交流用的,經(jīng)過了幾十萬年的打磨,可以比較隨意地表達,文字順序亂了我們也能看得懂,因為有文化和語境的幫助。然而,機器為了準確,不能有這樣的隨意性,必須得有一定的規(guī)范。

2)其次,編程語言規(guī)范,起源于人機相互馴化

編程語言和人類語言相似的地方,在于都有一定規(guī)則:

誰是傾聽者、執(zhí)行者,誰就要理解命令者語言背后隱含的意義;同樣的,誰是發(fā)號施令者,發(fā)起溝通的人,誰就有義務(wù)把話說清楚、說明白、保證對方基本能聽懂。

橫梗在現(xiàn)實的問題是:機器與人類不同。

機器,是人類發(fā)明出來的傀儡,勝在“嚴謹刻板”“唯令是從”,也敗在“機械呆板”“不知變通”。

人類不屑于機器唯令是從的特性,機器也沒有快速理解人類意圖的智慧。

人類的語言充滿迂回,不同個性的人溝通時,過于木訥,缺乏共同的文化背景、經(jīng)歷與共識,不敞開天窗說亮話,就有人根本聽不出話中話、弦外之音,機器更是如此。

然而,畢竟是我們想讓機器代勞,我們就得使盡招數(shù)讓機器力所能及,就是我們?nèi)祟愊热ダ斫鈾C器的行事風(fēng)格和思維方式,然后再教會機器全力理解人類的意圖與規(guī)則。

這就相當(dāng)于我們想讓英國人替我們完成一個任務(wù),我們說英語的效率最高;我們想讓計算機完成任務(wù),我們就要去理解計算機的運作方式,然后輸入計算機能識別的語言。

編程語言的誕生與演化,其實是人類與機器互相學(xué)習(xí)、雙向馴化的產(chǎn)物,是“讓機器聽人類”與“還是讓人類懂機器”雙方博弈的結(jié)果。

二、編程語言的演變:編程語言是如何演化的?

編程語言自誕生起,就是在不斷的進化升級,進化的方向包括兩種:更像機器的語言,還是更像人類的語言。

1)第一階段:機器語言

第一代計算機語言,稱為機器語言。用二進制代碼0和1描述的指令稱為機器指令。全部指令的集合構(gòu)成計算機的機器語言。

機器的底層世界只是有電和沒電兩種狀態(tài),分別用1和0表示,這就是二進制的來源。在計算機內(nèi)部,無論是一部電影還是一首歌曲或是一張圖片等等,最終保存的都是0和1組成的代碼。

機器語言對于CPU來說十分親切友好,能夠被CPU識別并執(zhí)行,但是對于設(shè)計開發(fā)人員卻完全相反。畢竟機器語言不是人類擅長使用的語言,它的可閱讀性很差。

理解機器語言尚需要時間,更別提用它編寫程序。人們很快就設(shè)計出來了各種高級語言來編程,但是也帶來了新的問題——計算機讀不懂我們寫的程序。

2)第二階段:匯編語言

為了辨別和記憶,人類開始使用第二種語言,即將 0/1 代碼翻譯為英文單詞,這些英文單詞直接對應(yīng)著一串 0/1 指令。這個就是匯編語言。

通過專門的軟件就可以將這些英文單詞轉(zhuǎn)化成 0/1 代碼并由計算機執(zhí)行,這種專門起翻譯的作用的軟件叫作編譯器。

這些英文單詞和與它們對應(yīng)的 0/1 代碼之間的對應(yīng)關(guān)系,以及語言的語法,在編寫這個軟件的時候就已經(jīng)寫在里面了。只需要通過編譯器就可以將這些都轉(zhuǎn)化成 0/1 代碼,大大方便程序的編寫。

3)第三階段:高級語言

第三代語言又叫“高級語言”,就是我們今天不斷進階的各類編程語言,可閱讀性更強,能夠方便地表達程序的功能,更好地描述使用的算法,更容易被初學(xué)者所掌握。

編程一般用高級語言,計算機不能直接理解高級語言,只能理解和運行機器語言,所以必須要把高級語言翻譯成機器語言,計算機才能運行高級語言所編寫的程序。

三、思維vs語言:為什么學(xué)習(xí)編程能夠訓(xùn)練思維?

在農(nóng)業(yè)與手工業(yè)時代,人類對上帝的隱喻就是一個農(nóng)夫;工業(yè)時代,上帝被假想為一個偉大的機械工程師;而今天,最精妙的隱喻就是——上帝是一個程序員。當(dāng)你觀察DNA上基因的序列時,你一定覺得那是偉大程序員的作品。

編程語言是一種簡潔的、高純度的、形式化的知識系統(tǒng)。它的類比對象是自然語言、數(shù)學(xué)語言,是一種思維工具。它的關(guān)鍵作用是塑造一種全新的世界觀、思維方式、解決問題的手段,掌握它的人可以發(fā)掘出這個世界更深、更廣的可能性。

不論是歷史中的可編程發(fā)明,還是近代的計算機編程語言發(fā)展,我們都能從中看出,編程技術(shù)的目的是駕馭機器、駕馭計算機,讓它們更高效地解決問題。

所以孩子學(xué)編程時,要逐步接觸、理解、體驗編程的邏輯操作、算法、數(shù)據(jù)結(jié)構(gòu)、工程設(shè)計等通用的工程方法與數(shù)學(xué)知識,這樣才符合孩子的學(xué)習(xí)成長規(guī)律。

學(xué)生在需要使用新的編程語言時,這些核心知識也能夠幫助他們更快融匯貫通。更重要的是,學(xué)生可以脫離編程語言,更純粹地思考如何讓計算機解決問題,具有“編程思維”

現(xiàn)在為了競賽升學(xué),很多家長送孩子去學(xué) C++ 之類的編程語言。在小學(xué)階段就開始學(xué) Python和C++編程語言意義不大。因為孩子的抽象思維和形式邏輯思維發(fā)展還不完善,對純代碼難以產(chǎn)生真正的理解,很容易死記硬背。

而語言是死的,而思維是活的。學(xué)編程,重要的是掌握編程語言的語言特性,而不是語言本身。畢竟,大多數(shù)孩子未來不會靠編程吃飯,學(xué)習(xí)編程的目的,更偏重于培養(yǎng)編程思維,把編程中的概念和解決問題的方法論,盡可能地應(yīng)用到學(xué)習(xí)和生活中去。

寫在最后

對于兒童而言,編程語言的學(xué)習(xí),可以是無意識的伴隨狀態(tài),關(guān)鍵在于學(xué)習(xí)編程語言的規(guī)則,也就是規(guī)則背后思維的訓(xùn)練!不管是從語言角度,還是從思維角度出發(fā),學(xué)編程對孩子最重要的還是掌握編程思維、搭建編程邏輯。打好編程思維基礎(chǔ)后,掌握了用搜索引擎查找資料、閱讀官方文檔、在社區(qū)求助的能力之后,孩子日后完全可以自學(xué)任何一門編程語言,真正受益!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,882評論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,208評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,746評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,666評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 71,477評論 6 407
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 54,960評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,047評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,200評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,726評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,617評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,807評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,327評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,049評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,425評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,674評論 1 281
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,432評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 47,769評論 2 372