书名:我用微软改变世界

第六章 2+2=4!(5)

海棠书屋备用网站
    在编写我们自己的basic程序时,我们从以往的设计中借鉴了一些零零碎碎的经验。

    这是软件界一个不变的传统。语言在发展,思想在融合,在计算机技术领域,我们都是站在别人的肩膀上。

    几个星期的时间里,我们一直沉浸在工作之中。就目前所知,我们是在编写首个在微处理器上运行的高级程序语言。

    有时候我们也在怀疑麻省理工学院和斯坦福大学里是不是也有人在做这个,并且将会把我们击败,但很快我们的注意力就从这上面转回编程中来。

    我们能行吗?我们能把程序做完、完成与mits的协议吗?是的,我们能!

    我们有活力、有技术,我们正在不顾一切地抓住时机!我们全天不停地忙碌,到了周末就两班倒。

    比尔基本上不去上课了;蒙特则在1点钟的法语课上睡过头;我也不顾在霍尼韦尔的工作了,只是在下午拖着身子去办公室,在那里待到5点,然后回艾肯,一直干到凌晨3点左右,接着我把文件保存,睡上五六个小时,然后继续。

    我们休息的时候会去

    “哈佛比萨屋”,或去锯南町一家类似于垂德维克餐厅的当地饭馆吃饭。

    我最爱吃他们的蛋卷和蝶形烹虾。在深夜编程的时候,我有时会撞上比尔睡在终端机前。

    他正打着一行编码,接着身子渐渐向前倾倒,直到鼻子碰上键盘。睡上一两个小时以后,他睁开眼睛,斜着眼看看屏幕,眨巴眨巴眼,再从他刚刚停下的地方继续下去--超凡的专注力。

    我们3个人在如此紧密的工作过程中渐渐培养了深厚的友情。我们的程序是在多用户的tops-10操作系统上运行的,所以我们可$淫荡。

    我们各自拿着记事本走到房间角落里在上面涂写,比赛看谁能把一个子程序精简到最少的指令。

    接着一个人会说:“我用9行就行。”另一个人回应道:“我用5行就行。”曾有一度,在蒙特把他的浮点数学程序铺在地上之后,比尔就趴在这一长条折叠记录纸的旁边,检查是否还能再减少一点。

    我们明白,每省下一个字节,就能为用户多留一点空间添加他们自己的应用。

    (今天我们生活在一个与那时不同的世界里,一部普通款的iphone手机就有16g的内存--是我们给

    “牵牛星”编写basic程序时存储空间的400万倍。手写编码也基本上变成了失传的技艺,人们仍在试着让程序更高效便捷,但他们不再在乎一个字节甚至是一兆字节的增减。

    )几年之后,当我和蒙特共同回忆起这段往事的时候,他把编程比做创作。

    我想,就我们给

    “牵牛星”编写basic程序来看,这是个很恰当的比喻。编程开始时,我们先把情节勾勒出来--编程的方案设计阶段;接下来是把大的问题分成独立的组件,从几百个子程序到它们的相关数据结构,最后还得再合起来,如果有一行代码不合适,我们就得重新编辑草稿。

    整个过程的核心是,你得一边从整体上把握程序的架构,另一边为每一个小的子程序设计出细节,在总体和细枝末节之间来回往返。

    这是我曾面对的最苛求、最刺激的脑力挑战。

    在编写我们自己的basic程序时,我们从以往的设计中借鉴了一些零零碎碎的经验。

    这是软件界一个不变的传统。语言在发展,思想在融合,在计算机技术领域,我们都是站在别人的肩膀上。

    几个星期的时间里,我们一直沉浸在工作之中。就目前所知,我们是在编写首个在微处理器上运行的高级程序语言。

    有时候我们也在怀疑麻省理工学院和斯坦福大学里是不是也有人在做这个,并且将会把我们击败,但很快我们的注意力就从这上面转回编程中来。

    我们能行吗?我们能把程序做完、完成与mits的协议吗?是的,我们能!

    我们有活力、有技术,我们正在不顾一切地抓住时机!我们全天不停地忙碌,到了周末就两班倒。

    比尔基本上不去上课了;蒙特则在1点钟的法语课上睡过头;我也不顾在霍尼韦尔的工作了,只是在下午拖着身子去办公室,在那里待到5点,然后回艾肯,一直干到凌晨3点左右,接着我把文件保存,睡上五六个小时,然后继续。

    我们休息的时候会去

    “哈佛比萨屋”,或去锯南町一家类似于垂德维克餐厅的当地饭馆吃饭。

    我最爱吃他们的蛋卷和蝶形烹虾。在深夜编程的时候,我有时会撞上比尔睡在终端机前。

    他正打着一行编码,接着身子渐渐向前倾倒,直到鼻子碰上键盘。睡上一两个小时以后,他睁开眼睛,斜着眼看看屏幕,眨巴眨巴眼,再从他刚刚停下的地方继续下去--超凡的专注力。

    我们3个人在如此紧密的工作过程中渐渐培养了深厚的友情。我们的程序是在多用户的tops-10操作系统上运行的,所以我们可$淫荡。

    我们各自拿着记事本走到房间角落里在上面涂写,比赛看谁能把一个子程序精简到最少的指令。

    接着一个人会说:“我用9行就行。”另一个人回应道:“我用5行就行。”曾有一度,在蒙特把他的浮点数学程序铺在地上之后,比尔就趴在这一长条折叠记录纸的旁边,检查是否还能再减少一点。

    我们明白,每省下一个字节,就能为用户多留一点空间添加他们自己的应用。

    (今天我们生活在一个与那时不同的世界里,一部普通款的iphone手机就有16g的内存--是我们给

    “牵牛星”编写basic程序时存储空间的400万倍。手写编码也基本上变成了失传的技艺,人们仍在试着让程序更高效便捷,但他们不再在乎一个字节甚至是一兆字节的增减。

    )几年之后,当我和蒙特共同回忆起这段往事的时候,他把编程比做创作。

    我想,就我们给

    “牵牛星”编写basic程序来看,这是个很恰当的比喻。编程开始时,我们先把情节勾勒出来--编程的方案设计阶段;接下来是把大的问题分成独立的组件,从几百个子程序到它们的相关数据结构,最后还得再合起来,如果有一行代码不合适,我们就得重新编辑草稿。

    整个过程的核心是,你得一边从整体上把握程序的架构,另一边为每一个小的子程序设计出细节,在总体和细枝末节之间来回往返。

    这是我曾面对的最苛求、最刺激的脑力挑战。

    </p>