翻译::推荐给程序员看的书(四)
目录:(一)、(二)、(三)
ok,现在又有点时间了,让我们继续那个奇妙得列表吧。
创业类(Striking Out On Your Own)
《企业发展》(Growing a Business)
Paul Hawken
人们经常Email给我说:“唉,我喜欢你关于像Ben和Jerry那样开一个公司的理论,但是,我怎样开始呢?”这本书你会想读的。它有点粗浅,但是确实会给你关于有机的让一个公司成长的哲理。
图形设计类(Graphic Design)
《非设计师的设计手册》(The Non-Designer’s Design Book)
Robin Williams
哇!每个人都必须做一些图形设计,而且不是每个软件团队奢侈到拥有专业设计师。这本出色的小册子会给你一个关于页面布局,字体等方面原理的一个深刻的理解。好消息是,你能在浴室中等待水变凉一点的时候读它,而第二天,你的对话框和幻灯片以及网页就会开始看起来更好。
变得不同/有影响力(Making a Difference)
(注:这里我迷惑于这两种释义了,于是都写上了)
《影响》(Influence: The Psychology of Persuasion)
Robert B. Cialdini
另一本值得不断阅读的书就是Robert的经典之作《影响》。当慈善组织发给你捐赠请求的时候,他们通常会在信封里附上一份小礼品。在礼品上面贴上有你地址的标签。或者一对空的贺卡。他们给你礼品的原因是基本的社会原理:“互惠”;现在你会感到不得不给点东西回去。你可能听过这样的腔调:“尽快购买,数量有限!”,这句话如此多次的出现在电视广告当中以致没有办法再注册了。但是它还是会出现,因为“稀缺”原理;你会自然的假定稀缺的东西就会值更多的钱。这些陷阱与其他招数一起被销售人员,市场商人,和广告人所使用以此来影响人们来做特定的事情。Cialdini的这本出色的书讨论了在影响其他人的科学和实践背后的心理学理论。最好在被影响以前读读它!
《无助》(Helplessness: On Depression, Development, and Death)
Martin E. P. Seligman
几个月前当我们发布CityDesk的时候,我收到了一个客户的email,信中他抱怨他过去习惯于用Alt+F,Alt+S来保存文件。不幸的是,因为一个微小的被忽视的bug,这个快捷键保存了文件然后关闭了它,这很令人恼火。我从来没有注意到这个因为我的习惯是用Alt+F,然后S来保存文件,而不是Alt+F,Alt+S——仅仅一个微小的差别,而Alt+F,S可以正常工作。
一旦你养成了用Alt+F,Alt+S来保存,那么自动的你不回想到那是Alt+F,Alt+S,你把它看作就是“保存”。而当你在你的脑子里按“保存”按钮的时候文件被关闭了,这让你感觉你控制不了你的环境。这是件小事情,但是在它发生大概第四次的时候,你会变得非常不开心。这就是为什么我花费了几个小时来追踪这个bug然后修正它。在墨菲法则的奇异适用下,这个修改会导致一系列的时间而使得我们浪费比如一周的时间,但是那是无关紧要的,这值得花费时间。这就是所谓的要关心可用性。如果你还是认为这种像当你激活菜单的时候按下Alt键多长时间一类的小事情没关系的话,好吧,你的软件会使得人们不高兴。这些微小的矛盾就是使得基于Swing的应用程序如此的恼人而不能忍受去使用,以我之见,这就是为什么事实上没有成功的java图形界面的商业应用。
我一遍一遍的说,好的用户界面设计如此的重要是因为它使得用户开心。也就是说,如果你的界面设计是好的,使用你的软件的人们会是高兴的,否则,他们会不高兴。
那为什么必须去读一本关于沮丧的书呢?好吧,当人们感觉他们不能控制自己的生活和他们的环境的时候,他们会真的成为临床上的抑郁症患者。在这个研究领域的先锋Seligman,发现了最有效的非药物治疗抑郁症的手段之一就是鼓励人们采取少量措施来尽量控制他们的环境。
我想做个程序员( I Wanna Be A Programmer)
一组为想学习关于编程的非程序员读者推荐的书。
《编码的奥秘》(CODE)
Charles Petzold
(中译本)
这本书明确地说不是给程序员看的,它是给那些想要成为程序员的非程序员们(新手?)看得,或者是那些想理解程序员是做什么的人,也可能只是想探索一下位和字节的古怪世界的人。通过读这本书开始,如果你觉得编码很迷人,然后想成为一个程序员,那么接着读下面这本C程序设计语言。
《C程序设计语言》(The C Programming Language)
Brian W. Kernighan and Dennis M. Ritchie
(中译本、原版)
一个最被误导的在编程教学总的观点是必须通过以简单的有趣的图形化的素材开始诱导人们深入到程序设计之中。一些人认为学习编程的最好的方法是从HTML开始,也许,然后学习如何剪切粘贴一些javascripts,然后继续。另外一个误解是从一个新潮的市场化的编程技术比如java或者web数据库编程开始。
好吧,这些人都搞错了。
因为各种原因,深入编程的世界太复杂了,我相信你必须开始于一个更加接近机器的层次学习编程(Joel的另一篇关于为什么这么做的文章)。这本书,传说中的K&R,就是任何想成为程序员的人必须首先学习的。把它拿起来然后仔细研读。如果你喜爱和它在一起的每一分钟,你能够成为一个程序员。如果你发现这本老学校程序设计教材充满了无聊,或者指针那些东西让你变得疯狂,相信我,你似乎不是非常适合成为程序员。如果你需要被诱导的进入编程世界或者你没有耐心领会所有那些让人发疯的星号的意义,你做其他的事情应该会开心一点,真的!但是如果你能够独自搞定这本书,你有了成为顶级程序员的资本,你有了一个掌握所有将来要学习的内容的极好的基础。
注:对于初学者,外国人的书未必是最好的选择,哪怕是中译本也会因为英语表达习惯的差异而难以读懂,就算是再好的翻译也难以翻译好那些在英语中也算是晦涩的句子。候捷等人的书已经算是中译本中的极品了,但是翻开这些书,你还是会发现很多句子不太好理解。也许谭浩强的C程序设计教材更加适合中国人的阅读习惯,那也是一本好书,中国人自己用心写的书最适合中国人来读了。可惜情况不是很乐观,最好的书依旧是英文的,而且我已经好几年没看到中国人自己写的值得所有人都看看的新书了。


Recent Comments