The Woes of the Craft --职业的苦恼

Not all is delight, however, and knowing the inherent woes makes it easier to bear them when they appear.

(然而这个过程并不都是喜悦的,我们只有事先了解一些编程固有的烦恼,这样,当他们真的出现的时候,才能更加坦然的面对。)

The computer resembles the magic of legend in this respect, too.

(在这方面计算机像传奇的魔法。)

Adjusting to the requirement for perfection is,

(为了完美而去调整需求。)

Next, other people set one's objectives, provide one's resources, and furnish one's information.

(其次,由其它人来设定目标,提供资源,配置信息。)

One rarely controls the circumstances of his work, or even its goal.

(编程人员很少能控制工作情况,甚至目标。)

It seems that in all fields, however, the jobs where things get done never have formal authority commensurate with responsibility.

(在所有的领域中,对要完成的工作,很少能提供与责任相一致的正式权威。)

In practice, actual (as opposed to formal) authority is acquired from the very momentum of accomplishment.

(现实情况中,实际的权威来自于每次任务的完成。)

These are often maldesigned, poorly implemented, incompletely delivered (no source code or test cases), and poorly documented.

(而往往这些程序设计的并不合理,实现拙劣,发布不完整,或者文档记录的很糟糕。)

So he must spend hours studying and fixing things that in an ideal world would be complete, available, and usable.

(所以系统人员不得不花时间去研究和修改,而他们在理性情况下本应该是可靠的、完整的和可用的。)

The next woe is that designing grand concepts is fun; finding nitty little bugs is just work.

(下一个烦恼是,设计新的概念虽然有趣,但是实际的工作却是无休止的查找bug。)

With any creative activity come dreary hours of tedious, painstaking labor, and programming is no exception.

(伴随着创造性活动的,往往是枯燥沉闷的时间和艰苦的劳动,编程也不例外。)

Next, one finds that debugging has a linear convergence, or worse, where one somehow expects a quadratic sort of approach to the end. (另外,人们发现调试和查找是呈线性收敛的,或者更糟糕的是,具有二次方的复杂度)

So testing drags on and on, the last difficult bugs taking more time to find than the first. (因此测试一拖再拖,查找最后一个错误竟会比第一个错误花费更多的时间)

The last woe, and sometimes the last straw, is that the product over which one has labored so long appears to be obsolete upon (or before) completion.

(最后一种苦恼,有时也是一种无奈,当购入大量辛苦的劳动,产品在即将完成或者最终完成的时候,却已显得成就过时)

Already colleagues and competitors are in hot pursuit of new and better ideas.

(可能同事和竞争对手已在追逐新的、更好的构思)

Already the displacement of one's thought-child is not only conceived, but scheduled.

(也许替代方案不仅仅是在构思,而且已经在安排了)

The real tiger is never a match for the paper one, unless actual use is wanted. Then the virtues of reality have a satisfaction all their own.

(只有实际需要的时候,才会用到最新的设想,因为所实现的系统已经能满足要求,体现了回报)

Of course the technological base on which one builds is always advancing.

(当然产品开发所基于的技术不断在进步)

As soon as one freezes a design, it becomes obsolete in terms of its concepts.

(一旦设计被冻结,在概念上就已经开始陈旧了)

he obsolescence of an implementation must be measured against other existing implementations, not against unrealized concepts.

(实现落后与否应根据已实现的系统来判断,而不是未实现的概念)

For many, the joys far outweigh the woes, and for them the remainder of this book will attempt to lay some boardwalks across the tar.

(对于许多人而言,其中的乐趣远大于痛苦,对于这本书的剩余部分来说)

