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

作者 | 發布日期 2017 年 10 月 23 日 8:22 | 分類 科技教育 , 軟體、系統 line share follow us in feedly line share
史丹佛大學改用 JavaScript 為程式語言入門教材,原因是「Java 語法太不友善」


程式語言有很多種,最為人所知的就是 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