免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5702 | 回复: 9
打印 上一主题 下一主题

真正的UNIX程序员,要成功都要信守一种文化--Unix 编程艺术 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-03-10 10:14 |只看该作者 |倒序浏览
ChinaUnix  社区推荐本月阅读图书《UNIX 编程艺术》



强烈推荐“程序员的网上家园”:第二书店购买

阅读对象:任何一名程序员
阅读等级:★★★★★


推荐原因:
老牌的UNIX程序员象是一杯陈酒,越老越弥香。
真正的UNIX程序员,要成功都要信守一种文化。
书中文化自己慢慢体会吧:)

[ 本帖最后由 snakeguang 于 2006-4-29 10:28 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2006-03-10 15:12 |只看该作者

王咏刚- 文化之妙与品辨之明 三读《UNIX编程艺术》

专家书评,仅供读者参考


文化之妙与品辨之明
三读《UNIX编程艺术》

第一次读《UNIX编程艺术》是2004年的夏天。那时我正忙着把一套只肯在Windows上跑的分布式存储系统移植到UNIX和LINUX上来,业余时间里则正在北大裘宗燕教授的指导下,一字一句地翻译“古奥艰深”的R5RS;于是,像《UNIX编程艺术》这样一本没有太多恼人的代码,又约略可以指导手头工作的大部头就自然成了我临睡前的“催眠读物”。

真正从书中学到了什么,现在已经很难说清楚了。只是隐约记得,《UNIX编程艺术》一开头罗列出的那一大堆Rules着实让我陶醉了一阵子。此前对UNIX的认识几乎都是零散的。从make到cc,从emacs到gdb,从ssh到xinetd,尽管我知道在遇到障碍时去howto或faq文档中翻找答案,知道在不知所措时请出开源软件的代码来帮忙,但我却总也想不明白,一个普通的程序员该怎样才能在UNIX的世界里从无到有地勾画出一幅真正属于自已的图景。一种强烈的恐惧感似乎总是与我形影不离——那是一种独自走进克里特岛或是秦始皇陵的人都会产生的恐惧感,是一位缺乏经验的程序员在UNIX种类繁多的工具、接口与源码面前必然会遭遇的恐惧感。也许,《UNIX编程艺术》里罗列的Rules是治疗这种恐惧感的药方,因为有规则总比没有规则强,有一套充满哲学意味的规则更要比仅有些生硬的技术规约强上百倍。通常,Rules意味着坚定,Rules代表着勇气,就像电影《Transporter》中的男主角一样,当凡事都可以用编了号的规则来描述或阐释的时候,就连黑社会的老大也会不由自主地对你说“I like rules”了。

阅读的副产品是一个有趣的可扩展计算工具xeval。我的确是在读过了《UNIX编程艺术》的第五章“文本化:好协议产生好实践”之后才有了编写xeval的想法的。当时,我的思维历程大致如下:多用户、多任务的操作系统必然要为不同的应用提供相互交流的平台;最好的平台应该拥有最简单的实现方案; UNIX利用文本格式实现信息交互的想法符合UNIX的KISS(Keep It Simple, Stupid!)准则;与Windows系统提供的协议或交互方式(注册表、剪贴板、DDE、OLE等等)相比,文本格式就像“天仙美眉”一样质朴和脱俗;质朴和脱俗意味着实现简单和扩展方便;不过通常说来,文本化的做法与命令行方式的应用结合得更好一些;为了在Word或Excel这样的纯GUI应用中发挥文本化的优势,我们需要一些桥梁或隧洞;Windows系统中的热键和剪贴板可以成为GUI程序文本化的桥梁之一;最终实现并发布到网上的xeval就是这样一个可以在GUI应用中嵌入文本化应用的程序原型。

第二次读《UNIX编程艺术》是去年有了一台属于自己的“小白”(Apple iBook G4的俗称)之后。在那之前,我一直以为Apple发布UNIX内核的MAC OS X是在向UNIX阵营投降,是彻底承认MAC OS无法长时间稳定运行的无奈之举。实践表明,我的想法错得离谱。在MAC OS X漂亮的外衣下面,Apple的设计师们并没有完全克隆或仿制UNIX的所有“生理特征”:无论是Cocoa的巧妙设计还是Widgets的新颖创意,无论是应用程序的封装方式还是AppleScript的自动化机理,这些区别于传统UNIX架构的系统特征似乎在竭力向我们证明,原本属于Apple的优先“关心用户体验”的编程文化可以和原本属于UNIX的优先“考虑基础设施”的编程文化以某种方式优雅地共存、共赢。由此我很快想到,《UNIX编程艺术》在论述“Unix文化中的问题”时已经专门辨析和比对了两种看似矛盾的编程文化与思维方式,并特别指出“两种设计哲学都有正确的一面”,它们“将会融合在一起,如同过去互联网和早期Unix文化在1980年后的融合一样”。

有了这样的认识,我读《UNIX编程艺术》时的关注重心就很自然地从工具和方法转移到了思想和文化上来。比如,在重读“使用Emacs整合工具”一节时,我不会再有打开emacs动手实验的冲动,反之,我更愿意静下心来想一想:那些非UNIX出身的IDE们(比如Visual Studio)是否已经从emacs这样一个“像IDE一样,但更强”的UNIX工具身上吸收或借鉴了足够多的有用特性?同样是可扩展的IDE环境,Eclipse和emacs之间是否存在本质的差异?当elisp在emacs中发挥着不可或缺的核心功效时,为什么Word里的VBA就只能扮演边缘化的辅助角色?李连杰在影片《霍元甲》中说,茶没有高下之分,武术也没有高下之分——在程序设计的世界里,不同的文化和不同的技术之间,是否也没有高下之分?

第三次读《UNIX编程艺术》是今年电子工业出版社的中译本出版以后。我没有仔细核检过英文版和中文版的文句,不敢妄评译本的翻译质量如何如何。但译本把原书第二章标题中的“A Tale of Two Cultures”译为“双流记”的做法的确值得称赞。要知道,翻译也有风格和流派上的差异。同样是这么一个标题,你可以完全不考虑原文与《双城记》之间的双关性,你也可以用更复杂的句式将原文中的文化内涵阐发得通通透透,但你不得不承认,“双流记”的译法是诸多译法中最有UNIX味道的一种,最符合《UNIX编程艺术》一书反复强调的KISS准则。从这一点看来,UNIX平台上以简约、深刻为特征的编程文化在其他领域也大有用武之地,《UNIX编程艺术》一书勾勒技术脉络,辨析文化源流的论述方式也值得所有著书人和读书人好好品味。

摘自《中华读书报》

论坛徽章:
0
3 [报告]
发表于 2006-03-10 16:24 |只看该作者
谢楼主的推荐啊,努力去学啊

论坛徽章:
0
4 [报告]
发表于 2006-03-11 23:11 |只看该作者
我今天还书城看到的~

论坛徽章:
0
5 [报告]
发表于 2006-03-28 16:15 |只看该作者

《UNIX 编程艺术》勘误声明

勘误声明
因我个人对某个工作环节严重失察,造成本书译者蔡晓骏的名字错印为蔡晓俊,特此郑重申明更正,并向蔡晓骏先生致以深深的歉意。公司已就此事对全体员工进行了教育,同时严肃处理了相关责任人,我本人在此承诺今后不再发生此类事件,并希望得到广大作译者和读者的监督和批评。
电子工业出版社
博文视点资讯有限公司副总经理 周筠
2006年3月28日

论坛徽章:
0
6 [报告]
发表于 2006-03-29 09:57 |只看该作者
今天我自己买了一本《UNIX编程艺术》,封面果然是蔡晓“俊”哦  
同时还买了本《Solaris10红宝书》,新上市的

论坛徽章:
0
7 [报告]
发表于 2006-04-02 01:18 |只看该作者
如果外语好,建议直接读原版的,翻译版本的看了一下,感觉有些语句很难理解~虽然原版的用词比较晦涩,但是翻翻字典慢慢体味还是没有太大障碍的。不过看这本书最好有一些UNIX下的编程经验的,这样才能更好的领悟其中的奥妙:)

论坛徽章:
0
8 [报告]
发表于 2006-04-15 13:39 |只看该作者
楼主真的很强阿,我是买了,但是没有看

论坛徽章:
0
9 [报告]
发表于 2006-04-29 09:17 |只看该作者
呵呵  五一放假正好买来看看~~

论坛徽章:
0
10 [报告]
发表于 2006-06-10 14:43 |只看该作者
好东西,有机会应该去买来看看
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP