TAOUP给我们的启示

"Those who don't understand Unix are condemned to reinvent it, poorly."
– Henry Spencer, 1987.11

《UNIX编程艺术》(简称TAOUP,是对Knuth的TAOCP的致敬。)讲解UNIX社区的历史、理念、哲学、原则,及其相关技术和软件。可作为故事书看完,也可作为相关技术参考。很奇怪的是,我基本上认同该书陈述的所有理念与哲学,仿佛那些只是很自然的事情又似乎每一个人都可以接受一样(其实肯定并非如此!),尽管我并非真正意义上的程序员或者黑客。

看完这本书我最大的收获或者想与大家分享的还不是书中的理念、哲学、技术,而是一个事实。通过作者的那番陈述(其实只是他叙述的方式在深深地影响我),我看到在我所在的这个地区(大学)的一个没有被太多人关注或者讨论的事实:目前我和我的同事、学生缺乏的不仅仅是理论、技术,可能更重要的问题是,我们缺乏一个具有统一理念且保持稳定发展的专业社区

拿程序开发而论,我们往往看到我们讲授程序开发的局限性,也看到提升程序员能力的迫切性,更认识到目前要提高大部分同学编程能力的不可能性。一直在反思,是什么导致了这样的窘迫局面?我们有批评过教学的方法、教育的制度,也批判过社会的各种风气。然而,看完TAOUP之后,我想,如果我们的学生不能有(并且进入)一个可以影响他一生的程序员社区,不能学习生活在某个稳定的程序员社区中,并受一种薪火相传的理念或者称为文化氛围所熏陶与影响,他们在程序员这个路上势必无法走远。

稍微回顾一下我们学院CSer教育之路:大一学C、C++ (Windows 编程),然后Java,然后有数据结构、操作系统,再接着某些TCP/IP编程、做网站等等,学点数据库或者再加上软件工程。似乎学了很多知识,但是只要问一个问题,也许很多问题就暴露出来:我们培养的是具有何种统一技术理念的程序员

这个问题在TAOUP中频频强调。我们号称培养的是灵活多变的程序员,无论什么操作系统都懂的程序员,反过来,其实是什么操作系统都不懂的程序员。也正因为我们不强调操作系统,那么操作系统所赋予的许多理念就不可能被传授,比如UNIX社区中的开源文化、代码重用、摒弃丑陋的GUI等等。这种不重视操作系统理念的编程教育,不能不说是因为Wintel 的崛起或者我国计算机教育的落后状况造成的极坏后果。

Windows为了满足一般用户桌面应用需求,提出“可见即所得”的理念,被鼓吹了20年。我们培养的程序员大部分是欣然接受这种理念的,尽管我并不能称他们是Windows程序员。我们培养的毕业生的毕业论文经常有很多丑陋的排版,只要你向他们指出,他们都归咎于Windows:没办法,Word就是这样工作的。比如,一张图片挤不进一个版面就会挤压到下一个版面而导致有一页有大量空行这样的错误。我不知道是否“Word就是这样工作的”,但是“可见即所得”绝对值得再写一篇文章批判。

我知道,要扭转这样一种简单的错误看法我们都需要花费上十年的工夫或者干脆是不可能的任务。为什么?因为他们身边大部分人都是这样的一般非技术用户,因为他们的老师、他们的技术主管、他们的领导都是从小就被Windows培养出来的专门人才。但是不要忘记,他们并不是Windows系统的专门人才,而仅仅是被简单而丑陋的系统惯坏了的用户而已。我举这个例子只是想说明,要改变某些看上去容易改变的现状是非常非常困难的一件事情(注:批评Windows系统并不是一件容易接受的事情,更别提改变使用Windows的陋习是容易的事情。所以,我愿意为以上见解接受所有批评。),重点是没有一个正常的环境,即我一开始就提出的那种所谓的“程序员社区”。

如果我倡议说,把这样的社区建设起来,那也未免过于乐观了。一种文化氛围的建设岂是一人之力几年的工夫可以完成的呢?那是不是就不可补救呢?也不尽然。当务之急,我想,首先要倡导尽可能多的同学在Linux下学习、编程、娱乐。其次,相关课程逐步跟进,比如,大一的编程、大二的操作系统、计算机网络等课程多强调Linux操作系统。希望星星之火可成为薪火相传之火、可以壮大成燎原之火!

也有人会问,那Windows操作系统这么流行就不讲了?答案是,Windows是流行,但是真没什么可以讲。所谓没什么可以讲是因为Windows本身就缺乏一种传统,而且它还是闭源系统,你讲什么?估摸现在能讲XP的老师都没有,但是XP已经退休了。那该讲Win8?嗨,这可能吗?就算能讲,讲完了估计该出Win10了。哦,不,也许是Win13,谁知道呢?

将IT文化建设的问题推广一步:一个地区的文化如果缺乏统一传承,那么这种文化即呈岌岌可危之势。在这一点上,我中华文化的传承中已经日益凸显其危机啊,就不提也罢了。不过,是该反思反思了。应该看到的是,我们的IT文化尚未成型,IT文化社区尚未建设,足可一叹。这就是TAOUP给我的启示。分享给大家,应该是给大家的启示!

P.S. 本文作者是一位普通的大学老师,其目的有二:推荐一本书;提出一个问题:如何教如何学CS? 本文不探讨Linux与Windows的差异好坏。

2014.5. 写
2017.2.14改

UNIX编程艺术
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 225,271评论 6 524
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 96,533评论 3 405
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 172,580评论 0 370
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 61,203评论 1 303
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 70,204评论 6 401
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 53,664评论 1 316
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 42,014评论 3 431
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 40,991评论 0 280
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 47,536评论 1 326
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 39,558评论 3 347
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 41,678评论 1 355
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 37,267评论 5 351
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 42,997评论 3 341
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 33,429评论 0 25
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 34,580评论 1 277
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 50,259评论 3 382
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 46,744评论 2 366

推荐阅读更多精彩内容