文/林俞佐
「許多現代人與電腦相處的時間,早就超過了跟真人相處的時間了 」與廖秀莉老師共同教授「程式語言」這門課的劉士豪老師相當肯定地說!
儘管如此,人們對於電腦的認識卻越來越低,大多數的人的基礎認知是:電腦有自己的程式語言,跟人們彼此之間溝通的語言方式是不同的。然而,「跟學英文不一樣,學英文跟外國人溝通是因為大家都是人,有共同的邏輯。像iPhone的Siri小姐,如果你問「它」一些很蠢的問題,答案通常讓人啼笑皆非。」
程式語言跟一般語言溝通的方式不同,就代表著它一定深奧難解嗎?(小編心有戚戚焉…) 我們越來越仰賴電腦工作及娛樂,程式語言在未來只會越來越重要,並逐漸取代多數人力。未來世界甚至可以區分成兩種人:「懂得程式語言的專業人士」、「不懂、只能做勞務工作的人」。其中的差別在於前者懂得程式語言背後的「邏輯」,而這是可以訓練的。企業管理的SOP(標準作業程序),也是一種邏輯,圖形化的處理邏輯,當然「也有SOP自己設計得很爛的…」劉老師也調侃了一下:「也因此,很多人不知道背後的意義直接照著做就產生了很多問題。」
要將程式語言開成一門「通識課」而不是專業科目,雖然是趨勢,但也是挑戰。要讓更多的人懂得語言背後的「邏輯」概念,該怎麼做呢?「每一個專業人士都應該有能力將自己的程式邏輯轉換成處理邏輯,讓不知道為什麼要這樣做的人,照著做!」關鍵在於轉換形式,將程式語言的邏輯用另一種方式表達出來,學生就可以在操作的過程中學習到程式邏輯的內涵。「我們運用了遊戲的原則。」目前就已經有人在這塊領域上努力了,如Khan Academy的互動教學、方便初學者學習的圖形化程式語言Scratch等。掌握寓教於樂的原則,「讓學生學著用各種不同的方式去解決問題、完成作品。」
近來,學寫程式已經成為全民運動。Code.org由全球知名人士共同組成推薦,包括矽谷鉅子、科學家、政治領袖、還有成功的體育界、演藝圈人士。了解程式語言的邏輯,目的不在於成為工程師,而在於更好地溝通、提高效率。同時,程式已經逐漸成為這個連線世界的底層規則,這在Lawrence Lessig的演講 Code is law中有清楚的闡述。同時,「開放硬體」與創客(maker)浪潮席捲,除了一起動手做,更要一起動手code。
劉老師認為,學習程式語言並不存在「天分」的隔閡,用玩遊戲來認識邏輯是很自然的過程,「讓學生慢慢的去『體會』」,要先透過基礎程式「邏輯」的認識與訓練,才能進步到每一人都可以做到程式「設計」的遠景。所謂專業就不再只是單指象牙塔內的學識淵博而已,開放、交流,有更多人可以聽懂專業所說的話,才是衡量的標準。
View Comments