史蒂夫·沃兹尼亚克(Steve Wozniak)最出名的地方在于,他与乔布斯联合创立了苹果电脑公司(Apple Computer)。该公司的麦金塔电脑(Macintosh)在当时大受欢迎,并因此在塑造个人电脑行业方面发挥了重要作用。由于他在苹果电脑取得的成就,沃兹尼亚克在1985年荣获了美国总统颁发的国家技术奖(National Medal of Technology),这是美国技术创新领域的顶尖人物能够获得的最高国家荣誉。
2000年,沃兹尼亚克入选了美国发明家名人堂(Inventors Hall of Fame),荣获了著名的亨氏技术奖(Heinz Award for Technology)。他创立了电子前哨基金会(Electronic Frontier Foundation),同时还是创新科技博物馆(Tech Museum)、硅谷芭蕾舞团(Silicon Valley Ballet)和圣何塞儿童探索博物馆(Children s Discovery Museum of San Jose)的创始赞助者。此外,他还是《沃兹传:与苹果一起疯狂》(iWoz: From Computer Geek to Cult Icon)一书的作者。
在此次访谈中,他谈到了自己事业中最大的挑战;平常一天是如何度过;对已故的史蒂夫·乔布斯最佩服的地方;当今科技行业最重要的趋势;以及给年轻人的最首要的职业建议。
回首职业生涯,你觉得自己遇到过的最严峻的三大挑战是哪些?你是怎么克服难关的?
一是制造一台彩屏电脑,而且这台电脑同时要是一台娱乐机器。当时,色彩显示还没有实现数字化。没有任何一本书上给出了数字公式。要是用当时的现有方法显色,成本会非常高昂。于是我想出了一个主意,可以用一块1美元的数字芯片做到这一点,我知道模拟电视的芯片可以将信号转化成颜色。
二是给苹果二号电脑制造一个PAL制式的版本,将彩色信号变为PAL制式。我采用了视频计时(video timing)这类参数。这在NTSC制式下是没有问题的,但是在PAL制式下,每行扫描线的彩色信号都会跟上一行倒相。这就好比将奇数行的信号“反相”,或者及时将它的彩色波形频率反转180度。这一点我做到了。但是在苹果二号电脑的高分辨率模式下,显色从很大程度上讲是偶然的,它取决于某个点什么时候出现在扫描线上。如果它在奇数行的奇数像素位置,那么它就是紫色,反之就是绿色。但是行号和像素位置又会把这个反转过来。于是我想出了一个办法,就是将这个点移动半个像素的位置,这样就可以多显示两种颜色。
当时我确信,根据数学和物理学规律、以及PAL制式的定义,这种显色方法是不会成功的,尤其是在先进的6色模式下。偶数行会被奇数行抵消,到时候你会看到的,就只有绿色和紫色混合在一起的样子。但是出于某种原因,这种方法成功了,我也不知道是为什么。我到现在都还搞不明白这种方法为什么行得通,因为按照我自己的分析,它应该行不通的才对。
三是用BASIC语言为我的6502微处理器编写程序。当时我还没有上过编程语言开发课,只是看了点相关的书籍。我还从来没有用BASIC语言编写过程序。但是我感觉得到这个趋势,我可以看出,BASIC对于在家里用电脑的人将会很重要,书上介绍的电脑游戏就是用BASIC编写的。这是因为很多学校都有BASIC终端,这些终端连接了分时服务。我从学习BASIC语言开始起步。我在工作中使用了一本HP手册。我以为所有的BASIC都是一样的,但是没有想到,HP BASIC其实跟比尔·盖茨编写的那个BASCI、以及电脑游戏中使用的BASIC很不一样。
我接着绞尽脑汁地琢磨着怎样组织我的语言。我对语法图的知识有足够的了解,于是创建了一份语法图,来决定什么样的指令和元素以什么样的顺序被接受。然后我想到,我可以通过这张语法图来追踪输入线中的每一个符号,寻找好的匹配(或者错误)。我对运算符和操作数比较了解,因为我们的惠普计算器正是使用逆波兰表达式(RPN,全称Reverse Polish Notation)。通过在纸上测试概念,我想到了使用 noun 堆栈(像数字和变量名这样的运算符)和 verb 堆栈(语法图中的所有其他元素)。当一个语句被执行时,verbs的应用顺序和我们组织计算器公式解决方案的顺序是一样的。每一个 verb 都有一个小例程,知道任何需要的 nouns 在noun堆栈中处于什么位置。这听起来很幼稚,但是它很有序,结构很好,易于在短时间内完成。每一个运算符都有自己的小例程,由机器语言编写。我的确是把浮点运算从语法图中剔除了,这只是为了节省一个月的时间, 让我成为在6502微处理器上第一个编写出BASIC的人,这样一来,我就可以像曾经的比尔·盖茨一样闯出一点名气了。