Posted on 2007-12-29 19:29
leekiang 阅读(220)
评论(0) 编辑 收藏 所属分类:
杂感
Joel Spolsky:
首先,你永远没有办法正确地编写软件,你不得不用最方便的方法编写软件。因为软件支出非常高昂,所以公司会要求尽可能节省成本,你不可能试用新技术,只能使用现有的最成熟、最保守的技术。
其次,你没有办法将一个项目做到尽善尽美。一旦程序可以正常运行,你的工作也就结束了,可以接下去干公司的下一个项目了。你的作用是解决问题,而不是将软件写得尽可能好。如果你是在一个专业的技术性公司,比如Google或Facebook,情况就完全不一样,你的软件写得越好,公司就会越成功,所以公司会支持你在一个项目上不断做下去。
时髦的技术往往容易掌握,而且越来越容易掌握,这是商业利益的驱使,为了最大化的降低软件开发的成本。但在IT领域内的现实就是这样,越容易掌握的东西,
学习的人越多,而且淘汰得越快。每一次新的技术出来,都有许多初学者跟进,这些初学者由于缺乏必要的基础而使得自己在跟进的过程中花费大量的时间,而等他
学会了,这种技术也快淘汰了。基础的课程,比方数据结构,操作系统原理等等虽然不能让你立马就实现一个linux(这是许多人嘲笑理论课程无用的原因),
但它们能够显著的减少你在学习新技术时学习曲线的坡度。而且对于许多关键的技术(比方Win32 SDK
程序的设计,DDK的编程)来说甚至是不可或缺的