笔下文学

字:
关灯 护眼
笔下文学 > 电子生涯 > 第捌章 一小步

第捌章 一小步

第捌章 一小步 (第2/2页)

启动AppleII之后就直接进入了ROMBasic环境,可以直接写Basic代码,输入个“Run”就能运行内存中的程序。当然,内存里一共只有一个程序。当然也可以读软盘驱动器,只不过对于外部设备的操作都是包含在AppleBasic内部的函数。
  
  这台PDP-8也类似,Basic和Focal也都是在内存里面执行的解释器,内存里面只能有一个程序。唯一的区别就是PDP-8有操作系统,不需要调用解释器就可以从外部设备上读取程序载入内存。
  
  4k内存能干什么?
  
  还不够塞牙缝的。
  
  怎么才能把写好的代码弄进计算机?
  
  必须自己打穿孔纸带或者卡片。
  
  范含冥思苦想,也琢磨不出能干些什么,看来自己已经被惯坏了。由俭入奢易,由奢入俭难啊!到了现在应该艰苦奋斗的时候,只有束手无策的份了。
  
  好在范含并不是一根筋,立刻就拿定主意——升级硬件!
  
  又花了几千美元,把内存加满——32k,还买了电传打字机,冒充键盘用。
  
  嗯~~~~现在舒服多了。
  
  该干的准备工作都干完了,条件已经优厚得让其他程序员眼红了,再做不出东西来,绝对是自己不灵,怨天尤人也没用。
  
  接下来的一个星期里,范含有了一种返老还童的感觉。
  
  中国大陆80年代的计算机热,可能如今的许多程序员都有所体验。各种报刊杂志上面到处都是代码片断和评注,还有满地的小技巧,小诀窍什么的。不光是专业期刊,一般的面向青少年的科普画报上面都有不少,毕竟有一位老人家说过:“计算机要从娃娃抓起嘛”!
  
  类似的话还有不少,比如当时的“足球要从娃娃抓起”,最近的“性教育要从娃娃抓起”等等。说归说,做归做。效果如何大家心里有数。这些都是提高人口素质的东西,不是“阶级斗争,一抓就灵”。搞得好不好还得看“娃娃”们自己,光着急是不管用的。
  
  不管怎么说,当时的大环境还是很有利于计算机知识的普及,至少领导们表面上还都是给娃娃们创造好了许多有利的条件。范含当年可是没闲着,眼看手敲了不少“趣味小程序”这类东西。
  
  如今统统回忆起来,一个一个的在PDP-8上面实现一遍。当然,机器不一样,具体的细节当然也不一样,这也是唯一有挑战性的部分。
  
  蓝蓝成天目瞪口呆,对于范含的“数学水平”提高之快,只有佩服的份了。只不过,“眉眼含情,芳心暗许”的情况没有出现,毕竟都老夫老妻了,范含到底是什么货色早就清清楚楚。
  
  “红袖添香夜编程”的美梦破灭之后,范含决定拉蓝蓝下水。在“名师”的言传身教之下,很快世界上就又多了一位“女数学家”。
  
  巴杜瓦和佛赫热成天往这里跑,范含也不在意,每次都兴致勃勃的让蓝蓝演示自己最近回忆起来的代码,然后在二人组言不由衷的称赞之后,很没风度的纵声狂笑。
  
  “下回来别忘了带点东西,”范含说,“空着手上门像话么?”
  
  “有烟抽,有茶喝,偶尔还能蹭顿饭。”范含说,“这种好事上哪儿去找?”
  
  “你们从老板手里领的工资一分不少不说,”范含说,“还整天无所事事的在我家晃悠,就当是疗养度假了?”
  
  每次二人组都假惺惺的表示抱歉,范含也每次都假惺惺的表示大人不记小人过。
  
  终于,范含终于想不起什么东西了,这意味着,“儿童计算机冬令营”的活动到此结束。
  
  回顾半个月的生活,基本上就是练练Focal,毕竟这是新的东西,以前从来没用过的。
  
  开始的时候,Basic也用过一阵子,后来主要是蓝蓝在用,自己有事就用Focal了。
  
  Fortran很少碰,汇编更别提了。
  
  每个程序基本上不超过一百行,完成一些有趣的事。
  
  运行通过了就把源代码打印出来,有的还作成纸带或卡片,贴个标签塞进箱子里。
  
  然后下一个。
  
  有什么用?这些东西能有什么用?
  
  除了培养娃娃们对计算机的兴趣之外,确实什么用也没有。
  
  不过敲打这些东西的过程确实很有意义,至少对于现在的蓝蓝很有意义。
  
  高中的时候,数学老师曾经在课堂上评价过那些技巧性很强的三角函数变换题和平面/立体几何证明题:“没用,就是什么用也没有,纯粹是数学游戏,练练脑子,算着玩。不过,你们要是没练过这么一回,以后碰上有用的东西也不会用。”
  
  “你们学语文,包括外语,只不过听、说、读、写,四种本事而已。听别人说话好听,自己未必说得出来;看别人文章好看,自己未必写得出来。”
  
  范含深以为然。
  
  -------
  
  “喂喂喂,”范含说蓝蓝,“工作时间怎么不干正事。”
  
  “有什么正事好干?”蓝蓝手不离打字机,“啊!看你!一说话我这局死了吧!”
  
  “看来我就不该写这个东西出来!”
  
  “很遗憾,你已经写出来了,”蓝蓝重新启动游戏,“刚才电话里不是还打算拿出去卖钱么?”
  
  “你觉得这个游戏怎么样啊?”范含拖长声用期待肯定回答的口气问蓝蓝。
  
  “别问我,”蓝蓝没回头,“我不想夸你。”
  
  “呵呵呵……嘿嘿嘿……”范含说,“那就是很优秀了?”
  
  “哼!”
  
  不优秀才怪,范含想,绝对的经典游戏,哼!
  
  干什么事都得劳逸结合,编程也不例外。况且这一阵子的“冬令营”,对于蓝蓝还是很有吸引力的,一直抱着打字机敲啊敲啊的不觉得累,但是范含却一点也兴奋不起来,毕竟这些程序太幼稚了。
  
  PDP-8带了几个游戏,都是名叫汉诺塔,足球,高尔夫什么的字符游戏,运行起来满屏幕全是加号、减号、星号、井号。
  
  这些都是传统游戏的“电子版”,而不是“电子游戏”。
  
  范含算是见过“大场面”的人,对这些游戏根本就看不上眼。
  
  那怎么办?
  
  自己写!好歹自己也算是个程序员。
  
  想找一个这种机器能跑得起来的,并且自己也喜欢玩的游戏确实有点困难。这类游戏一般都得到一个很高,同时也是很俗的评语:超越了时代。
  
  况且PDP-8根本没有图形模式,想要单独点亮某些像素,非得用汇编钻进系统内部才行。这一点就排除了范含想到的大部分的候选者。
  
  不过,PDP-8毕竟还有“全屏幕文本”的显示方式,可以在20行80列的显示器的任意一行一列显示任意一个字符。自带的那些字符游戏全部都是这么实现的。
  
  不需要动多少脑筋,就能下决心:俄罗斯方块。
  
  这个游戏有多经典不用说了,实现起来有多简单也不用说了,对系统配置的要求有多低更是不用说了。
  
  范含的计算机上,有许多软件都属于必备,每台机器都会率先安装。能够摆脱运行环境的困扰,“超越了系统”的还真不多,Emacs就算是一个。
  
  范含平时用的是最流行的版本:“XEmacs”,在自己的Windows,Linux,还有MacOSX上都装了Xemacs的移植版本。
  
  在Windows默认安装的“C:\\ProgramFiles\\XEmacs\\xemacs-packages\\lisp\\games\\”目录下面,有个“tetris.el”,就是用EmacsLisp写的俄罗斯方块游戏,旁边的“tetris.elc”是预编译的代码,调用的时候直接执行这个。
  
  启动Xemacs,按“Alt+x”,然后输入“tetris”,呵呵,俄罗斯方块运行了。
  
  正统的“GNUEmacs”版本中,运行的俄罗斯方块看起来就像是范含写的第一个实现,“方块”看起来是长方形的。因为范含用一个全白的字符表示一个方块,字符么,当然是长的。旋转的时候看着比较别扭,不像正方形的那么爽。
  
  即便如此,范含还是被自己的这个简陋的,拿到二十一世纪会被同行嘲笑的作品赶出了机房。
  
  蓝蓝成天霸着机器不让范含用,为了自己玩游戏。
  
  “干吗?”蓝蓝问。
  
  “让我玩会儿。”范含可怜巴巴的说。
  
  “呃……为什么这个游戏要叫‘tetris’呢?”蓝蓝顾左右而言他。
  
  “这是希腊文,意思是‘四’,一二三四的四。”范含说,“让我玩会怎么样?”
  
  “呃……没想到你还懂希腊文?”
  
  “不懂,我就知道这一个词,”范含说,“先让我玩会儿。”
  
  “呃……你怎么就偏偏知道这一个词呢?”
  
  “可能是哪里看的,也可能是别人说的,我听一耳朵就记住了。”范含说,“先让我玩会儿吧。”
  
  “呃……你怎么就这么虚荣呢?嗯?刚知道一个词就拿出来显摆?嗯?名字多难听?嗯?就不会换个好听点儿的?嗯?比如‘范含方块’什么的……”
  
  “那才难听呢,”范含说,本来“俄罗斯方块”就是俗称,因为是苏联人发明的,“先让我玩会儿,马上就还给你。”
  
  “呃……我还没说完呢!你这种不求甚解的学习态度很是不端正嘛!嗯?去!外边反省去!我先玩会儿!”蓝蓝说,“……啊对了,拿瓶Tittel进来。刚才说这么多话,我渴了!”
  
  和mm是没有道理可讲的,范含深刻的认识到了这一点。
  
  只有打着“改进游戏”的旗号才能坐在打字机前面,蓝蓝站在后面盯着,保证范含只是改而不是玩。
  
  所谓改进,就是用并排的两个字符表示一个方块,仅此而已。别的根本没有什么改进的余地。
  
  计分方式很简单,每出现一个方块组件加一分,每同时消掉n行加2的n次方分……一行两分,两行四分,三行八分,四行十六分。每消掉一百行算过一关,时间间隔会缩短一点。
  
  别的,也没什么了。
  
  俄罗斯方块,简约而不简单……
  
  -------
  
  (第捌章完)
  
  -------
  
  注:
  
  0,首先感谢各位读者的参与!答案是“俄罗斯方块”。书友“dy009”第一时间猜中,作者当时立刻给予精华以示鼓励。实际上已经暗示(明示?)了正确答案。可能由于书评滚动过快,后来的书友没有见到。
  
  记得作者好像在某一篇书评里面说过,主角会引用前人的成果,但不是像机器猫那样直接从肚兜里面掏出来。主角是个普通人,即便多了几十年见识,也不会像变魔术一样变软件出来。本书的特点就是技术细节真实,在诸位眼睛雪亮的内行书友的监督之下,玩的太邪乎了会被人扔臭鸡蛋的。
  
  实际上,作者曾经有过打算,在书中主角每写出一个程序,在现实中作者就写一个同样的程序,以保证真实性。现在看来,这么干会影响到本书的更新速度。所以,除了一些重要的构思之外,还是算了吧。
  
  作者很快就会写一篇本书的设定,可能独立成篇,也可能放在第一弓的弓尾语里面。内同主要是讲一下对于主角的约束条件,就是不想让主角在书中无所不能的意思。虽然说作者的脸皮厚度算是一绝,但是像“范含在短短n年内连续推出著名软件XX,YY,ZZ,销量均过白金,个人资产已经达到天文数字,公司市值只能用科学计数法表示……哇哈哈哈”这样的文字还是写不出来的。
  
  1,1963年,CDC公司推出了CDC6600,是当时最强大的计算机,售价却只有750万美元。1969年推出改进型CDC7600,公认是第一台超级计算机,售价同样只有750万美元。由于CDC公司的这两种重头产品均为巨型机天才塞缪尔·克雷(SeymourCray)设计,整个六十年代,IBM在高端市场只能退避三舍。1972年克雷离开CDC,建立自己的公司,只生产巨型机,同样是世界顶尖水平,IBM所不能及也。
  
  2,关于PDP-8的体系机构,作者会单独写一篇简单的介绍,放在“作品相关”卷中,这里就不占据篇幅了。以后遇到相同的情况也会这么办:正文的注释里面用春秋笔法,只要不影响读者阅读文章就行了,真正的技术注释则单独成篇。
  
  现在搞嵌入式开发的朋友们都听说过PIC芯片吧,能耗超低,就是——只有一个累加器。稍微复杂点的功能就会写的头大如斗,呵呵。PDP-8也是只有一个累加器,程序计数器是用来存放指令的,主角想拿汇编干点什么也是头大如斗,不过比起用PIC来要好多了,毕竟指令多了不少。
  
  3,DEC火起来之后,像许多新兴公司那样遇到了管理瓶颈,一段时间非常混乱。总瓢把子奥尔森决定开始改革,推行了一种“矩阵理论”的管理模式:每条生产线由一名经理负责,开发、销售、盈亏都是经理的事;所有生产线共享公司的销售渠道、生产资源等等。改革的春风吹到之处,DEC一片欣欣向荣。
  
  作者不知道当时PDP-8的经理是谁,也不想知道。本书不是网游类型,不需要满世界找活人,必须满足条件剧情才出现。今后的创作也尽量不涉及历史人物,一旦涉及了也尽量不改变其命运。毕竟现在看起来,IT发展史就是这么回事:大家自由竞争,看谁少犯错误了……随便什么人抖起来都有可能。
  
  4,俄罗斯方块是苏联人阿列克谢·帕基特诺夫(AlexeyPazhitnov)于1985年6月在莫斯科科学计算机中心工作的时候发明的,当时率先在一台Electronica60计算机上实现的,后来由瓦丁·格拉西莫夫(VadimGerasimov)移植到PC上……这些大家可能都知道。
  
  所谓Electronica60计算机是苏联制造的,其实就是DECPDP-11的克隆机种……呵呵,这个知道的人不太多吧……
『加入书签,方便阅读』
热门推荐
极品全能学生 凌天战尊 御用兵王 帝霸 开局奖励一亿条命 大融合系统 冷情帝少,轻轻亲 妖龙古帝 宠妃难为:皇上,娘娘今晚不侍寝 仙王的日常生活