蚊章汇 - BASIC
type: channel
link: https://linuxcn.bwsl.wang/tag/BASIC/
items: 硬核观察 #1201 美国实现芯片独立还需十到二十年
items: BASIC 与 FORTRAN 77：比较过去的编程语言
items: 通过“猜数字”游戏学习 Basic
items: 《代码英雄》第四季（3）：个人计算机 —— Altair 8800 和革命的曙光
items: 《代码英雄》第三季（2）：学习 BASIC
items: 从 BASIC 到 Ruby：入门编程语言的体悟
items: 穿越到 1983 年学习 BASIC

硬核观察 #1201 美国实现芯片独立还需十到二十年
type: item
date: 2023-12-01T00:31:00+08:00
description: 1 美国实现芯片独立还需十到二十年英伟达公司的黄仁勋在《纽约时报》DealBook 会议上表示，“我们距离供应链独立还有十年到二十年的时间。”他解释了他的公司的产品是如何依赖于来自世界各地的无数元件的，而不仅仅是台湾。许多大公司正计划扩大在美国的业务。其中包括台积电。消息来源：彭博社老王点评：前两天的消息，龙芯发布了 3A6000 芯片。我们也终究会有自己需要的一切的，但是……2 全球科学研究正一分为二《自然》杂志的编辑委员会指出，中国和美国以及其他西方国家之间的科研合作正在走下坡路。日本文部科学省八月发布的一份报告称，2021 年两国科学家共同撰写的研究文章数量有所下降，这是自 1993 年以来的首次年度下降。与此同时，《自然》指数的数据显示，从该指数自然科学期刊论文的作者情况来看，中国科学家的国际合作倾向正在减弱。《自然》杂志上个月报道称，中国加强了与中低收入国家的科学联系，这也在创造平行的科学体系：一个以北美和欧洲为中心，另一个以中国为中心。消息来源：《自然》老王点评：新两极世界，但是我还是喜欢那个开放的全球村。3 BBC BASIC 回来了之前，我们 专文介绍 过，英国广播公司（BBC）为了帮助英国人战胜他们对计算机的反感，在上世纪七十年代发起了 “计算机认知计划”，该计划包括多个教育方向的努力：几部电视连续剧、一些相关书籍、一个支持团队网络以及一款名为 BBC Micro 的特别定制的微型计算机。最终，他们售出了 150 万台 BBC Micro 微型计算机。（顺便说一句，ARM 这个单词的 “A” 最初就代表生产 BBC Micro 的 Acorn 公司。）BBC Basic 是专门为该计算机开发的编程语言。现在，BBC Basic 又回来了，而且可以在各种现代平台上运行。BBC Basic for SDL 2.0 可在 Windows、MacOS、x86 Linux，甚至树莓派操作系统、安卓和 iOS 上运行。消息来源：Hack a Day老王点评：哦，古老的 BASIC 又回来了，不过，还有会 BASIC 的年轻人吗？

