Michael Abrash‘s black book之前言

12 篇文章 0 订阅

forword--前言

I got my start programming on Apple II computers at school, and almost all of my early work was on the Apple platform. After graduating, it quickly became obvious that I was going to have trouble paying my rent working in the Apple II market in the late eighties, so I was forced to make a very rapid move into the Intel PC environment.

我在学校时开始在苹果II上编程,几乎所有的我早期的工作都是基于苹果平台。毕业以后,我很快发现80年代后期工作在苹果II市场上我将付不起房租。

What I was able to pick up over several years on the Apple, I needed  to learn in the space of a few months on the PC.

我数年在苹果机上学到的知识,我只需要在PC机上数月就能学到。

The biggest benefit to me of actually making money as a programmer was the ability to buy all the books and magazines I wanted. I bought a lot. I was in territory that I new almost nothing about, so I read everything that I could get my hands on. Feature articles, editorials, even advertisements held information for me to assimilate(吸收).

做为一个程序员挣钱的最大好处是有能力买我想要的所有书籍和杂志。我买了许多。我处于一个我几乎一无所知的领域,所以我读了我所能找到的所有东西。包括专题文档,社论,甚至广告我都可以吸收到信息。--- 努力程度令人敬佩

John Romero clued(为..提供线索) me in early to the articles by Michael Abrash.  The good stuff. Graphics hardware. Code optimization. Knowledge and wisdom for the aspiring developer. They were even fun to read. For a long time, my personal quest was to find a copy of Michael's first book, Zen of Assembly Language. I looked in every bookstore I visited, but I never did find it. I made do with articles I could dig up.

早些时候,罗梅洛给我提供了Absrash的文章。很好的资料:图形硬件、代码优化、雄心勃勃的开发者所需的知识和智慧。它们读起来也很有趣。很长时间,我的个人诉求是找到Michael的第一本书,<Zen of Assembly Language> 我每到一个书店都寻找这本书,但一直没有找到。只好尽我所能挖掘他的文章。

I learned the dark secrets of the EGA video controller there, and developed a few neat(优雅的) tricks of my own. Some of those tricks became the basis for the Commander Keen series of games,which launched id Software.

从文章中我学到了EGA适配控制器不为人知的秘密,并且开发出几个优雅的技巧。一些技巧变成了<指挥官基恩>系列游戏的基础,这个游戏系列启动了ID软件公司。--- 好像是滚屏技术, 九十年代出很牛

A year or two later, after Wolfenstein-3D, I bumped into(无意中碰到) Michael (in a virtual sense) for the first time. I was looking around on M&T Online, a BBS run by the Dr. Dobb's publishers before the Internet explosion, when I saw some posts from the man himeself. We traded email, and for a couple months we played tag-team gurus on the graphics forum before Doom's development took over my life.

一两年后,开发完<狼穴-3D>游戏。 我无意中在网上碰到Michael。我在M&T上漫游,这是一个Dr.Dobb出版社在Internet前运转的一个BBS,我看到了他发的一些帖子。我们交互了email,接下来的两个月中我们在图形论坛中扮演领袖二人组的角色,直到Doom开发占据我所有时间。

A friend of Michael's at his new job put us back in touch with each other after Doom began to make its impact, and I finally got a chance to meet up with him in person.

在Doom开始产生影响后,Michael的一个朋友在他的新工作中(在ID工作?)将我们重新建立了联系。最终我有机会和他见面。

I talked myself hoarse(嘶哑的) that day, explaining all the ins and outs of Doom to Michael and an interested group of his coworkers, I would get an email from Michael asking for an elaboration(详细描述) on one of my points, or discussing an aspect of the future of graphics.

那天我说的嗓子都哑了,我想Michael和他有趣的同事们讲述了Doom的一切。从那以后,我经常受到Michael的邮件,询问我一个观点的细节,或者讨论图形学的一些方面的未来。

Eventually, I popped the question -- I offered hime a job at id. "Just think: no reporting to anyone, an opportunity to code all day, starting with a clean sheet of paper. A chance to do the right thing as a programmer." It didn't work. I kept at it though, and about a year later I finally convinced(说服) him to come down and take a look at id. I was working on Quake.

最终,我抛出一个问题:我给他一个在ID工作的offer。 “只要思考,不用向任何人汇报,一个全天编码的机会,从一张白纸开始起步。作为程序员做正确的事的机会”。他没有答应。我坚持,大约一年后,我最终说服他来ID看看。我正在研究Quake。

Going from Doom to Quake was a tremendous step. I knew where I wanted to end up, but I wasn't at all clear what the steps were to get there. I was trying a huge number of approaches, and even the failures were teaching me a lot. My enthusiasm(热情) must have been contagious(感染的), because he took the job.

从Doom到Quake是巨大的一步。我知道我要到哪里,但不知道如果到达。我试过很多很多方法,即使是错误的方法也教会我很多。我的热情感染了他,他接受了这个工作。

Much heroic programming ensued(发生). Several hundred thousand lines of code were written, And rewritten, And rewriteen, And rewritten.

随后启动史诗般的编程,成百上千行代码被写出、重写、重写、再重写---很激动人心

In hindsight(后见之明), I have plenty of regrets(遗憾) about various aspects of Quake, but it is a rare person that doesn't freely acknowledge the technical triumph(胜利) of it. We nailed it. Sure, a year from now I will have probably found a new perspective that will make me cringe(畏缩) at the clunkiness(沉闷) of some part of Quake, but at the moment it still looks pretty damn good to me.

从现在向前看,我在Quake的很多方面有遗憾,但这只是一个极度杰出要求的人不愿承认他的技术胜利而已。的确,一年前我会发现在Quake的一些部分畏缩沉闷,但是在那时它看上去非常好。

I was very happy to have Michael describe much of the Quake technology in his ongoing magazine articles. We  learned a lot, and I hope we managed to teach a bit.

我很高兴Machael在他的杂志文章中介绍了许多Quake技术。我们学到了很多,我希望我们努力交给别人一些。

When a non-programmer hears about Michael's articles or the source code I have released, I usually get a stunned(不知所措) "WTF would you do that for ???" look.

当一些非程序员听说Michael的文章或者我放出去的源码,我通常获得一些不知所措的面孔: 你这是为了啥?

They don't get it.

他们是不会明白的 -- 呵呵,开源与ID 公司的商业利益冲突了

Programming is not a zero-sum game. Teaching something to a fellow programmer doesn't take it away from you. I'm happy to share what I can, because I'm in it for the love of programming. The Ferraris are just gravy, honest!

程不是一个零和游戏。交给别人一些不会是你失去啥。我乐于分享,因为我乐在其中。法拉利只是调味品,重要的是真诚

This book contains many of the original articles that helped launch my programming career. I hope my contribution to the contents of the later articles can provide similar stepping stones for others.

这本书包括很多开启我编程生涯的基础文章。我希望我贡献的内容能够同样起到铺路石的作用。

John Carmack
id Software.

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值