对独立程序员的赞美帕金森定理[注1]告诉我们,“在工作可以完成的时间限制内,工作量会不断增加,直到所有可用的时间都被填满。”应用到软件上,这意味着应用程序往往会变成臃肿软件,程序非常复杂,几乎无法调试和维护。今天,对于“隐士程序员”创造的雄心勃勃的产品,我们看到了过去和现在更快乐的反例。很久以前,我们敬畏“独行者”,一个在准系统计算机上独立编写杰作的程序员[2],比如只有64kb内存的AppleII(是的,K——不是M,更不用说G),1Mhz8位处理器(同样,M不是G)。过去,这个巨人就是PaulLutus[注3]。他自己承认,他符合隐士级程序员的风格:“在计算机行业,我被称为俄勒冈隐士。据传闻,我对自己的个人电脑进行了孤立的编程,不吃不睡,在无处可去,在逃避的状态下工作,为了不丢失一些后续的编程思路,挂了重要访客的电话,我住在荒野,在一条肮脏的路的尽头,我在这里告诉你,这些恶毒的谣言绝对是真的。1981年,当我参观位于加利福尼亚州库比蒂诺的Apple总部时,以AppleWriter文字处理软件而闻名的保罗·卢图斯(PaulLutus)已经在BandleyDriveHall赢得了乔布斯和沃兹尼亚克旁边的座位。仰慕者讲述了他如何驾驶私人飞机喷气机,收取了版税支票,并立即飞回他在树林中的俄勒冈豪宅。当文字处理行业刚刚兴起时(ExxonOfficeSystems,Inc.及其Vydec专业工作站),我看着Lutus的小的,非功能性的不屑一顾的玩,后来逛了苹果仓库,看到一辆叉车在装AppleWriter盒子的面板。软件很多!算了一堆问题,我得出一个结论:AppleWriter轻松打败所有那些有“pros”的文字处理工作站软件,当时我看不懂,但我亲眼目睹了一个人的毁灭。(对于真正的极客,Lutus的网站arachnoid.com充满了可爱的“孤独的登山者”轶事和态度:他使用GraForth,他对Forth编程语言的图形和声音扩展,说服某人访问:我曾经创造一个用我写的GraForth图形语言写成磁盘形式的“计算器字母”[注4],显示图片和信息。之后,山顶上的一个小屋,门开了,然后音乐响起。它的目的是说服某人去俄勒冈州拜访我,它奏效了。在NASA,他对HP-25和HP-67手持计算器进行了编程,以计算太空飞行轨迹和“星历表”[注5]:而不是处理计算机部分和24小时延迟,它使用桌子上的设备并得到合理的,秒级准确的结果。对于时间来说,这几乎是一个奇迹。在文章的最后,但卡在了一个令人惊讶的题外话关于维基百科。)BillBudge是另一个著名的独立程序河1981年,BillBudge在AppleII上编写了一款名为RasterBlaster的弹球游戏。考虑到1MHz的8位处理器“显然”无法支持这款游戏所需的快速图形、冲突处理和有趣的音效,这款游戏绝对是一项壮举。他攀登的下一个阶段是PinballConstructionSet——他最终因此而出名——一组模块,像我这样的傻瓜可以将它们组合成一个定制的弹球设计。当时,在1983年,这(毫无疑问)被视为又一项惊人的成就,它利用每个6502芯片周期通过专利解决方案取悦用户。(后来,营销人员劫持了这个术语,将其包装为SurpriseandDelight?,并用它来掩盖产品的空洞。)用户在水上,确保这些脚不会弄湿。Pinball建筑套装就是这样做的。同年,我在Apple活动中排队时遇到了BillBudge。在我对他超人的编程技巧表示钦佩和关注之后,他在SoftTalk杂志的一篇文章中揭示了PinballConstructionSet中的图形算法。这样的揭露会损害他的声誉吗?这位聪明的年轻人给出了他永远不会忘记的答案:食谱不会造就大厨。故事到此结束,我不能不提到BobFrankston和DanBricklin,他们是开创性的VisiCalc[6]的合著者,所以我无法完成这篇文章。VisiCalc催生了Excel,这意味着VisiCalc的影响每天都在每个企业的每个角落都能感受到,无论大小。当年就是这样……计算机机器操作系统,PC(个人电脑)中的“P”,适用于程序员。他或她(当时主要是他)可以独自坐在树林里的小屋里,对宇宙产生深远的影响。多么怀旧。今天,这样一个了不起的成就似乎不再可能。在撰写本文时,我正在我的iMac上下载最新的Xcode,这是Apple的编程环境和工具集。它需要7.77G的磁盘空间。我在撰写本文时使用的“过时”文字处理器(Pages2009)有388M;较新、较笨的Pages版本5.5.3占用了478M。操作系统变得如此复杂,以至于孤立的一个人不可能内化它们的工作方式来编写让用户在水面上行走的代码。对于“2015年的PaulLutus”,没有这样的环境。但真的有那么可怕吗?事实证明,操作系统和开发工具的规模和复杂性并不是完全无法逾越的障碍;我们仍然能够找到一个人编写的大量程序。一个例子是Preview,这是一款适用于Mac的一体化文件预览和编辑程序。虽然此Wikipedia条目已过时且不够热情,但Macworld网站上的一篇标题为《The many superpowers of Apple’s Preview》(Part***,PartII)的文章充分体现了该应用程序的强大功能和灵活性。请阅读这篇文章,并与我一起对自NeXT时代以来一直使用该软件的独立、无名程序员的辛勤劳动表示感谢。甚至可以预览带有.DAE扩展名的生成的CAD文件,也称为Collada文件,这是一种CAD程序的交换格式。您可以在没有原始CAD程序的情况下玩3D图像。令人印象深刻---iTunes(好人称之为Apple的WindowsVista)、Pages甚至Mail的惨淡状态让我产生了黑暗的想法,这些年来这些应用程序仍然存在错误并且仍然崩溃。是因为厨师太多了吗?我们有GusMueller的Acorn,它是比Preview更新但同样雄心勃勃的“人类图像编辑器”,现在MacAppleStore上的版本为5。要了解应用程序的深度和广度,请浏览公司官方网站上的文档。除了“简单明了”的技术文档外,还有常见问题解答、来自Acorn社区的指南,以及面向初学者、中级和高级用户的大量视频教程。(GusMueller将他位于华盛顿州埃弗雷特的公司称为“爸爸妈妈的商店”,因为他的妻子Kristin在她不做物理治疗师的时候为他写了文件。)另一方面,在我的iMac上,只有Acorn5有2460万。公平与否,将其与应用程序(MicrosoftWord、Excel...)或动辄478M的页面进行比较。有伟大,就有希望。(标题图片来自:Photo:DominicAlves,Flickr)注1:帕金森定律(英语:Parkinson'slaw),由英国作家CyrilNorthgoodParkinson提出的一个说法。西里尔·诺斯古德·帕金森(CyrilNorthgoodParkinson)于1958年将这一观察扩展成一本书,《帕金森定理:对于进度的追求》(帕金森定律:追求进步)。在这本书中,帕金森定理以数学方程式的形式呈现,描述了官僚机构随时间扩张的速度。帕金森观察到,官僚组织中的雇员总数通常以每年5-7%的速度增长。在他看来,造成这种增加的原因有两种,(1)军官希望自己的部下增加,但不希望开火增加敌人的数量;(2)官员之间会互相创造就业机会。注2:准系统电脑,又称“骰子机”,是指半组装的个人电脑,有机壳、电源、主板和散热系统。用户可以根据自己的需要和预算决定所需的CPU、内存、存储设备(硬盘和光驱)等来购买和安装。对于用户和厂商来说,是一种灵活的电脑销售和采购方式。注3:保罗·卢图斯(PaulLutus,1945-)是美国程序员、飞行员、水手和NASA工程师。他是AppleWriter、Arachnophilia、AboutTime的作者。他对Careware有了新的想法。注4:“计算机信件”是指借助MicrosoftOutlook、Hotmail和Yahoo等程序,从一台台式机/笔记本电脑/手机以电子方式发送到另一台的信件、文档或计算机文件。虽然大多数人对“电子邮件”一词感到满意,但其他人更喜欢使用此术语来减少混淆的机会。只有少数人使用,“计算机字母”术语起源于英格兰南部,并将不可避免地传播到更北部的地区,如曼彻斯特和纽卡斯尔。自起源以来,该术语已缩写为“CL”和“Com-let”。特定时间和地点的数据列表,通常附有其他补充材料;天文年历也是星历的一种。注6:VisiCalc是世界上第一个由DanBricklin和BobFrankston开发的电子表格软件。它于1979年10月与AppleII计算机一起推出。成为AppleII上的“杀手级应用”。注7:Preview是MacOSX操作系统中的图像查看器和PDF阅读器。与MacOSX本身一样,它源自NeXT的OpenStep操作系统。原文:http://www.mondaynote.com/2015/08/24/a-salute-to-solo-programmers/作者:Jean-LouisGassée翻译:http://www.labazhou.net/2015/09/向solo-programmers致敬/译者:腊八粥
