你知道什麼是編譯器(compiler)嗎?它本身是一種程式,其角色定位可以說是「編程界的翻譯人員」。
較為廣泛使用的高階程式語言,大概都像以下這個樣子,具有一定程度對人類而言容易理解的關鍵字和語法規則:
然而,電腦本身能夠看得懂的語言並不是這種,而是一堆 0 和 1,也就是機器語言。
編譯器在人類與電腦之間居中協調,把人類寫出來的程式指令轉換成機器語言,電腦理解之後才能執行。這個過程就像是翻譯人員把同一個訊息,在不同國家的語言體系之間相互轉換、傳遞。
翻譯這項行為,在講同樣語言的人之間其實也會發生。
同一個領域裡,知識與經驗過於深厚的大師,與初學者、外行人之間,同樣會因為彼此之間的知識儲備差距太大,導致無法直接對話、雞同鴨講。此時一樣需要人在居中翻譯、協調。
從事這項工作的,通常是該領域的「教師」、「教學專家」,其職責就是把高深晦澀的知識和概念,轉換成容易理解、平易近人的語言,好讓初學者容易得其門而入,逐漸理解該領域,達成知識的普及。
「理解」與「不理解」之間,有著名為「語言隔閡」或「知識落差」的鴻溝。
翻譯、編程、教學,都有著同樣的底層邏輯,都是企圖跨越這樣的鴻溝,促進個體之間的相互理解、學習、合作,甚至進化。