BASIC 与 FORTRAN 77：比较过去的编程语言
type: item
date: 2023-06-11T19:07:52+08:00
description: 如果你和我一样，在 20 世纪七八十年代使用计算机长大，你可能学过一种常见的个人计算机编程语言，名为 BASIC（全称是 “ 初学者的通用符号指令代码 Beginner's All-purpose Symbolic Instruction Code ”）。那个时期，包括 TRS-80、Apple II 和 IBM PC 在内的每台个人计算机都可以找到 BASIC 实现。当时，我是一个自学的 BASIC 程序员，在尝试了 Apple II 上的 AppleSoft BASIC 后，转向 IBM PC 上的 GW-BASIC，后来在 DOS 上学习了 QuickBASIC。我通过编写一个示例程序来探索 BASIC 和 FORTRAN 77 中的 FOR 循环，以将数字列表从 1 加到 10。但是曾经，一种在科学编程领域受欢迎的语言是 FORTRAN（即 “ 公式翻译 FORmula TRANslation ”）。尽管在 1990 年对该语言进行的规范以后，该名称更常见的风格是 “Fortran”。当我在 1990 年代初作为大学本科物理学生学习物理学时，我利用自己在 BASIC 上的经验学习了 FORTRAN 77。那时我意识到 BASIC 许多概念都来源于 FORTRAN。当然，FORTRAN 和 BASIC 在很多其他方面也存在差异，但我发现了解一点 BASIC 可以帮助我快速学习 FORTRAN 编程。我想通过使用两种语言编写相同的程序，展示它们之间的一些相似之处。通过编写一个示例程序来探索 BASIC 和 FORTRAN 77 中的 FOR 循环，这个程序将把 1 到 10 之间的数字相加。Bywater BASICBASIC 存在许多种不同的版本，这取决于你的计算机，但该语言总体保持不变。我喜欢的一种 BASIC 版本是 Bywater BASIC，这是一种开源的 BASIC 实现，适用于包括 Linux 和 DOS 在内的不同平台。要在 FreeDOS 上使用 Bywater BASIC，你必须首先从 FreeDOS 1.3 Bonus CD 中 安装该软件包。然后进入 C: 目录并输入 bwbasic 命令，这将启动 BASIC 解释器。你可以在这个提示符下输入程序：bwBASIC: Bywater BASIC 使用较早的 BASIC 编程标准，需要你在每个程序指令上编写一个行号。将行号视为索引。你可以使用行号轻松地引用程序中的任何指令。当你将程序键入 Bywater BASIC 解释器时，请在每个指令前添加行号：bwBASIC: 10 print "Add the numbers from 1 to 10 ..." bwBASIC: 20 sum = 0 bwBASIC: 30 for i = 1 to 10 bwBASIC: 40 sum = sum + i bwBASIC: 50 next i bwBASIC: 60 print sum bwBASIC: 70 end 可以使用 list 命令查看你已经输入到解释器中的程序：bwBASIC: list 10 print "Add the numbers from 1 to 10 ..." 20 sum = 0 30 for i = 1 to 10 40 sum = sum + i 50 next i 60 print sum 70 end 这个简短的程序演示了 BASIC 中的 FOR 循环。 FOR 是任何编程语言中最基本的循环构造，允许你迭代一组值。在 Bywater BASIC 中，FOR 循环的一般语法看起来像这样：FOR 变量 = 起始值 TO 终止值 在这个示例程序中，指令 for i = 1 to 10 开始一个循环，迭代值为 1 到 10。在每个循环中，变量 i 被设置为新值。在 BASIC 中，所有到 next 指令前的指令都将作为 FOR 循环的一部分执行。因为你可以将一个 FOR 循环放入另一个 FOR 循环中，Bywater BASIC 使用语法 NEXT 变量 来指定要迭代的循环变量。在提示符下键入 run 来执行程序：bwBASIC: run Add the numbers from 1 to 10 ... 55 Bywater BASIC 被称为 BASIC 解释器，因为只能从 Bywater BASIC 环境中运行程序。这意味着解释器会处理与操作系统的交互的所有繁重工作，因此你的程序不需要自己完成这个工作。 这样做的代价是，程序在解释环境中运行会比它作为编译程序运行慢一些。FreeBASIC另一个流行的 BASIC 实现是 FreeBASIC，这是一个开源的 BASIC 编译器，适用于多个平台，包括 Linux 和 DOS。要使用…

