史丹佛大學改用 JavaScript 為程式語言入門教材,原因是「Java 語法太不友善」

作者 | 發布日期 2017 年 10 月 23 日 8:22 | 分類 科技教育 , 軟體、系統 follow us in feedly

程式語言有很多種,最為人所知的就是 Java,而 Java 一直以來也常用來當大學程式語言課程的入門教材,但 Java 的文字用語對初學者來說可能不是這麼友善,美國史丹佛大學決定將課程教材改成 JavaScript。



CS 106A 是美國史丹佛大學的程式語言線上初學者課程,一直以來,這項課程提供線上的程式語言教學,也有在 YouTube 提供影片教學,目的在於以唾手可得的方式介紹程式語言的基礎。

自從推出以來,CS 106A 系列課程一直都是以 Java 為教學用的程式語言。相信就算沒學過的人也都聽過 Java,Java 確實在程式語言佔有重要的地位,不過它難懂的用語也著實讓許多人望之卻步。

不過,這個系列課程前陣子開始推出新版本:CS 106J,並且教學用程式語言改成 JavaScript。根據史丹佛大學網站介紹,CS 106J 課程內容包含和 CS 106A 相同的大綱,但是將原本的 Java 教學內容改為以 JavaScript 這個目前最常用來設計網頁的程式語言為教材。

這項決定對許多人來說(尤其是學程式語言的學生),可說是沙漠裡的綠洲,儘管 Java 有許多值得讚許的地方,但對第一次接觸程式語言的初學者來說,Java 可能是最難懂的語言,外媒甚至直言不諱的說:「這是用語最糟糕的程式語言!」

為什麼這樣說呢?我們直接來看國內外許多學習程式語言的人,學寫的第一個程式「Hello world!」(你好,世界!)的指令吧!

這個程式是指在電腦螢幕上輸出「Hello, world!」這句話,一般來說,這是每種電腦程式語言中最基本、最簡單的程式,通常也是初學者編寫的第一個程式。

在 Java 中,這個程式的指令如下:

class HelloWorld {
public static void main(String[] args) {
System.out.println(“Hello, world!");
}
}

如果是本來就懂程式語言的人,看到這段文字可能不覺得有什麼問題,但試著從一個「初學者」,第一次碰到程式語言的人角度來看,這段「英文字」裡有一大堆匪夷所思的地方。

「class」在這邊是什麼意思?它不是教室的意思嗎?而且「public stactic void」又是什麼鬼!我真的必須搞懂這些單字代表的意思嗎?我的老天鵝啊~寫程式好難喔!

的確,雖然說學習一件新事物對每個人來說,都不是件容易的事,不過,讓我們來看看同樣的程式,如果用 JavaScript,指令會是怎麼樣吧!

alert(‘Hello, world!’);

沒錯!就是這麼簡單一句話全部搞定,如果單就字面上來看,其實對初學者來說,也可以直接理解成「彈出警告:Hello, world」,就算一個從來沒寫過程式語言的人,看到這段文字,搞不好都能很快理解。

從上例就可看出,JavaScript 在程式設定的指令碼比 Java 要更友善得多,以 JavaScript 為初學者入門課程的教材,就不用在第一堂課被灌輸這麼多「莫名其妙」的字眼。這麼做有什麼好處?「寫程式」應該是一件「很快樂的事」,不應該成為折磨。

雖然說目前為止,CS 106J 系列課程才上線沒多久,對想學程式語言的人來說,會不會讓他們更有興趣還很難說。

但根據有學程式語言的朋友經驗來看,普遍的看法是:

重點不在哪種語言比較好學,程式語言沒有分難易度。學習程式語言最重要的一點在於學它的邏輯,只要能學好其中一種語言的程式邏輯,那麼一通百通,不論之後要學什麼程式語言都很容易。

但對第一次學習程式語言的人來說,這樣的改變可能還是好的吧!至少字面上看來,JavaScript 好像真的比較好懂。

(本文由 T客邦 授權轉載;首圖來源:pixabay)