当前位置: 首页 > 科技观察

为独立程序员点赞

时间:2023-03-12 18:27:25 科技观察

帕金森定理【注1】告诉我们,“在工作可以完成的时间限制内,工作量会不断增加,直到所有可用的时间都被占满”。将其应用于软件从本质上讲,这意味着应用程序往往会成为英国媒体报道软件,程序如此复杂以至于几乎无法调试和维护。今天,我们看到过去和现在更快乐的反例,这些反例是由“隐士程序员”创造的雄心勃勃的产品。很久以前,我们敬畏“独行者”,一个在准系统计算机上独立编写杰作的程序员[2],比如只有64kb内存的AppleII(是的,K——不是M,更不用说G),1Mhz8位处理器(同样,M不是G)。过去,这个巨人就是PaulLutus[注3]。他自己承认,他符合隐士级程序员的风格:“在计算机行业,我被称为俄勒冈隐士。据传闻,我对自己的个人电脑进行了孤立的编程,不吃不睡,在无处可去,在逃避的状态下工作,为了不丢失一些后续的编程思路,挂了重要访客的电话,我住在荒野,在一条肮脏的路的尽头,我在这里告诉你,这些恶毒的谣言绝对是真的。1981年,当我参观位于加利福尼亚州库比蒂诺的Apple总部时,以AppleWriter文字处理器而闻名的保罗·卢图斯(PaulLutus)已经在BandleyDriveHall赢得了乔布斯和沃兹尼亚克旁边的座位。仰慕者讲述了他如何驾驶私人飞机,收了一张版税支票,立即飞回他在树林里的俄勒冈豪宅.当文字处理行业刚刚兴起时(ExxonOfficeSystems和它的Vydec专业工作站),我不屑地看着Lutus那些小小的、没有功能的玩具。然后我参观了苹果仓库,看到一辆叉车正在装着AppleWriter盒子的面板。软件很多!经过快速计算和一堆问题,我得出一个结论:AppleWriter可以轻松击败所有那些文字处理工作站软件与“亲”。我当时无法理解,但我亲眼目睹了一个人的毁灭。(对于真正的极客,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中的图形算法。这样的揭露会损害他的声誉吗?这位聪明的年轻人给出了他永远不会忘记的答案:食谱不会造就大厨。这就是故事的全部内容,我不能不提到开创性的VisiCalc[6]的合著者BobFrankston和DanBricklin来完成这篇文章。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的页面进行比较。有伟大,就有希望。注1:帕金森定律(英文:Parkinson'slaw),由英国作家西里尔·诺斯古德·帕金森提出的一种说法。西里尔·诺斯古德·帕金森(CyrilNorthgoodParkinson)于1958年将这一观察扩展成一本书,《帕金森定理:对于进度的追求》(帕金森定律:追求进步)。在这本书中,帕金森定理以数学方程式的形式呈现,描述了官僚机构随时间扩张的速度。帕金森观察到,官僚组织中的雇员总数通常以每年5-7%的速度增长。在他看来,造成这种增加的原因有两种,(1)军官希望自己的部下增加,但不希望开火增加敌人的数量;(2)官员之间会互相创造就业机会。https://zh.wikipedia.org/wiki/%E5%B8%95%E9%87%91%E6%A3%AE%E5%AE%9A%E7%90%86注2:准系统计算机(barebonecomputer),也称为“骰子机”,指的是一台半组装好的个人电脑,有机箱、电源、主板、散热系统。用户可以根据自己的需要和预算决定所需的CPU、内存、存储设备(硬盘和光驱)等来购买和安装。对于用户和厂商来说,是一种灵活的电脑销售和采购方式。https://zh.wikipedia.org/wiki/%E6%BA%96%E7%B3%BB%E7%B5%B1%E9%9B%BB%E8%85%A6注3:保罗·卢特斯(PaulLutus,1945-)是美国宇航局的程序员、飞行员、水手和工程师。他是AppleWriter、Arachnophilia、AboutTime的作者。他对Careware有了新的想法。https://zh.wikipedia.org/wiki/%E4%BF%9D%E7%BD%97%C2%B7%E5%8D%A2%E7%89%B9%E6%80%9D注4:A'ComputerLetter'是借助MicrosoftOutlook、Hotmail和Yahoo等程序从一台台式机/笔记本电脑/手机以电子方式发送到另一台的信件、文档或计算机文件。虽然大多数人对“电子邮件”一词感到满意,但其他人更喜欢使用此术语来减少混淆的机会。只有少数人使用,“计算机字母”术语起源于英格兰南部,并将不可避免地传播到更北部的地区,如曼彻斯特和纽卡斯尔。自起源以来,该术语已缩写为“CL”和“Com-let”。http://www.urbandictionary.com/define.php?term=Computer+Letter注5:星历表,简称星历,出自希腊语?φ?μερο?(ephemeros),一个或多个天体位置的列表一天中的特定时间,通常与其他补充材料一起;天文历书也是星历的一种。https://zh.wikipedia.org/wiki/%E6%98%9F%E6%9B%86%E8%A1%A8注6:VisiCalc是世界上第一个电子表格软件,由丹·布里克林(DanBricklin)和鲍勃·弗兰克斯顿(BobFrankston),于1979年10月随AppleII电脑一起推出,成为AppleII电脑上的“杀手级应用”。https://zh.wikipedia.org/wiki/VisiCalc注7:预览程序(Preview)是MacOSX操作系统下的图片查看器和PDF阅读器。与MacOSX本身一样,它源自NeXT的OpenStep操作系统。https://zh.wikipedia.org/wiki/%E9%A0%90%E8%A6%BD%E7%A8%8B%E5%BC%8F