通过“猜数字”游戏学习 Basic
type: item
date: 2023-02-11T18:38:00+08:00
description: 本教程让你通过编写一个 “猜数字” 游戏来探索 Basic。用多种语言编写同一个应用是学习新的编程语言的好方法。大多数编程语言都有某些共同点，如：变量表达式语句这些概念是大多数编程语言的基础。当你理解了它们，你就可以开始研究其他的东西了。编程语言通常有一些相似之处。当你了解了一种编程语言，你就可以通过认识其差异来学习另一种语言的基础知识。用标准程序进行练习是学习新语言的一个好方法。它使你能够专注于语言，而不是程序的逻辑。在这个系列文章中，我使用了一个“猜数字”的程序，在这个程序中，计算机在 1 到 100 之间挑选一个数字，并要求你猜出来。程序循环进行，直到你猜对数字为止。这个程序锻炼了编程语言中的几个概念：变量输入输出条件判断循环这是学习一种新的编程语言的很好的实践。本文主要介绍 Basic。在（Bywater）Basic 中猜数字对于 Basic 编程语言，没有真正的标准。维基百科说：“BASIC（ 初学者通用符号指令代码 Beginners' All-purpose Symbolic Instruction Code ）是一个通用的高级编程语言系列，旨在方便使用”。BWBasic 的实现是在 GPL 下提供的。你可以通过编写一个“猜数字”游戏来探索 Basic。在 Linux 上安装 Basic在 Debian 或 Ubuntu 中，你可以用以下方法安装 Basic：$ apt install -y bwbasic 下载 Fedora、CentOS、Mageia 和其他任何 Linux 发行版的最新版本 tarball。解压并设置可执行，然后从终端运行它：$ tar --extract --file bwbasic*z $ chmod +x bywater $ ./bywater 在 Windows 上，下载 .exe 版本。Basic 代码下面是我的实现：10 value$ = cint(rnd * 100) + 1 20 input "enter guess"; guess$ 30 guess$ = val(guess$) 40 if guess$ < value$ then print "Too low" 50 if guess$ > value$ then print "Too high" 60 if guess$ = value$ then 80 70 goto 20 80 print "That's right" Basic 程序可以是编号的，也可以是不编号的。通常情况下，写程序时最好不编号，但用编号的行来写，可以更容易地引用各个行。按照惯例，编码者将行写成 10 的倍数。这种方法允许在现有的行之间插入新的行，以便进行调试。下面是我对上述方法的解释：10 行：使用内置的 rnd 函数计算一个 1 到 100 之间的随机值，该函数生成一个 0 到 1 之间的数字，不包括 1。20 行：询问一个猜测，并将该值放入 guess$ 标量变量。30 行将该值转换为一个数字。40 行和 50 行：根据比较结果，给猜测者以反馈。70 行：回到循环的起点。60 行：通过将控制权转移到 80 行来打破循环。80 行是最后一行，所以程序在这之后退出。输出示例下面是将该程序放入 program.bas 后的一个例子：$ bwbasic program.bas Bywater BASIC Interpreter/Shell, version 2.20 patch level 2 Copyright (c) 1993, Ted A. Campbell Copyright (c) 1995-1997, Jon B. Volkoff enter guess? 50 Too low enter guess? 75 Too low enter guess? 88 Too high enter guess? 80 Too low enter guess? 84 Too low enter guess? 86 Too high enter guess? 85 That's right 开始学习这个“猜数字”游戏是学习新的编程语言的一个很好的入门程序，因为它以一种相当直接的方式锻炼了几个常见的编程概念。通过在不同的编程语言中实现这个简单的游戏，你可以展示这些语言的一些核心概念，并比较它们的细节。你有喜欢的编程语言吗？你会如何用它来写“猜数字”的游戏？请关注本系列文章，看看你可能感兴趣的其他编程语言的例子吧！via: https://opensource.com/article/23/2/learn-basic-coding-game作者：Moshe Zadka 选题：lkxed 译者：geekpi 校对：wxy本文由 LCTT 原创编译，Linux…

