惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Schneier on Security
F
Fortinet All Blogs
B
Blog
GbyAI
GbyAI
P
Proofpoint News Feed
量子位
The Register - Security
The Register - Security
宝玉的分享
宝玉的分享
大猫的无限游戏
大猫的无限游戏
云风的 BLOG
云风的 BLOG
V
Visual Studio Blog
B
Blog RSS Feed
WordPress大学
WordPress大学
Recorded Future
Recorded Future
Recent Announcements
Recent Announcements
V
Vulnerabilities – Threatpost
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
S
Secure Thoughts
雷峰网
雷峰网
Stack Overflow Blog
Stack Overflow Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Webroot Blog
Webroot Blog
AWS News Blog
AWS News Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
The GitHub Blog
The GitHub Blog
爱范儿
爱范儿
O
OpenAI News
月光博客
月光博客
H
Hacker News: Front Page
S
Security Affairs
W
WeLiveSecurity
The Hacker News
The Hacker News
aimingoo的专栏
aimingoo的专栏
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Help Net Security
Help Net Security
MongoDB | Blog
MongoDB | Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
D
Docker
T
The Blog of Author Tim Ferriss
Spread Privacy
Spread Privacy
Blog — PlanetScale
Blog — PlanetScale
J
Java Code Geeks
S
Securelist
Microsoft Azure Blog
Microsoft Azure Blog
TaoSecurity Blog
TaoSecurity Blog
T
Threat Research - Cisco Blogs
M
MIT News - Artificial intelligence
A
About on SuperTechFans

夜行人

回家路上 第一期的直播演示项目 震动检测器 正能量 在线参观CodeLab Neverland 发布 CodeLab Adapter 3.3.1 DynamicTable 之 纸糊方向盘 CodeLab DynamicTable: 一个可实施的技术方案 CodeLab Insight 发布 Alpha 版 情人节 Home Assistant 周报 && IoT 周报 (02) Joplin: 关注隐私的 Evernote 开源替代软件 浏览器的未来与 Web 传感器 Home Assistant 周报 && IoT 周报 (01) 百宝箱(01) 论自由 介绍 WebThings Home Assistant 周报 && iot 周报 (00) 百宝箱(00) 毛姆读书心得 传世之作 周末徒步 CodeLab Adapter ❤️ Jupyter/Python 航班 躲雨 夏令营途中 [译]思想--作为一种技术 The future of coding 美国之行 三门问题的程序模拟 从Python转向Pharo https://blog.just4fun.site/post/iot/iot-open-source-projects/ Python异步编程笔记 https://blog.just4fun.site/post/iot/iot-open-source-hardware-community/ 万物积木化开发者社区 CodeLab ❤️ Blender Scratch3技术分析之云变量 API(第7篇) [译]对管道(Pipes)的偏爱 [译]提出正确的问题比得到正确答案更重要 蓝牙设备与Scratch3.0 创建你的第一个Scratch3.0 Extension Scratch3技术分析之项目内部数据(第6篇) Scratch3技术分析之社区 API(第5篇) Scratch3技术分析之User API(第4篇) Scratch3技术分析之项目主页API(第3篇) Scratch3技术分析之静态资源API(第2篇) Scratch3.0、micro:bit与Windows7 https://blog.just4fun.site/post/iot/zerynth-vs-micropython/ 核聚变、方所与半宅空间 可视化编程为何是个糟糕的主意 codelab.club周末聚会 关于codelab.club '下一件大事'是一个房间 Hungry Robot - Eat everything 编程作为一种思考方式 今日简史 史蒂夫·乔布斯传 罗素自选文集 https://blog.just4fun.site/post/edx/tianjin-scratch-ai/ https://blog.just4fun.site/post/edx/richie-cms-openedx/ 徒步武功山 WebUSB与micro:bit 积木化编程与3D场景 夜宿武功山顶 scratch3-adapter接入优必选Alpha系列机器人 https://blog.just4fun.site/post/edx/video-migration-note/ scratch3-adapter重构笔记 https://blog.just4fun.site/post/edx/edx-community-members/ 两种硬件编程风格的比较 使用micro:bit自制PPT翻页笔 柏拉图对话集 scratch3.0 + micro:bit 七月电影放映计划 非营利组织的管理 Screenly--用树莓派让任何屏幕变为可编程的数字标牌 以最佳实践开始你的Django项目 micro:bit与事件驱动 为Scratch3.0设计的插件系统(上篇) OCR应用一例 近两年读过的一些好书 blockly开发之使用python驱动浏览器中的turtle(2) 牛顿新传 文学理论入门 逻辑的引擎 人生的意义 blockly开发之生成并运行js代码(1) blockly开发之hello world(0) micro:bit使用笔记 神器之Termux https://blog.just4fun.site/post/iot/micropython-notes/ Cozmo what is this Scratch的前世今生 下段旅程 我行在远方 爆裂 途中杂记 https://blog.just4fun.site/post/edx/open-edx-startup/ cozmo系列之入门 - 有性格且可编程的机器人 PaperWeekly开发笔记 创业二三事
[译]Alan Kay 在 OOPSLA'97 中提到的 Web 的替代解决方案是什么?
种瓜 · 2024-01-03 · via 夜行人

