下载本文的PDF版本 PDF

当今的开发者艺术:合气道还是相扑?
David J. Brown,Queue 咨询委员会成员

大约每月一次,Queue 咨询委员会成员会聚在一起共进晚餐,为即将到来的期刊集思广益。几个月前,我们陷入了关于当今软件开发问题的讨论。我们中的一些人立刻表示工具非常重要。其他人反驳说:“哦,当然,但是它们是帮助还是伤害我们呢?” 因此,本期期刊应运而生:软件开发、工具以及它们是否能提高我们的生产力。

当我们回到这个提议的 Queue 期刊的后续聚会,问自己“如今有什么不同?”时,当今系统规模的问题几乎立即出现:许多软件系统都非常庞大,而且经常发现有很多人同时在上面工作。我们想稍微思考一下,考虑到规模本身,究竟如何才能掌握这一切。考虑到这一点,George Neville-Neil 提出了一个令人愉快的短语“代码探险”,于是我们立即强迫他解释说:“先生,请解释一下!” 我稍后会回到这一点……

随着讨论的继续,我们中间的一些怀疑论者露出了他们的底牌。诸如“唯一比工具更糟糕的是信任它们的开发者”和“工具不能替代(优秀的程序员、良好的设计,以及最重要的)思考”之类的战斗口号不绝于耳。

过了一会儿,我们转向了一个我认为值得用一两期期刊来讨论的话题:鉴于如今这些大型复杂系统,你究竟如何观察它们在做什么? 这有点像调试,但更多的是“在你发布之后”的运行时跟踪的那种意味。

在晚上结束之前,我们当中一些还没有完全在早先的抨击中喊累的人开始嘟囔着关于工具本身。 人们实际上在使用什么,以及其中一些东西有什么问题? 我们决定进行一项调查,以了解 Queue 读者正在使用什么。

现在你知道这个话题非常广泛,虽然我曾鲁莽地提出了一个讨论大纲——不知何故这让我成为了本期期刊的主要志愿者——你可以理解为什么我有点担心独自承担它。 温柔的 Terry Coatta 和真正坚不可摧的 George Neville-Neil 加入进来,准备共同密谋。 我必须说,本期期刊在很大程度上归功于他们出色的工作。

总之,以下是我们为开发工具期刊提出的内容

我们首先从 Michael Donat 对当今更严重的复杂性来源之一的精彩处理开始,这种复杂性来自于最近在应用程序级别兴起的多线程潮流。 使处理异步行为如此困难的原因是什么?你如何处理它?

对于我们“请不要把你的大脑放在门口”的人群来说,Donn Seeley 的精彩文章描述了软件生产力的真正来源,这让他们感到非常高兴。 阅读这篇文章。 重读这篇文章。 我们不配!

在我看来,Phillips 兄弟的“没有源代码?没问题!”非常棒。 你有多少次发现自己必须保持某个功能的运行,但只有二进制文件?

最后,还记得 George 关于探险的评论吗? 这是他的解释。 我认为这个比喻恰到好处,我们“让他”为你写下来。

除了这些专题文章外,你还会找到读者告诉我们他们遇到的一些棘手问题以及他们最喜欢的工具的调查结果。

本期期刊还有另外两篇令人兴奋的文章:谷歌如今是人们关注的中心,我们很幸运能够采访到谷歌工程副总裁 Wayne Rosing。 我们想问他谷歌如何处理这些问题。 这让我们中的一些人想起,与大量代码作斗争远非当今开发者与鳄鱼摔跤比赛的全部内容。 还有另一头野兽要对付。 还记得 Niklaus Wirth 的书《算法 + 数据结构 = 程序》(Prentice-Hall,1978)吗? 是的,你猜对了:“数据”(好吧,准确地说是“数据结构”)。 而且——哦,是的——他们确实在谷歌管理着一些数据。 Wayne 和我也借此机会推测了“软件开发”和“工具”的含义是否可能发生了根本性的变化,考虑到自 Web 出现以来发生的事情。 我想你会发现他的回答很有启发性。

最后,虽然与开发者工具无关,但垃圾邮件不仅仅是一个担忧,如今它是一个迫切需要解决方案的问题。 Eric Allman 是 Sendmail 的 CTO。 他稍微处理了一下这个问题。 你不想知道他了解到的联邦贸易委员会的“老大哥”正在考虑采取什么措施来“提供帮助”吗?

玩得开心。 电线上传见。

DAVID J. BROWN 是经典游艇协会北加州舰队的准将。 很久以前,他是 Silicon Graphics 的创始人之一,后来在剑桥大学获得了博士学位,论文描述了图形工作站的统一内存架构。 在此之后,他们无论如何还是在 Sun 给了他一份工作。 Brown 曾处理过一两个大型且可怕的软件系统问题,包括 Solaris 中的应用程序二进制兼容性。

GEORGE V. NEVILLE-NEIL 在过去八年中一直从事嵌入式系统工作,担任最终产品的集成商和现成嵌入式操作系统的实施者。 他的工作主要集中在嵌入式系统的网络方面,但他也在更广泛的系统方面做了通用工作。 Neville-Neil 为 VxWorks 中使用的网络设备开发了一种设备驱动程序模型,致力于 Berkeley TCP/IP 堆栈的多实例版本,并将开源网络代码移植到 VxWorks。 他目前在 Nominum 从事一个新的商业动态主机配置协议 (DHCP) 服务器的开发。

TERRY COATTA 目前是 Silicon Chalk 的开发副总裁,Silicon Chalk 是一家位于不列颠哥伦比亚省温哥华市的小型公司,该公司正在创建用于高等教育的实时协作软件。 在此之前,他曾担任 Open Text Corporation 分布式系统开发总监,他是通过收购 Network Software Group(一家他曾担任总裁的咨询公司)加入该公司的。 他拥有不列颠哥伦比亚大学计算机科学博士学位,他的研究领域是分布式系统。 他曾从事分布式组件系统的工作,并继续对分布式组件系统感兴趣。

acmqueue

最初发表于 Queue 第 1 卷,第 6 期
数字图书馆 中评论这篇文章








© 保留所有权利。

© . All rights reserved.