The Tar Pit相关推荐

  1. 对抗软件系统复杂性①:如无必要,勿增实体

    作者 | 袁进辉 我们经常面临如何评价一个大型软件系统质量的问题.首要的评价指标肯定是功能,软件是否满足主要的需求(do right things).如果有多条技术路径可以实现同样的功能,人们倾向于选 ...

  2. 《Designing Data-Intensive Application》01数据系统的基石-可靠性/可扩展性/可维护性

    <Designing Data-Intensive Application> 序言 本书的目标读者 本书涉及的领域 本书纲要 参考文献与延伸阅读 致谢 第一部分 数据系统的基石 第一章:可 ...

  3. Reliable, Scalable, and Maintainable Applications 高可靠、易扩展、易运维应用

    寻找翻译本书后续章节合作者  微信:18600166191 ---------------------------------- PART I Foundations of Data Systems ...

  4. Heart-Shaped Box

    同事的电脑里一直在放这首歌,听起来请有感觉,就上网找来了歌词. Heart-Shaped Box 心形盒子 She eyes me like a pisces when I am weak 当我虚弱无 ...

  5. 书摘: Security Power Tools

    Fri_Jan_17 Refs: 1. Book: Security Power Tools   2. http://blog.csdn.net/magod/article/details/61716 ...

  6. 《人月神话》(The Mythical Man-Month)1 看清问题的本质:如果我们想解决问题,就必须试图先去理解它...

    第一章 焦油坑(The Tar Pit) 史前史中,没有比巨兽在焦油坑中垂死挣扎的场面更令人震撼的了.上帝见证着恐龙.猛犸象.剑齿虎在焦油中挣扎.它们挣扎得越是猛烈,焦油纠缠得越紧,没有任何猛兽足够强 ...

  7. Ubuntu下如何解压缩zip,tar,tar.gz,tar.bz2文件

    转自:http://wangli-5665.diandian.com/post/2011-08-18/4039228 这么多年来,数据压缩对我们来说是非常有用的.无论是在邮件中发送的图片用的zip文件 ...

  8. linux下 zip解压 tar解压 gz解压 bz2等各种解压文件命令

    大致总结了一下linux下各种格式的压缩包的压缩.解压方法.但是部分方法我没有用到,也就不全,希望大家帮我补充,我将随时修改完善,谢谢! .tar 解包:tar xvf FileName.tar 打包 ...

  9. [转] linux下.tar .gz .tgz .bz2 .bz等解、压包命令详解

    tar命令 [原始位置:http://www.51testing.com/?uid-342316-action-viewspace-itemid-232627」 tar 可以为文件和目录创建档案.利用 ...

最新文章

  1. 手把手教 | 深度学习库PyTorch(附代码)
  2. javascript 面试题
  3. python教程书籍-推荐python机器学习实践的书籍?
  4. 【Unity3D基础教程】给初学者看的Unity教程(四):通过制作Flappy Bird了解Native 2D中的RigidBody2D和Collider2D...
  5. c++反汇编与逆向分析
  6. python正则表达式使用实例_正则表达式的基础知识,以及Python爬虫中的使用方法...
  7. waf可以查看post请求吗_WAF是如何被绕过的?
  8. 效能改进之项目例会导入实践 1
  9. tryLock尝试获取锁
  10. 2015华为校招机试面试
  11. 如何优雅的激怒C/C++程序员
  12. python 定义字符串变量_Python变量和字符串详解
  13. nginx+tomcat+redis负载均衡,实现session共享
  14. ubuntu18.04纯命令行安装chrome
  15. 移动前端的一些坑和解决方法(外观表现)
  16. 终于忙完了,要开启代码生涯了
  17. mybatis框架的搭建简单步骤,还有其他的各项配置说明,简单易懂,仅作为个人参考,不作为网络学习借鉴
  18. Java读取数据库中的数据
  19. LTE时代的定位技术:OTDOA,LPP,SUPL2.0
  20. java进程通信方式

热门文章

  1. 捷报!新钛云服斩获WRE「最佳云服务解决方案创新奖」
  2. 吸金千万的资金盘Fomo3D凉了,这些模仿他的却火了。
  3. LeetCode第 1143 题:最长公共子序列(C++)
  4. matlab运行慢cpu低,为什么我的GPU运算速度低于CPU运算速度???
  5. Flutter开发实战 高仿微信(一)首页
  6. wzz24_0604
  7. 【元胞自动机】基于matlab元胞自动机双车道交通流模型含靠右行驶【含Matlab源码 231期】
  8. JMX 基础Demo
  9. 柏拉图对爱与婚姻的启示
  10. Nginx监听443端口配置SSL证书