传智播客-Writing Software is Like ... Writing(译文)(2)

前言:
今天学的lucene,本来想写的,可是google了一下,今天能写的内容,网上都有,自己暂时也没什么很独到的心得,就算写出来也是Ctrl+C和Ctrl+V的感觉,于是挑了一篇很久以前看的Bruce Eckel的博文替代,读了这篇文章,多少会对“软件开发”有一个更清晰的认识。
传智播客lucene课程的视频暂时还没有在网上公开,有兴趣的同学可以google百度自己学习(推荐一下,网上有一篇不错的文章 ,csdn上也有一个研究生上传了关于学习lucene的资料及他写的源代码--好像是他的毕设),或者来传智播客亲自聆听老师讲解:)

 

原文地址http://www.artima.com/weblogs/viewpost.jsp?thread=255898

(个人以为,这篇文章的思想和人月神话有的地方类似,不过表达的目的不一样)

 

Computing Thoughts
Writing Software is Like ... Writing
写软件就像。。。写作

by Bruce Eckel
April 21, 2009

 

Summary
摘要


I finally figured out the right analogy for software development. Alas, the target audience for this analogy won't be happy with it.
我最终领会到了软件开发的正确类比。唉,(但是)这个类比的目标读者将不会乐见于此。

 



接上文
We're writers.
我们是作家。

 

Most people can put words together into sentences. They can communicate adequately without being great writers. Most programmers can write some kind of program. It probably won't be very good, but most companies don't really need it to be very good. Most companies only need basic programming skills. A college degree in computer "science" from anywhere is good enough, and the job is just a job. It doesn't require much in the way of continuing education, conferences, workshops, or someone who is so interested in the craft of programming that they are always trying to learn more.
很多人可以组词成句。他们不需要成为伟大的作家就可以充分交流。很多程序员能够写出某类程序。这(写得)也许不是很好,但是很多的公司并不真正需要它(程序)很好。很多公司仅仅需要(有)基础编程技能(的程序员)。来自任何学校的计算机“科学”(专业)的大学生已足已胜任了,而工作仅仅是工作而已。这并不需要更多的进修,(学术)会议,专题学术研讨会,或者一些对编程技术很有兴趣而一直设法学得更多程序员。

 

Such people can write, but it's just basic writing. They are not essayists or novelists -- and keep in mind that there are lots of articles and novels that get published that are not particularly well-written or worth reading. Obviously such things seem to sell well enough to make the effort and risk worthwhile all around.
这样的人能够写(程序),但仅仅是基本的(程序)编写。他们并不是随笔作家或者小说家--(请)谨记有很多已出版的文章或者小说并没有写得特别好或值得一读。显然地,这样的东西似乎只要销售足够(好)就可以使成本和风险相抵。

 

But someone who dedicates themselves to writing, who goes through the struggle of figuring it all out and discovering their own place in the world -- this is a very different kind of writer (of prose or programs) than the average programmer. This person can produce more functionality faster, and the results will be clearer and deeper than ordinary code.
但是那些全身心关注(程序)编写,那些经历过(深入)领会(编程)的奋斗过程并且努力找到(软件开发)领域中属于自己的一席之地的人--相比平庸的程序员,这是一类截然不同的(散文或程序)作家。这样的人能够生产出的结果比(那些)平庸的代码功能更高效,更清晰且更深奥。

 

Finishing a novel is a very impressive feat. Doing something that might be worth publishing -- that's an even greater feat. But the vast majority of published novels aren't worth reading. Only a small fraction of writers create something really worthwhile, and no one, really, knows how they do it. Each good novelist comes to their art in their own way. And what about nonfiction? Every year there are about 5000 novels published, and about 50,000 nonfiction books. Most of those nonfiction books are merely functional, not great reading. But they contain useful information and enough people buy them to make it all worthwhile (to the publisher, at least).
完成一部小说是一个令人难忘的壮举。完成一件也许值得公布的事情--这是一件更伟大的壮举(有点类似我们说的“立言”)。但是大量快速出版的小说并不值得一读。只有一小部分的作家创作出了值得阅读的小说,但事实上没有人知道他们是如何做到的。每一个小说家都以他们自己的方式到达了他们的艺术(境界)。更多的非小说散文文学书籍仅仅是功能性的,不是优秀的读物(有其形无其实)。但是他们含有一些有用的信息足以使人购买它以使其物有所值(至少对出版商而言是)。

 

This answers one of the biggest questions -- why you can't replace a programmer with just any other programmer and get similar results. It also suggests that you should evaluate what kind of project you're creating when you decide who your team should be, and how it will run. The creation of mysteries and young adult fiction and so-called "bodice rippers" and the vast sea of nonfiction books all have their own particular structure and constraints (you'd be surprised at how rigid and controlling publishers are about these things, as if they are manufacturing some kind of basic commodity -- "the murder has to happen in the first 10 pages" etc.). None of these are the mass-market bestsellers ("killer apps") that are sold by the author's voice and style (few of which I find readable). The mass-market bestsellers usually don't coincide with the great writers, since most people don't have the patience to read these meta-craftsmen, just as most programmers don't read the source code for compilers.
这回答了最重要的问题之一--为什么你不能仅仅任意用一个程序员替换另一个程序员来取得类似的结果。这也暗示了当你决定谁应该是你小组的成员时你应该(先)评估一下你正在创建什么样的项目以及它将如何运转。推理小说作品,早期的成人小说,所谓的“英雄救美的言情小说”以及大量的非小说散文文学书籍都有他们独特的结构和约束(你会对从事这个行业的出版商的刻板和管制感到吃惊,好像他们正在制造一些基本商品--(诸如)“谋杀必须发生在前十页”等等)。根据作者的意见和风格来销售的书(我发现的可读性强的书几乎没有)没有一个是大众市场的畅销作品(“杀手级应用程序”)。大众市场的畅销作品通常并不就是优秀的作者(所写),因为大多数人没有耐性阅读这些元-艺术作品,就像大多数程序员不会去读编译器的源代码一样。

 

Although stakeholders won't necessarily understand the intricate details of the writing and publishing process, they typically understand that there are different types of writing, and that the craft of writing is a weird, unfathomable and artistic process which can't guarantee results. So even though "software is writing" is not necessarily going to increase the predictability of what we do, it may at least help non-programmers to understand its unpredictability.
尽管(项目)利益相关人不需要理解写作和出版程序的复杂细节,但是典型地,他们(应该)了解作品类型的不同之处,(程序)编写工艺是一个神秘难解而又艺术性的过程,它不能保证结果(如何)。因此即使“软件即写作”(这个类比)并不必然地会增加我们作为的可预见性,但它至少帮助那些非程序员理解了编程的不可预见性。

 

补充一下,为虾米Bruce Eckel会做这样的类比呢?也许是因为他不仅是计算机界的大牛人物,曾经还进修过PHD(哲学博士)课程(说进修是因为ms后来中止学业了。。。详情请参见后文)。当然,也有人是不认可这种观点的,可以看看原文后面的评论。l老外其实也蛮能闲扯的嘛。。。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值