《代码英雄》第四季（3）：个人计算机 —— Altair 8800 和革命的曙光
type: item
date: 2021-05-18T02:55:19+08:00
description: 代码英雄讲述了开发人员、程序员、黑客、极客和开源反叛者如何彻底改变技术前景的真实史诗。什么是《代码英雄》 代码英雄 Command Line Heroes 是世界领先的企业开源软件解决方案供应商红帽（Red Hat）精心制作的原创音频播客，讲述开发人员、程序员、黑客、极客和开源反叛者如何彻底改变技术前景的真实史诗。该音频博客邀请到了谷歌、NASA 等重量级企业的众多技术大牛共同讲述开源、操作系统、容器、DevOps、混合云等发展过程中的动人故事。本文是《代码英雄》系列播客《代码英雄》第四季（3）：个人计算机 —— Altair 8800 和革命的曙光的音频脚本。导语：因为 Altair 8800，我们今天才能在大多数家庭中拥有计算机。它最初是为业余爱好者设计的，但是一些有远见的人看到了这个奇怪的小机器的巨大潜力，并努力使其他人也看到。他们创造的东西所带来的影响远远超出了任何人的想象。Forrest Mims 告诉了我们他的联合创始人 Ed Roberts 是如何计划拯救他们陷入困境的电子公司的。他的想法是什么？一台为业余爱好者制造的微型计算机。那台计算机让 比尔•盖茨 Bill Gates 和 保罗•艾伦 Paul Allen 打了一个决定性的电话。Dan Sokol 和 Lee Felsenstein 回顾了 Altair 8800 在自制计算机俱乐部的揭幕，以及它如何激发了 史蒂夫•沃兹尼亚克 Steve Wozniak 的 Apple I 的灵感。然后，我们在 John Markoff 那里听到了一个臭名昭著的软件抢劫案，该案为代码是否应该是专有的辩论创造了条件。最后，Limor Fried 回顾了这个故事如何继续影响今天的开源硬件运动。00:00:04 - Saron Yitbarek：1974 年 12 月一个严寒结霜的下午，两个年轻人走在哈佛广场上，他们可能正在谈论着他们最感兴趣的计算机话题。00:00:19：当他们经过报摊，看到了《 大众电子 Popular Electronics 》杂志从其他杂志中露出的蓝色字体，他们停下来看了一下，杂志封面上是一个金属盒的照片，在它的正面有十几个开关和指示灯。标题上写着：“世界上第一台小型计算机套件，Altair 8800。” 这个盒子看上去不太像样，裸露着金属，就像是给业余爱好者和修理工们准备的。但对这两个人来说却不是这样，更像是他们一直在等待的机器，因为他们正好有适合这种新硬件的完美软件。同时，他们也有一些忐忑，如果别人也有这种想法并已经开始实施的话，那该怎么办呢？必须尽快行动起来了。这两位代码英雄是谁呢？ 比尔•盖茨 Bill Gates 和 保罗•艾伦 Paul Allen 。此时他们并不知道，Altair 8800 将会是打开个人计算机革命大门的机器，它将永远的改变我们的生活。这台设备还做到了另一件事，在一个神秘小偷的帮助下，它将引发自由软件和专有软件之间的争论，我们稍后会讲到。00:01:50：在硬件这一季的第一集，我们了解了 Eagle 这样的分时小型机。在第二集，我们了解了 GE-225 大型机。但它们仍然受制于自身的尺寸、价格以及处理能力。而这一集讲的是，缩小到 微型计算机 micro computer 的所有东西。这一切，都始于邮寄给业余爱好者的 DIY 套件，就像是《大众电子》的那张划时代的封面里面的一样。00:02:23：这些简单的套件，激发出了一种革命性的想法：计算机可以放在你的家里。这台计算机是属于你的，你可以用来做实验。一个全新的、面向大众的硬件产品 —— 个人计算机 personal computer （PC） —— 诞生了。我是 Saron Yitbarek，这里是《代码英雄》，一款红帽公司的原创播客。00:02:51：让我们回到上世纪 60 年代末，在新墨西哥州的沙漠里，Altair 8800 诞生了。一个名叫 Ed Roberts 的人与人合伙创立了一家小型电子零件公司 MITS（意即“ 微型仪器和遥测系统 Micro Instrumentation and Telemetry Systems ”）。通过爱好者杂志，他们可以将这些小玩意卖给痴迷于无线电遥控飞机和火箭模型的新市场。00:03:21：到 1971 年，Ed 独立经营着公司。他决定将重心转向电子计算器，这在当时是一个全新的市场。MITS 准备提供第一台爱好者计算器，但是 Ed 失算了。这位是他最初的联合创始人，Forrest Mims。00:03:42 - Forrest Mims：像索尼、夏普和德州仪器这样的公司，他们正在制造专业的袖珍计算器，并以低于 Ed 的价格出售。这是一场灾难，Ed 濒临破产，并且不知道该怎么办。00:03:57：有一天，他了解到英特尔公司开发了一种新…

