人月神话-焦油坑:编程的乐趣与苦恼

简介:

软件系统犹如一个焦油坑,在软件开发的实践过程中,只有极少数的团队能够满足项目的目标、时间进度和预算的要求。

编程的乐趣

  • 首先是一种创造事物的纯粹的快乐。像小孩儿玩泥巴时赶到愉悦的感觉是一样的。
  • 其次,快乐来自于开发对他人有用的东西。
  • 第三,开发过程中的乐趣还来自于将各种不同的模块组合到一起,然后看到他们正确的运行。
  • 第四是学习的快乐,开发过程中总会遇到各种各样的问题,在解决这些问题的过程中能够学到新知识,也可以获得丰富的实践经验。
  • 最后,程序员的乐趣还来自于创造出自己想象的事物。诗人可以运用自己丰富的想象来描述事物,程序员也可以,但与诗人不同的是,程序员可以将自己想象的事物用代码实现,因为程序是实实在在存在的。

编程的苦恼

  • 首先,必须追求完美。程序中容不得一个字符的错误,所以这是一个细致的工作。
  • 其次,程序的目标、资源和信息都有他人提供,程序员很少能控制工作环境和工作目标。用管理的术语来说,个人的权威和他所承担的责任是不相配的。
  • 第三,对其他人的依赖是一件很痛苦的事情。我们不提倡重复的造轮子,经常会把别人的程序拿来引用,但这些程序往往是不完善的,它可能没有详尽的文档,没有相应的示例,甚至还会包含错误。我们要被迫去理解他的设计思想,花时间去研究和修改它,这是非常痛苦的。
  • 第四,概念设计是有趣的,但寻找琐碎的Bug却是一项重复的劳动。伴随着创造性活动的,往往是枯燥和沉闷的劳动,编程工作也不例外。
  • 最后,当我们的程序即将开发完成的时候,发现它已经过时了。这个有点无奈,不过技术的不断革新必然会出现这种情况,但并没有想象的那么糟糕。

 

这,就是编程。一个许多人痛苦挣扎的焦油坑以及一种乐趣和苦恼共存的创造性活动。




本文转自齐师傅博客园博客,原文链接:http://www.cnblogs.com/youring2/p/3415354.html,如需转载请自行联系原作者

相关文章
|
1月前
|
开发者
编程之旅:从迷茫到精通的自省之路
【10月更文挑战第34天】编程,这个充满魔力的词汇,对于初学者而言既是机遇也是挑战。本文将通过我的个人经历,带你领略从代码新手到熟练开发者的心路历程。我们将一起探索那些看似晦涩难懂的概念,分享突破技术壁垒的喜悦,以及在这条道路上收获的宝贵经验和感悟。让我们开始这段既刺激又富有成就感的旅程吧!
|
4月前
|
并行计算 算法 数据处理
编程之道:从代码中领悟技术与生活的哲理
【8月更文挑战第28天】在数字世界的迷宫中,每一行代码都像是宇宙中的一个星系,既独立又相互联系。本文将通过一段简单的Python代码示例,探讨如何从编程实践中汲取生活智慧。我们将看到,代码不仅仅是冷冰冰的指令序列,它也能反映出人类思维的深度和广度。正如甘地所言:“你必须成为你希望在世界上看到的改变。”在编程的世界里,我们同样可以创造并见证这种改变。
51 3
|
1月前
|
JavaScript 前端开发 Java
从迷茫到精通:我的编程之旅
【10月更文挑战第36天】在编程的世界里,每个人都是从零开始的。就像一棵种子,需要经历风雨和阳光才能茁壮成长。我的故事也是如此,从一个对代码一无所知的新手,到成为一名能够独立解决问题的开发者,这个过程中充满了挑战和收获。这篇文章将带你走进我的编程之旅,看看那些让我成长的关键时刻。让我们一起探索这段旅程,也许你会发现自己的影子。
|
3月前
|
前端开发 JavaScript 算法
编程之旅:从迷茫到精通的心路历程
【9月更文挑战第20天】在编程的世界里,每个人都是一名旅者。起初,面对复杂的代码和逻辑,我们如同初入森林的探险者,既充满好奇又感到迷茫。然而,正如古人云:“千里之行,始于足下。”通过不断学习和实践,我们逐渐找到了属于自己的路径。本文将分享一位程序员的成长故事,从大学毕业时的迷茫,到大胆尝试新领域,再到不断学习和提升,最终找到人生方向的过程。让我们一起跟随他的脚步,探索编程之旅的奥秘与乐趣。
|
3月前
|
数据库管理 Python
编程之旅——从迷茫到精通
【9月更文挑战第11天】这是一篇关于编程学习的文章,它以通俗易懂的语言,深入浅出地介绍了编程的基本概念、学习方法和实践技巧。文章不仅提供了丰富的代码示例,还分享了作者在学习过程中的感悟和经验,旨在帮助初学者更好地理解编程,找到适合自己的学习路径。
|
4月前
|
Java
在Java编程的江湖中,有一本传说中的“武林秘籍”,它不是刀光剑影的武学心法,而是能够让代码变得灵动、高效的秘密武器——多态。
在Java编程的江湖中,有一本传说中的“武林秘籍”,它不是刀光剑影的武学心法,而是能够让代码变得灵动、高效的秘密武器——多态。
44 1
|
4月前
|
算法 开发者 Python
编程之旅:从迷茫到精通的代码之路
【8月更文挑战第31天】在编程的世界里,每个人都是从零开始,经历着不断的学习和实践。就像攀登一座未知的山峰,路途中充满了挑战和惊喜。本文将通过我的个人经历,带你走进编程的世界,探索如何从一名新手成长为熟练的开发者,并分享一些实用的编程技巧和心得。无论你是初学者还是有一定经验的开发者,这篇文章都会给你带来新的启示和帮助。让我们一起在代码的海洋中航行,找到属于自己的航线。
代码之舞:我的编程之旅与技术感悟
在数字世界的无限舞台上,每一行代码都像是精心编排的舞步,共同谱写着技术的交响曲。本文将带领读者穿梭于编程的世界,探索那些隐藏在逻辑严谨与创新自由之间的奥秘。从最初的迷茫到渐渐的熟练,每一次的挑战都是自我提升的机会。文章旨在分享个人的技术成长历程,展现编程之美,并鼓励更多的技术爱好者踏上属于自己的代码之旅。我们将一同见证,如何在细节中追求完美,在复杂中寻找简单,最终在技术的海洋里找到自己的航道。
|
7月前
代码之禅:从技术探索到心灵成长
【5月更文挑战第27天】 在数字化的浪潮中,编程不仅仅是一种职业技能,更是一场思维与哲学的修行。本文通过作者的个人技术体悟,探讨如何将编程实践转化为对生活智慧的深刻理解。从面对问题的分析过程到解决方案的实现,再到对技术的深层次思考,文章揭示了编程背后隐含的生活哲理和心灵成长的途径。
|
缓存 Java 编译器
初入编程之门的个人建议1.0
初入编程之门的个人建议1.0
52 0