原文

原文: What is Alan Kay’s alternative solution for the web which he mentioned in OOPSLA ‘97?

译文

我不记得 26 年前说了什么…

我对 Web 人员和浏览器人员从未关注以前更好的前瞻性工作感到震惊,这可能会对事情的发展和现状产生重大影响。

三个重要的例子是:

  1. 恩格尔巴特的 NLS 系统(更重要的是:恩格尔巴特对协作和沟通的愿景)
  2. 苹果的 Hypercard 系统,它在 80 年代末期非常出色,并且更重要的是:展示了 Web 如何成熟以造福所有用户的路径
  3. Postscript 如何解决重要的系统问题。

相反,万维网(WWW)采用了简单的基于文本的标记文档,Web 浏览器甚至更糟,因为它们更注重消费而不是创作。

值得注意的是, 真正分享 的选项已经内置在 Engelbart 系统的操作系统中(今天,在他的演示的 55 年后,人们使用的标准操作系统都没有这个基本功能)。

Hypercard 展示了一个终端用户创作系统如何被数百万终端用户学习和使用,并提供了 Web 创作的模式。这最初被 Web 人员完全忽视,然后逐渐做得不好(回想一下 Java 的早期历史,以及为什么“Javascript”被称为“Javascript”)。

John Warnock 和 Chuck Geshke 最初在 Parc 工作,那里出现了一个有趣的问题(涉及位图显示上的编辑以及使用 Gary Starkweather 新的高分辨率位图激光打印机):

个人计算机应发送什么内容到激光打印机,以便打印任意图像?

第一个解决方案–由打印机解释的数据结构–在意识到几乎不可能处理所有可能的图像、更新打印机等问题时崩溃了。

然而,这引发了 发送一个过程(process) 到打印机上的编程语言的虚拟机的想法,旨在以无分辨率方式生成图像。该进程可以在地址空间中安全运行,并使用相当于访问外部引用的功能(如打印机的像素缓冲区等)。打印机解释器将了解打印机的特性、分辨率、介质等。这种解决方案将更好地匹配“谁需要知道什么”,并允许打印机被简单的虚拟机解释器“殖民”。这随后使 Adobe 能够快速将打印机与 Postscript 配对。

因此, 过程(process) 是一种同时包含代码和数据并且安全封装的对象。

请注意, 这表明–特别是在互联网中–处理 Web 及其用户界面的模型。即发送过程而不是文本, 并且让共同的基数从

  1. 处理虚拟机的操作系统开始,这些虚拟机可以安全地运行它们,以及
  2. 将虚拟机的输出映射到用户的屏幕(相当于打印机)。有一个很大的机会
  3. 将此视为帮助组织交互的 GUI 的方式,但也
  4. 允许进程做他们自己的用户界面(但它是一个好主意时)。

请注意,这也意味着外围设备(如打印机)包含了用于其驱动程序的高级语言代码(并且可以将其发送到个人计算机上的用户软件,而不是用大量驱动程序软件堵塞本地操作系统)。

以上段落是系统思维者会进行的思考方式…

那时我可能会做的另一个评论是,最初的愿景对于 Web 和浏览器人员来说是如此狭隘,以至于他们认为答案是“一个应用程序”,而不是一个真正能够处理互联网发展的操作系统环境(在 60 年代甚至还没有 ARPAnet 之前,恩格尔巴特就有了一个更好的愿景)。

我记得 Web 员最终透露他们并不知道恩格尔巴特之前的工作。

从“实际”角度来看,从一个薄弱的概念开始,然后逐步增加功能,很难避免最终出现杂乱无章和不必要的复杂性。这包括非常重要的考虑因素,如安全性和信任(它们很难添加到最初不安全和不可信的系统)。同样,设计不具备可扩展性的系统很难进行扩展。

等等…

这就是 Web 及其浏览器的成功如此令人震惊的原因。每当我浏览维基百科上关于动态内容(如编程语言、物理系统等)的文章时,我都会感到不寒而栗,因为解释中没有动态模型(而维基百科是在终端用户强大计算机上运行的!)。

Web 和浏览器的人员没有理解“计算机”的哪一部分呢?(请注意,最初的 Web 是在一台带有良好用户界面和操作系统的 Next 计算机上完成的,后来的浏览器最初也是在带有实际操作系统和图形用户界面的计算机上完成的……)。我猜想他们没有考虑未来(因为任何思考都会揭示出所需的实际上是比个人计算机已经具备的更多,而不是更少)。

今天同样令人震惊的是,我发现大多数自称懂电脑的人在被要求批评浏览器、标准操作系统等时都束手无策。他们已经习惯了“糟糕”,并认为这是“正常”和“可以接受”的。对我来说,这不仅令人悲伤,而且很危险。

参考