《代码英雄》第三季（2）：学习 BASIC
type: item
date: 2020-11-17T00:14:06+08:00
description: 代码英雄讲述了开发人员、程序员、黑客、极客和开源反叛者如何彻底改变技术前景的真实史诗。什么是《代码英雄》 代码英雄 Command Line Heroes 是世界领先的企业开源软件解决方案供应商红帽（Red Hat）精心制作的原创音频播客，讲述开发人员、程序员、黑客、极客和开源反叛者如何彻底改变技术前景的真实史诗。该音频博客邀请到了谷歌、NASA 等重量级企业的众多技术大牛共同讲述开源、操作系统、容器、DevOps、混合云等发展过程中的动人故事。本文是《代码英雄》系列播客第三季（2）：学习 BASIC的音频脚本。导语：以前，成为程序员需要博士学位，还要能够接触到像服务器之类有着举足轻重地位的硬件。直到 1965 年，一群工程师有了个激进的想法：让编程变得更易学、亲民。像 BASIC 这样专为初学者设计的语言为许多人打开了编程世界的大门。Tom Cormen 和 Denise Dumas 回忆了 BASIC 是如何改变一切的。Avi Flombaum 和 Saron 则会向这个软件开发新时代的编程新手们提供关于挑选第一门语言的建议。最后，Femi Owolade-Coombes 和 Robyn Bergeron 会向我们讲述，新一代的程序员们，是如何通过游戏来接触编程的。这些初学者语言的诞生，让每个人都有机会踏入编程的大门。同时，这也让整个产业欣欣向荣。00:00:02 - Saron Yitbarek：1965 年是美国历史上发生重大变化的一年。《民权法案》就是在那年签署的。00:00:09 - 新闻档案：国会通过了史上影响最为广泛的《民权法案》，并将它写进了法律里。00:00:12 - Saron Yitbarek：作战部队被第一次被派往越南，男人们烧掉了他们的征兵证。00:00:19 - 新闻档案：征兵名单被放在波士顿法院的台阶上，一群高中男生挥拳抗议。00:00:25 - Saron Yitbarek：在纽约，披头士乐队举行了世界上第一场体育馆内的音乐会。但在距离这些大新闻很远的地方，一场与众不同的革命正在酝酿。00:00:39：5 月 1 号，凌晨 4 点。 约翰·凯梅尼 John Kemeny 教授和一名本科生正在 达特茅斯 Dartmouth 的 GE 225 型电脑上忙碌着。他们运行了一个方才写好的程序。电传打字机的三行输出，永远地改变了计算机编程领域。00:01:04：欢迎来到红帽原创播客《代码英雄》的第三季第 2 集。我是主持人，Saron Yitbarek。在这一集，我们将继续“编程语言的过去与未来”的旅程。在第 1 集中，我们深入研究了 Python，并了解了开源社区如何在其领导阶层的大动荡中生存下来。比起上一期节目，本次节目则会更注重于个人。我会先聊聊我邂逅入门语言时的体验，这种体验我们应该都有。我将带领你们领略我学习的第一门语言 Ruby，以及某些新手语言是如何用游戏的形式，来到我们身边的。00:01:50：不过，我得先举个例子，好让大家都能明白“新手语言”到底是什么意思。这个例子就是 BASIC，它诞生于之前提到的 达特茅斯 Dartmouth 实验室的三行输出。在 1965 年的那个黎明， 约翰·凯梅尼 John Kemeny 作为创造者之一，见证了 BASIC 的诞生。00:02:14：BASIC 的意思是“ 初学者的泛用符号指令代码 Beginner's All Purpose Symbolic Instruction Code ”。这里面的第一个词 “初学者” 正是其不凡之处所在。在那时候，即使是少量的编程工作，也需要一名博士来完成。这是一种极高的要求，需要有人接受专业教育，更不用说那些高级的硬件了。但是 凯梅尼 Kemeny 教授和他的团队希望改变现状。他们想知道：如果要编写一种所有人都可以使用的编程语言，那会是什么样的？当美国各地的青年们剧烈地抗议，要求变革时， 达特茅斯 Dartmouth 团队提出了一种另类的革命。00:02:57：他们的秘密武器是一个房间那么大的大型电脑 —— GE 225。它重达 2000 磅，和这份不得了的重量相匹配的是，它具备某些全新的功能。那就是分时功能（LCTT 译注：也就是时间片，实现了多用户多进程快速切换的技术）。突然间，编程不再需要复杂的打孔卡系统或庞大的开关墙了。分时意味着程序们都可以同时执行，因为系统会根据不同用户的需要来回切换其处理内容。00:03:31：分时意味着使用者可以用惊人的新方式来访问计算机。这是来自 达特茅斯 Dartmouth 的些许录音，记录了 BASIC 刚诞生的时候，65 班的一位本科生 John McGeachie 学习的实况。00:03:47 - John McGeachie：我们把这台相当贵的、原本只能一次让一个人用的…

