2011.11.25

《The Pragmatic Programmer》


推荐序,再版序,译序,前言,序言 ::摘要


Part 1, 推荐序


<<程序员心底的小声音>>
--徐宥

1,
能不能让正确的原则指导正确的行动本身,其实就是区分是否是高手的一个显著标志。


2,
光靠对自己说我“下一次一定按照这个原则这样做”是不行的。
认知科学认为,频繁的高强度的外部刺激和自主的有意识的反复提醒是加速内化的两个重要方法。


解释--但是,试想,如果一个程序员不是天天和复杂的文本处理打交道,他必然没有足够的外部刺激来熟悉和内化正则表达式;如果一个程序员不是天天和极度复杂的大项目打交道,即使用全自动编译环境和自动单元测试,也显得无甚必要。--外部刺激的路不现实,尤其对于自学一门语言和一门技术的程序员,往往在没有高强度训练之前就拿着这些技能投入工作了。


==>采取第二条路--有意识地强化实践和反复提醒。
“忘了”应该怎么正确地做一件事情--指我们之前已经从书中或其他渠道读到看到了正确的原则或方法,但在做事的那一刻根本没考虑这个原则和方法。
=>必须要抽象出一些简单的语句和规则,靠记忆和不断提醒,内化他们。
普通的阅读方式,只会强化原有的自己已经知道的部分,不大可能把“以后要注意“的部分全部内化。--最根本的要靠实践。



Part 2,再版序



<Things Really Haven't Changed that Much>
原作者写于2009.8的再版序

"Because software is written by people, and the best software developers recognize that they have to 


take a pragmatic, practical approach to their work. They know that


-- the more things change, the more important it is to know the underlying principles."




Part 3,译序


对于两位作者而言,编程就像和木匠活,和音乐创作,或是和驾驶飞机一样,


既需要禀赋,更需要坚持不懈的学习和训练--这也正是书中所说的,


编程是一种技艺,一种需要用心学习的技艺。


也许,只有在长久的学习之后,我们才会明白书中提到的‘hacker’的真正含义:


“Someone who loves to program and enjoys being clever about it"。



Part 4,前言


和普通程序员区别开来的原因是
——他们在做某件事情时,会把注意力投注在他们在做的事情上--然后他们会试着把它做得更好。



Part 5,序

"
You shouldn't be wedded to any
particular technology, but have a broad enough background and experience
base to allow you to choose good solutions in particular situations. Your
background stems from an understanding of the basic principles of
computer science, and your experience comes from a wide range of practical
projects. Theory and practice combine to make you strong.
"


"
Each developer is unique, with individual strengths and weaknesses,
preferences and dislikes. Over time, each will craft his or her own personal
environment. That environment will reflect the programmer's individuality
just as forcefully as his or her hobbies, clothing, or haircut. 
"


"
Programming is a craft. At its simplest, it comes down to getting a
computer to do what you want it to do (or what your user wants it to do). As
a programmer, you are part listener, part advisor, part interpreter, and
part dictator. You try to capture elusive requirements and find a way of
expressing them so that a mere machine can do them justice. You try to
document your work so that others can understand it, and you try to
engineer your work so that others can build on it. What's more, you try to do
all this against the relentless ticking of the project clock. You work small
miracles every day.
It's a difficult job.
"


"Your confidence is born of experience."



"
•Realistic.

 You try to understand the underlying nature of each
problem you face. This realism gives you a good feel for how difficult
things are, and how long things will take. Understanding for yourself
that a process should be difficult or will take a while to complete
gives you the stamina to keep at it.
"


"
•Jack of all trades. 

You try hard to be familiar with a broad
range of technologies and environments, and you work to keep
abreast of new developments. Although your current job may require
you to be a specialist, you will always be able to move on to new areas
and new challenges.
"


We feel that there is no point in developing software unless you care about  doing it well.


Within the overall structure of a project there is always room for
individuality and craftsmanship. This is particularly true given the current
state of software engineering. One hundred years from now, our
engineering may seem as archaic as the techniques used by medieval
cathedral builders seem to today's civil engineers, while our craftsmanship
will still be honored.


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值