扫码打开虎嗅APP

搜索历史
删除
完成
全部删除
热搜词
2025-11-14 10:30

被遗忘的软件HyperCard,如何塑造了现代世界?

本文来自微信公众号:范阳,作者:范阳,原文作者:Samuel Arbesman,原文标题:《1987年的“魔法软件”HyperCard:让孩子和工程师一起创造世界》,题图来自:AI生成


未来最好的科技产品应该像三样事物:1. 自然(nature)、2. 魔法(magic)、3. 游玩(play),“任何足够先进的技术皆与自然无异”,“神经网络计算让许多事物的显现变得像一种魔法体验”,“我们终将做回孩子,对待我们最喜爱的事物像是深度的游玩。” 这是我最近常与人分享的思考。



科技历史当中存在许多落满灰尘的角落,它们塑造了我们的现代世界,也塑造了现代的人性,只是我们大多从未听说过。


苹果公司在 1987 年推出的 HyperCard 就是这样的一个被遗忘的存在。它不是一种编程语言,但是启发了许多后来出色的软件工程师的思维模式,甚至是万维网的诞生,也因为万维网的诞生,HyperCard 完成了它的历史使命退出了舞台。


(延伸阅读:《完整版乔布斯“遗失的访谈”1995:我们非常努力把人文的精神带入计算机领域》。)








发现就在11月13日凯文凯利还发了一条推文说他在当时也在谈论 HyperCard,并且现在觉得它在许多方面是优于后来的万维网的“模式”的, 尤其是它让孩子可以和工程师一样做同样的事情,它是一种民主化的创造力工具。我同样觉得这样的软件超越了软件本身,它是一种“理想的工具”,让工具可以体现人类的理想,和对未来的愿景。工具也许并不都是中性的。



这又让我想到 HyperCard 这样的动态可编程环境的“卡片堆栈”,也许更适合未来的人机协作的 AI 训练。现在是时候从历史当中获得更多灵感与新鲜的血液,为了唤醒我们尚存的“孩童之心”,还有为了未来的孩子。希望今天的文章对你有启发。


(PS: 有人专门开发了一个 HyperCard 模拟器,你一定要试试:hcsimulator.com)


HyperCard:被遗忘的软件如何塑造了现代世界


The forgotten software that inspired our modern world


作者:Samuel Arbesman


编辑:范阳


发表日期:2019年7月23日


一款现已停用的电脑工具曾让人们即使没有编程经验也能创建自己的软件,其影响力之大出人意料。去年,我着手构建一个简单的软件,让刚开始学认字的女儿练习“常见词”。这个软件没什么特别的,只是一个能在屏幕上闪现单词让她记忆的程序。


我绝不是什么专业程序员,虽然这个任务不难,但也需要付出一些工作和努力,更不用说需要我积攒了 20 年的编程经验。但大多数人都做不到这一点:因为目前根本没有不需要复杂计算机编程就能制作多种多样软件的工具(there simply aren’t tools currently available for making lots of types of software without sophisticated computer programming)


但过去并非如此。至少在麦金塔电脑上(Macintosh),曾有一段时间这是可能的。在我个人理解的计算机历史中,尽管麦金塔电脑于 1984 年发布,但直到 1987 年它的潜力才真正得以实现。那一年,一款名为HyperCard 的软件发布,真正让我认识到麦金塔电脑的开创性意义。麦金塔电脑和 HyperCard 这套组合拳(one-two punch)改变了我对计算机的认知。




范阳注:图片来源https://arstechnica.com/gadgets/2019/05/25-years-of-hypercard-the-missing-link-to-the-web/


如果你听说过 HyperCard,光是听到这个名字,可能就会唤起那种噼啪作响的奇妙兴奋感。但如果你从未听过,那就让我为你讲讲它的故事。