从 BASIC 到 Ruby：入门编程语言的体悟
type: item
date: 2019-07-14T21:18:37+08:00
description: 为什么 BASIC 是一种备受喜爱的入门语言？下一代该如何学习编程？《Command Line Heroes》 第三季的第二集今天抵达了，它对我的入门编程的怀旧让我回到了过去。（LCTT 译注：《Command Line Heroes》 是红帽公司制作的播客，讲述了开发人员、程序员、黑客、极客和开源反叛者如何彻底改变技术前景的真实史诗。其第一季制作于 2017 年，邀请到了谷歌、NASA 等重量级企业的技术专家担当嘉宾，讲述操作系统战争风云、美国航天局如何开源等等，涉及开源、操作系统、容器、DevOps、云计算等话题。）语言会影响可访问性这一集告诉我，BASIC 是计算机的理解力民主化的一次巨大飞跃。我很难想象，在一个不太遥远的、计算机尚且是稀罕之物的时代，是 BASIC 改变了世界。正如 Saron Yitbarek 提到的那样，“在早些年编程，你几乎得有个博士学位才行。”BASIC 是一个巨大的飞跃，它专注于可用性（适合初学者的命令）和资源共享（单个计算机的分时操作）。它使得编程不在局限于当时的“计算机玩家”（我喜欢这集中的这句话），并帮助了新一代人参与了进来。进入编程领域的壁垒得以下降。入门编程语言这一集的核心话题是围绕学习入门语言展开的。关于学习什么编程语言以及如何学习，有很多建议。关于这个问题在这里已经写了很多。我喜欢听到 Saron 以 Ruby 作为她的介绍的故事，以及它以一种几乎意想不到的方式变得有趣。我有一些类似的经历，因为我在一些项目中用到了 Ruby。它的灵活性让我感到开心。当我（对编程）感到紧张时，正是这种快乐让我重新回到它的身边，并且它有一些能够使语言如此充满情感的强大功能。我第一次体验编程是用 HTML 和 CSS，但我第一个重型编程语言是 Java。我永远不会忘记在课堂的第一天被告知要记住 public static void main，但没有告知我关于它意味着什么的任何信息。我们花了很多时间在面向对象编程的上下文环境中探讨它是什么，但它从未像我在 Ruby 中使用 .each 迭代列表，或者像在 Python 中用 import numpy 做一些数学魔术那样感到兴奋。然后我听说孩子们正在学习如何使用 Python 编写 Minecraft 或使用像 Scratch 这样的可视化编程语言，我因此而悟，BASIC 的遗产正在以新的方式存在。我从这一集中获取到的内容：请记住，没有人出生就是程序员。每个人都没有这样的背景。你并不孤单。学习一门语言。任何一种都行。如果你有选择的可能，那么请选择能带给你最大乐趣的那个。不要忘记所有语言都可以构建一些东西。请为人类创造有意义的事物。《Command Line Heroes》整个第三季将涉及编程语言。请在此处订阅来学习你想要了解的有关编程语言的起源，我很乐意在下面的评论中听到你的想法。via: https://opensource.com/19/7/command-line-heroes-ruby-basic作者：Matthew Broberg 选题：lujun9972 译者：wxy 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出

穿越到 1983 年学习 BASIC
type: item
date: 2019-07-12T20:57:00+08:00
description: 1983 年时我还没出生，这让我略有一些遗憾。但我特别遗憾的是，是我没有经历过 8 位计算机时代的到来，因为我认为那些初次接触到还相对简单和受限的计算机的人们，拥有超过如今的我们的巨大优势。今天，（几乎）每个人知道如何使用计算机，但是即使是在计算机行业当中，也很少有人能明白任何一台计算机内部的所有内容。现在软件分为如此多的层次，做的是如此不同的事情，没有哪个人能知道哪些是必不可少的。而在 1983 年，家用电脑足够傻大粗，努力一些的人就能了解到一台特定的计算机是如何工作的。那样的一个人可能不会像今天的我觉得操作系统那么神秘，因为如今的操作系统已经在硬件上叠加了太多的抽象层。我希望这些抽象层逐一引入以易于理解；而今天，新的程序员们不得不自上而下、按时间回溯地尝试理解它们。很多著名的程序员，尤其在计算机游戏行业，孩童时期就在苹果 II 和 Commodore 64 这样的 8 位计算机上开始编写游戏，John Romero、Richard Garriott 和 Chris Roberts 都是这样的例子。这好理解。在 8 位计算机时代，很多游戏只能在计算机杂志和书籍中以印刷的 BASIC 程序清单方式得到。如果你想玩其中一款游戏，就必须手工键入整个程序。不可避免的，你可能遇到一些问题，所以你就得调试你的程序。等到你让它可以工作起来了，你就已经对程序是如何运行的有了足够的了解，你就可以开始自己修改它了。如果你是一个狂热的游戏玩家，你几乎必然会成为一名优秀的程序员。在我的童年时期我也玩电脑游戏。但是我玩的游戏是在 CD-ROM 上的。我有时发现我自己必须得搜索一下如何修复崩溃的安装程序，这可能涉及编辑 Windows 注册表之类的东西。可能是这种小故障的排除让我感觉很棒，所以我才考虑在大学里学习计算机科学。但是在大学中从不教我一些计算机如何工作的或如何控制它们的关键性的东西。当然，现在我可以告诉计算机去干什么。尽管如此，我还是不禁感到，我缺少一些根本的见解 —— 只有那些伴随着更简单的计算机编程而成长的人才有的深刻见解。我不禁在想，如果在上世纪 80 年代初就接触到计算机会是什么样子？它们与今天使用计算机的体验相比有何不同？这篇文章将与通常的 Two-Bit History 的文章有一点不同，因为我将为这些问题尝试设想一个答案。1983就在上周，你在电视上看到了 Commodore 64 的广告 ，现在 M*A*S*H 播完了（LCTT 译注： 这是一部上世纪 70 年代初的电视剧），星期一晚上你可以找点新的事情做了。这个 Commodore 64 甚至看起来比鲁迪（LCTT 译注：应该是下文中拥有 Apple II 的人）的家人放在他们家地下室的 Apple II 更好。而且，广告中吹嘘说新的计算机会让你的朋友们“挤破”你家的大门。你知道学校里的几个家伙宁愿在你家闲逛，也不愿去鲁迪家里，只要他们能玩 Zork 就行。所以，你得说服你的父母去买一台。你的母亲说，这事可以考虑，只要你不去游戏厅玩街机就给你买一台家庭电脑。虽然不太情愿，但是你还是同意了。而你的父亲则想，他可以用 MultiPlan （LCTT 译注：电子表格程序）跟踪家庭的资金状况，MultiPlan 是他曾听说过的一个电子表格程序，这就是为什么这台计算机被放在客厅的原因。然而，一年后，你仍然是唯一使用它的人。最终，他们同意你把它搬到了你的卧室的桌子上，正好位于你的警察海报下方。（你的姐姐对这个决定表示抗议，但是，在 1983 年电脑这种东西并不适合女孩。）你的父亲在下班路上从 ComputerLand 那里把它捎了回来。你俩把盒子放置在电视机的旁边，并打开了它。外包装上说“欢迎来到友好的计算机世界”。而二十分钟以后你就不再信这句话了 —— 你俩仍然在尝试把 Commodore 连接到电视机上，并在想电视机的天线电缆到底是 75 欧姆还是 300 欧姆的同轴电缆。但是，最终你把电视机调到了频道 3，看到了一个颗粒状的、紫色的图像。计算机显示了一个 READY。你的爸爸把计算机推向了你，这意思是你是第一个尝试它的人。你小心翼翼地敲击每个字母，键入了 HELLO。然而计算机的回应是令人困惑的。你尝试输入了一些稍有不同的单词，然而回应总是一样的。你父亲说，你最好仔细读一下手册的其它部分。这绝非易事，随 Commodore 64 一起提供的手册 是一本小一些的书。但是这不会困住你，因为手册的介绍预示着奇迹。它声称，Commodore 64 有“微型计算机行业中最先进的图画制作器”，能允许“你设计拥有四种不同颜色的图画，就像你在街机视频游戏里看到的一样”。Commodore 64 也有“内置的音乐和声音效果，可以与很多著名的音乐合成器相媲美”。所有的这些工具都置身于你的手边，手册会…