斯坦福大学改用 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!”(你好,世界!)的指令吧!

斯坦福大学改用 JavaScript 为程序语言入门教材,原因是“Java 语法太不友善”

这个程序是指在电脑屏幕上输出“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 好像真的比较好懂。

本文章由 brokenway 发布在 个人知识库 ,文章所述不代表本站观点,法律风险由发布者自行承担,转载请注明出处!