它的开发者比尔·阿特金森(Bill Atkinson)称它是“一个用来搭建应用程序的积木套装”(“an erector set for building applications”)。简单来说,你可以用 HyperCard 自己做软件。每个程序由许多“卡片堆栈”(stacks)组成,而每张“卡片”(card)可以包含文字、图像,甚至交互元素(interactive elements),比如按钮,并且可以和其他卡片互相链接。



范阳注:The complete HyperCard handbook

https://archive.org/details/The_Complete_HyperCard_Handbook/mode/2up


可以把这些“堆栈”想象成一种原始形态的“网页”,只不过它们完全存在于单台电脑之中,而每一张卡片,就是一个页面(Think of these stacks as rudimentary websites of sorts that exist entirely on a single machine,with each card as a page)


有了这些最基本的功能,你能做什么?几乎任何你想做的事情。


你可以从很小的项目开始,比如储存和链接信息,然后一步步扩展。如果你只是一个普通用户,也就是“非程序员”,制作一个交互式软件(a piece of interactive software)的门槛几乎为零。你可以通过菜单和图形化界面轻松添加按钮、文字、图片,甚至还能写上一点简单的代码,得益于它那种友好又易读的语言 HyperTalk,让所有元素协同运作(to make these pieces all work together)。基于这些基础组件,你可以随心所欲地创作——比如制作一个按下就会显示图片的屏幕按钮(an on-screen button that when pressed would show a picture)


“说它启发了整整一代未来软件开发者形成计算思维,这种说法毫不夸张。”



当然,它能做的远不止这些。你可以用它管理库存系统,甚至运营整家公司;你可以做一个互动故事 — 每一页是独立的一张卡,而故事场景的元素都可以点击、触发反应;你可以制作教育软件,比如关于外太空、《白鲸记》或恐龙的交互卡片堆;你可以制作大型电脑游戏,比如后来成为经典的 《Myst(神秘岛)》,它最初就是用 HyperCard 制作的。甚至,更令人惊讶的是,你还可以用它控制一座摩天大楼的灯光系统:世界上最高的两栋建筑之一——吉隆坡的双子塔(Petronas Towers)——其部分照明系统就是由 HyperCard 控制的。HyperCard 甚至启发了万维网(World Wide Web)和早期的网页浏览器的诞生。


