[程式教育] 程式語言是什麼?

Spread the love

前一篇我們談了「為什麼要學習程式語言?」,了解了「程式語言」的重要性。接下來我們來說明一下,什麼是「程式語言」,讓大家有個概念,簡單理解它的輪廓。如果你問ChatGPT,它可以給你精準而明確的回答,如下圖所示。但我想用更容易理解且不帶專業術語的白話來說明。

語言的用途 – 溝通

程式語言,既然裡面有「語言」二字,表示它也屬於一種語言。所以當然要先從我們認知的人類「語言」談起,「語言」最主要是用來「溝通」的,對吧!?

「語言」,是人類彼此溝通的工具,要達到溝通的目的,語言需具有「共通性」。也就是說,「我講的話、你聽得懂」。人與人之間透過「相同」語言來溝通,那語言「不同」,自然無法達到溝通的目的。

不同語言間的溝通 – 翻譯

簡單來說,「程式語言」就是用來作為人與電腦溝通的工具。與人類語言的差別是,「程式語言」屬於單向的溝通方式,也就是人類對電腦下指令,不像人類語言是雙向的溝通。

但是,電腦是如何理解「程式語言」呢?電腦,本身是一個機器,所以它能理解的是「機器語言」,而不是「程式語言」。

回到人類語言的角度,如果雙方語言不同,該如何溝通?沒錯,就是「翻譯」。同理,電腦之所以能接受指令,其實是「程式語言」到「機器語言」,也有一段類似「翻譯」的過程。

翻譯的關鍵 – 語法

我記得知名的英語老師賴世雄講過一個笑話,他看電視劇中出現以下一段英文對話。
A說:「Are you kidding?」,B回:「No, I‘m serious.」
字幕翻譯是「你是奇丁嗎?」「不,我是喜瑞爾斯。」

這告訴我們,即使語言相同,若沒有理解上下文,或者語法錯誤,還是可能會有溝通失準的可能性。

總而言之,學習「程式語言」就類似學習某一個人類「語言」的過程,一開始會學習到一些單字,這些單字有名詞、動詞、形容詞等等不同類型,然後用這些單字組合成句子(文法)。

「程式語言」有很多種,就如同人類語言有中文、英文、法文等等不同語言,每種語言有各自的單字和文法,程式語言也是類似,學習它就像是在熟悉這些單字與語法。你可以不用管它是如何翻譯成電腦懂的語言,但是也如同上例,如果語法錯了,電腦就可能搞不懂或是誤解你的指令。

透過這兩篇文章,我們知道了「為什麼」(Why?)要學習程式語言、以及程式語言是什麼(What?),下一篇我們將探討該如何(How?)學習程式語言。

Similar Posts

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *