过去我上课的时候总喜欢坐在第一排,因为那时觉得自己英文可能还不够正常理解老师说的每句话,坐在第一排可以帮助我集中精力听清楚。这个学期以来,由于心态的变化,我开始喜欢坐在后面。这样的好处是有更多的自由度,听起课来也更轻松一些。当然,需要记很多课堂笔记的《数据结构和算法分析》课我依旧是坐在前排。
坐在后排还有一个“好处”,就是可以“窥屏”。教室里很多人都带着计算机去记笔记,我在无聊的时候,就会看看他们在干什么,用的什么软件之类的。看了几次,让我感到有一个很深刻的印象,关于软件使用的。
Windows 下的软件就不用说了,一来我基本上不熟悉,二来多数人记笔记用的就是 OneNote(我从这边帮同学挑过电脑,一般买了都会带 OEM 版本的 Office 的一些软件),少数人用记事本,另外我见过一个 jerk 用的是 TextPad。关于 TextPad,我觉得只是一个比记事本稍微稍微强那么一点点的东西,在我看来它的优势只是大一老师教编程时推荐的编辑器。所以现在有同学编程甚至记录课堂笔记都用它,让我觉得实在是讶异。长期用这种编辑器,我觉得我会得抑郁症。当然,如果此人从来没有见过外面的世界,就不那么好说了,虽然这种情况的几率不大。
我们这边课堂上用 Mac 的人数与用 PC 的人数基本上持平,有时候还会超过。用 Linux 的我也见过至少 10 个。由于 Mac 和 Linux 都是以 UNIX 基础的系统,所以把它们放在一块讨论也算说得过去。虽然当中有些小的差异。
在 Linux 下,我见过的用来记笔记的工具,好像只有 oowriter。顺便说一句,我看见过的 Linux 发行版都比较基础。不知道是这帮老外的水平还在入门阶段还是已经“看破红尘”,用得基本上都是 Ubuntu 系列的系统。喜欢 GNOME 的就用基本的 Ubuntu,喜欢 KDE 的就用 Kubuntu。别说 Gentoo 了,我连个 Arch 都没见到过。用这些 Ubuntu 之外的发行版不是为了耍酷什么的,而是根据我的经验,Ubuntu 系统用一段时间之后,速度确实是像蜗牛一样,特别是我用了 Gentoo 之后,这种感觉尤其强烈。言归正传,用 oowriter 的大多数人都是普通的记录而已,而在《数据结构与算法分析》课上坐在我旁边的一个同学,我曾经瞟过他的屏幕,看到他就在课堂上用 oowriter 的画图工具在画 heap 等结构。看了之后我大感惊艳,时间长了不用 OpenOffice,我也不知道里面的画图工具进化到什么地步了,如果在课堂上来画这些数据结构图能赶上手画的速度,已经可以算是“泣鬼神”了。
在 Mac 下,我见过同学使用过的记笔记软件占多数的是 Pages。与 Linux 下的 oowriter 的情况差不多,当然也有不想掏钱购买 iWork 的而选择使用免费的 OpenOffice for Mac。少数人使用 Microsoft Office 2008 for Mac,也在情理之中。而我亲眼看到有人用 TextEdit.app 来记笔记,也算是相当奇特的了。更“厉害”的是我们《操作系统》课程的老师,一个资历比较老的教授,用 TextEdit.app 来维护一个挺长的 ToDo list。做得特别工整,左边是事件的描述,右边有耗时的估算。但愿是我无知,不知道 TextEdit.app 可以使用插件,难道要手动维护一个 ToDo list?按理说那一代的教授应该对 Emacs 比较了解的。
就我观察的这些人来说,绝大多数人喜欢用系统自带的或者是默认推荐的主流软件(当然,这不包括 IE。Firefox 在加拿大已经是标准的浏览器,哪怕是在 Mac 上,我也看到很多人使用 Firefox 而不是 Safari。)。这让我感到挺奇怪,人们选择使用最“流行”的而不是最优秀的软件来使用。虽然说不同人对“优秀”有不同的定义,但我想在计算机系,在判断软件的优秀程度上应该是比较统一的吧。但人们还是不大用 Emacs,用 Vim 略多一些,多数人喜欢用标准的图形软件。也许是大二老师讲 C 语言的时候在实验课上指定的标准软件是 Xcode,所以多数人对 IDE 情有独钟。Java 自然是 Eclipse 了,毕竟它自己也已经有了很大的名头了。
目前来看,相比起国内来说,Linux 在加拿大的计算机系课堂上已经不算“小众”了。根据我的观察,Emacs 才是真正的小众。在这里流行的似乎不是 Emacs 这种“用统一的工具来编辑不同的文档”的政策,而是用不同的工具针对性的编辑不同的文档。写 Java 程序有 Java 编辑器,写报告有文字处理工具,等等。我在这些年来,在自己的计算机上使用 Emacs 的,我是一个都没见到过。
我想过,一个普通的大学生使用计算机按照“潮流”来选择软件是正常的,而一个计算机系的大学生使用的软件,为什么还在这种基础的层次上呢?有很多软件,虽然古老,但绝对比那些东西优秀。前几天我们要交项目的 proposal,我负责合并小组其余三位成员的工作,完成排版工作后交给老师。老师的 proposal guide 上说如果 proposal 是用 LaTeX 编辑的,可以有加分。当时我就想,如果不让我用 TeX,我还能拿什么来排版呢?到今天来说,文字处理工具已经越来越不适合我了,我对它们也越来越生疏了。让我用文字处理工具来排版,想象就有很多困难。
我至今还记得引导我进入 Linux 大门的王垠的一篇文章(这篇文章被王垠改了,之前的观点性的论述被删除了)。里面有一节好像就是说使用这些看上去“老掉牙”的但绝对优秀、稳定的程序,而不是用像 OpenOffice 这样“新潮”(五、六年前了,那时候 OOo 确实新潮)却不稳定的程序。我觉得到今天来看,这话还是对的。OOo 虽然发展了这么多年,但我觉得从文档编辑的角度来看,包括 OOo、包括 Word,出发的方向就错了。我到今天也无法接受这个方向,因为按照这个方向走,对一个文档进行排版实在是太难受了。直观的来看,这些所见即所得的软件满足了初学者,似乎也很简单,但确是在要求用户来符合计算机的思想。而 TeX 这种“所想即所得”的软件,用一些简单的符号来表示文档的样式,是相当符合人类的思维方式的。
有时候我想,我身边的这帮人用 Linux 是为什么呢?觉得 Linux 很稳定?其实近几年来 Windows 已经很稳定了,从 Windows 2000 之后就很少有蓝屏等状况发生了。觉得 Linux 很酷?也许吧。我的理由是 Linux 下的软件是无法移植的,所以我希望使用 Linux。为了某些原因而为了用 Linux 而用 Linux,我觉得是一种“买椟还珠”的行为。我一直在推崇 Linus 对于操作系统的看法──操作系统的任务是帮助软件来运行,一个用户应当永远看不到操作系统。目前的很多发行版,为了推广 Linux,让 Linux 看上去简单,集成了很多入门级的软件(如 OOo),这些软件实在不是我心目中不可替代的软件。
多年前俺用word(还是盗版,现在也用,乃迫于无奈,周围的同事没有不用word的)。现在很怪,多文件编辑用vim,单文件也是vim。近段时间学习Emacs,被怪异的操作思维所困,然后发现Ctrl键开始磨损。
用word的时候觉得设置格式很麻烦,学习LaTeX后才发现原来这才是真正的文本编辑方式。
从大众转向小众是需要花时间的。——总结之!