(范阳注:Robert Cailliau on the WWW Proposal: "How It Really Happened." https://web.archive.org/web/20110106041256/http:/www.computer.org/portal/web/computingnow/ic-cailliau)


阿特金森曾这样形容 HyperCard:它是“一次试图在程序员的祭司阶层与用鼠标点击的 Macintosh 用户之间搭建桥梁的努力(an attempt to bridge the gap between the priesthood of programmers and the Macintosh mouse clickers)。” 但它的意义远不止如此。HyperCard 从未在“易用性”和“创造力”之间(the easily usable and the creatively powerful)妥协。所有这些特性都凝聚在它激发创造力的计算能力之中(its computational power for creativity)


用计算机科学家西摩·派普特(Seymour Papert)的话来说,HyperCard 体现了“低门槛与高天花板(low floors, high ceilings)”的理念:一种既容易上手、又拥有无限开放潜能的技术(technologies that are easy to begin working with but still have lots of open-ended potential)。它为初学者留下了入口,也为专家留下了天空。


HyperCard 曾是许多人进入编程世界的大门,正是它让我第一次对“写代码”感到自在(HyperCard was a gateway to programming and was what first got me comfortable with the idea of coding)。说它启迪了整整一代未来软件开发者形成计算思维,这话毫不夸张。维基百科底层技术——原始“维基”软件的开发者,正是从 HyperCard 中获得了灵感。当代苹果工程师中,也有不止一位将其视为自己编程生涯的启蒙导师。儿童编程工具 Hopscotch 的联合创始人萨曼莎·约翰(Samantha John)也坦言,她参与开发的软件正承袭了 HyperCard 的精神。


简单来说,HyperCard 是麦金塔电脑(Macintosh)电脑真正生成性与创造力的极致体现。


然而,自从上世纪 90 年代 HyperCard 的辉煌时期以来,计算机世界已发生了根本的改变(它在 1998 年停止更新,2004 年被苹果正式下架)。如今,在计算机世界中,留有一个巨大的空白——而我们每一个人,其实都能深切感受到这种缺失。当我们每天使用科技产品时,或许都隐约意识到自己需要某些尚未被创造出来的小工具、小应用。但这些东西并不是能获得风险投资青睐、或者成为“下一个 Facebook”的项目,所以没有人会替我们去做它们。


它们也许能让我们的工作更高效、生活更便利、更愉悦——比如,做一个你心目中理想的、最简单的笔记软件——但因为“非程序员”很难去实现这些,我们只能被迫放弃这些念头,认为它们“并不属于我们”。但事情本不该是这样的。


目前,让普通用户摆脱作为计算机程序“被动终端使用者”角色的最佳当代软件例子,或许是一个你从未会在这种语境下想到的:Microsoft Excel。


那些从未认为自己是程序员的人,每天都在用这款电子表格软件构建极其复杂的模型、以微妙的方式进行数据分析,以及完成更多创造性的工作。但我们理应拥有远比这更好的工具。


我认为,改变正在路上。如今,正在出现越来越多让非程序员也能亲手构建程序的软件类别——技术上被称为“终端用户编程(end-user programming)”,或更通俗地称为“无代码(no-code)”软件。


例如:Bubble:号称是一种用可视化方式构建网页应用的平台;Webflow:让用户轻松创建网站;IFTTT 和 Zapier:通过组合不同的网络工具与应用,实现自动化流程;Glitch:一个让人能轻松构建、分享、重混网页项目和应用的平台(虽然对非程序员来说仍有些令人望而生畏),但它最初的名字叫 HyperDev,暗示了它可能的灵感来源;甚至还有面向儿童的 Scratch,将这种开放式创造的理念带入启蒙教育领域(open-ended creation for children)


虽然这些“无代码”或“终端用户编程”工具大多仍然偏向特定用途,或者距离我们理想中的那种“低门槛与高上限兼备”的创造平台还有些距离,但我已经开始在其中嗅到 HyperCard 的那种承诺与气息。


正如加州大学欧文分校信息学系的人类学家、终端用户编程早期专家 Bonnie Nardi 所指出的那样,HyperCard 最重要的遗产,是让普通用户进行编程这件事变得正常化(the legacy of HyperCard is the normalisation of end-user programming for ordinary users)


在上世纪 1980 年代的一则精彩计算机广告中,由 Seymour Papert 共同创作的编程语言 Logo 如此自我描述:


“Logo 常被称为一种儿童语言。确实如此,就像英语也是一种儿童语言一样。这种定义并不妨碍它同时成为诗人、科学家和哲学家的语言(Logo has often been described as a language for children. It is so, but in the same sense that English is a language for children, a sense that does not preclude its being also a language for poets, scientists, and philosophers)。”


我们理应追求的,是这样一种强大的软件“元工具”与沙盒环境(A powerful new software meta-tool and sandbox):无论你是诗人、科学家、哲学家,还是一个孩子,都能在其中玩耍、快速原型化你的想法,并在过程中学习关于世界的一切(one where you can play, rapidly prototype ideas, and learn about the world no matter whether you are a poet, a scientist, a philosopher, or a child)


是时候重新找回那种 HyperCard 式的感觉了(recapture that HyperCard feeling)





原文链接:https://www.bbc.co.uk/future/article/20190722-the-apple-software-that-inspired-the-internet


本文来自微信公众号:范阳,作者:范阳,原文作者:Samuel Arbesman

本内容由作者授权发布,观点仅代表作者本人,不代表虎嗅立场。
如对本稿件有异议或投诉,请联系 tougao@huxiu.com。

支持一下

赞赏

0人已赞赏

大 家 都 在 搜

好的内容,值得赞赏

您的赞赏金额会直接进入作者的虎嗅账号

    自定义
    支付: