第二卷
第四章 上了賊船
范含以前確實寫過編譯器,還寫過幾個解釋器,以及一大堆字元串分析實用程序。
不過,書友的意見並沒有錯,尤其是對於最近的日本人而言。
作為一個有著良好職業道德的程序員,范含終於忍受不住良心的譴責了。
藍藍說是,並且承認,自己確實對現實做了一點藝術加工。藝術嘛,總是允許一定程度的誇張的。
有些獎勵的分數太高,以至於遊戲成了前面隨意亂堆比拼速度,看誰的特殊方塊先出來。
注1:在漢語裏面,對於「神」、「仙」、「聖」、「賢」的區分是很清楚的。
總之,在「沒有正當理由」的前提下,拒絕仙童殊為不智。
玩笑開完,彼此都覺得沒什麼意思,寒暄一會兒日本人就告辭了。
范含用的差不多都是自由的版本:「Flex」和「Bison」,都是GNU項目的一部分。只有很早的時候用過一個名叫「Tply」的軟體包。顧名思義,這個「Tply」就是用於「Turbo Pascal」的「Lex」和「Yacc」,用Pascal語言做後端,所以非常好用。當年的DOS環境下,沒有一種開發環境能比Turbo Pascal編譯速度更快,生成代碼效率更高的了,包括各種C編譯器在內。
右邊的門框上掛著一塊木牌,上面用顏體楷書規規矩矩地寫著「我孫子進」。
大約一個禮拜吧,差不多都搞定了。
再說了,誰知道將來會怎麼樣?自己已經改變了歷史,就不興讓別人改?
這個變種是范含玩得最多的方塊類遊戲,當年在宿舍裏面真是廢寢忘食,樂此不疲,滿樓道找人對戰。
這個模擬器很早就已經停止開發了,傳說是幾個開發者被舉報,在警方上門逮捕的時候驚慌失措,失手誤殺了一名警察。後來在法庭上所有人都承諾今後不再從事任何模擬器相關的工作。
最初的產量並不大,命名為「Squares-0」到「Squares-9」的十種機型都僅僅造了一百台,在分處東西海岸的波士頓和洛杉磯推廣。
DEC的人負責寫具體的遊戲代碼,做投幣箱,機殼等等。兩家半導體公司和DEC協商之後,就是負責提供晶元,有競爭就是有壓力,比起糊弄范含的那些東西而言,產品質量上了一個台階。
然後,一份軟體發展史上重要文件誕生了。
我國南方人學習普通話有個普通的困難,就是區分「l」和「n」。在許多南部方言中,這兩個音素就佔據了一個音位,平時一向不作處理。所以到了學習普通話的場合,必須區分開的時候,一時難以習慣。但是經過訓練之後,往往效果不錯。這和日本人的「f」、「h」是一樣的道理。既然涉及了國人,我想即便是極少數種族主義者也不得不承認,這種「口吃」現象與民族無關。
范含不是磨磨唧唧的主兒,奧爾森也是個痛快人,事情很快就定下來了。
同樣,本章里主角讓日本人說繞口令,僅僅是表達對於日本人念不好自己的名字的不滿而已。
本來FEEE是想根據用戶的反饋意見調整生產計劃,結果發現所謂反饋意見一點用也沒有,十種機型總分是一千分。電子娛樂設備對於現在的美國人,尤其是年輕人來說,太……那啥了。
「聽說按照日本人的習慣,門口要掛上名字的。」范含解釋,「一塊木牌,豎著寫上名字。」
見到日本人進來,范含連忙站起,滿臉堆笑地迎了上去。
「只是一般好。」
日本人還是沒動。
「我飛過來的目的就是。」奧爾森說,「找你合夥。咱們一起干這個買賣。」
除了范含自己,別人都忙得團團轉,24×7的連續生產。
扯遠了,扯遠了。總之,既然「神經」這個詞人家不用,那就我用。
少了Callus確實是非常遺憾,不過好在現在我們還有「MAME」,包羅萬象的街機模擬器,一個從項目管理到法律支持都非常完美的開源項目。……有興趣的朋友可以自己去找。
作為新公司,這個規模算在美國也算是相當大了。
實際上,范含當年說的原話是:「要有C……那該多好啊!」
「我看了一下,如果我們自己做,可能成本會更低一些。」奧爾森說,「不需要非得把零件包出去。」
見面先掏名片,互相交換,這是規矩。
注4:關於Lex和Yacc,有興趣的朋友可以去參考一本O'Reilly的書《Lex & Yacc,Second Edition》,奧萊利中國公司已經推出了中文版。
另外,生怕奧爾森沒有領會到這個劃時代思想的重要意義。信中特別展開說明了一番。
這麼說有點過分,因為調用遊戲處理單元的代碼還存放在計算機上面。
四種不同顏色的方塊,兩個兩個的一起出現。每當相同顏色方塊相連的時候,就會合併成為一大塊單連通區域。每種顏色分為普通方塊和帶星號的特殊方塊兩種。每個連通區域中出現一個特殊方塊就會變得晶瑩閃亮,再有一個特殊方塊碰上,就會爆炸消失。因此而落下的其他方塊會重新合併,如果條件允許,就會繼續爆炸,如此可以形成「連擊」。同時爆炸的連通區域越大,連擊次數越多,分數就越高。如果是在對戰當中,另一方的區域就會落下許多灰色的方塊,這些灰色方塊不能合併,也不能直接爆炸,只有旁邊的有色方塊爆炸才能同時消失。
「范!含!」范含又重複一遍。
實際上,現在的所謂「遊戲機」僅僅是PDP-8的三台外部設備而已和*圖*書。一個搖桿控制器(可帶兩個搖桿)負責接收輸入,一個處理單元負責計算,一個視頻設備負責在電視機上面顯示遊戲的進程。
現在拿過來以其人之道還治其人之身,萬一日本人也照貓畫虎,開口閉口都是「我孫子桑」,「我孫子樣」,「我孫子殿」之類的,豈不是弄巧成拙?還是先把這條路堵死再說。
修改的時候就頭疼了,全部代碼都是用彙編寫的,還經過了狠狠的優化。
「咦?」范含說,「應該是『范』先生吧?我叫范含。」
所謂「聖」,就算是很高的評價了。孔子也僅僅被稱為「聖人」,後來的那些「聖人」也基本上是有資格配享孔廟同吃冷豬肉的人。
范含沒說話,仔細琢磨了一下,日本人確實不是故意的。
到今天共有七十多家公司是直接或者間接從仙童公司分裂出來,或是其前僱員所創辦的。1969年,森納瓦舉行了一次半導體頭面人物的會議,與會的400人中間,只有24個人沒在仙童公司工作過。
嚴式觀點對於音素中任意一點微小的區別都十分在意。用這種觀點看來,日語標準音的[u],實際上是咧著嘴的,音標應該寫成「倒著的m」。嚴式觀點在本世紀初佔據上風。
范含開始懷念二十一世紀那些幸福的程序員們。
「啊嘞?」日本人很奇怪,「外面的名牌不是寫著『阿比靠』么?」
一些簡單的變種可以公用大部分代碼,有的板子上面就是這樣,帶了十幾個小遊戲,可以通過一個簡單的菜單進行選擇。
我用C寫底層的系統代碼,用其他語言寫應用代碼。有系統,有應用,這是頭一年。
只不過,這些東西都不是手寫的,或者說,除了為了應用而不得不寫的一堆例行公事之外,范含並沒有做一點實質上的工作。
美國人最講究實際,說得不好聽點,就是「唯利是圖」。只要有好處,沒有不幹的,什麼歷史恩怨都可以放下來。自己過得好就成了,別人過得好也罷壞也罷,都隨他去了。
真正持反對意見的都是DEC自己的人。他們覺得自己這麼一家正經的公司,搞這些不登大雅之堂的東西太失身份。總之,現在不是創業的階段了,混出個人模狗樣之後,往往就開始擺起譜了。
除了「Fu」之外,作者再舉另一個例子。
「開發成本比較高,但是他們說如果量產的話,會便宜很多。」范含說,「這一套的報價估計在四百美元左右,不包括電視機。」
遺憾的是,到了目前這種地步,這些東西根本就派不上用場。交叉編譯就不用說了,無論找到哪裡也沒有C,除了憑空寫,沒有「移植」的可能。單機「自舉」也不成,那是要有前提的,本來無一物,如何「舉起」?
這就是范含來到美國之後的第一封正式信件:《致奧爾森》。
奧爾森回到DEC之後,發現說服不了公司董事會。
蟲子應該出現在開闊地帶,周圍還不能同樣顏色的藥片聚集,否則一出現就會消失。
這時候就看出股份制公司的好處了,另外幾家股東們「慷慨的」伸出了援助之手,迅速的包辦了場所和人員,幫忙處理業務。
建國之初,在大力推廣普通話的背景之下,有關部門印了一本小冊子,專門針對各地方言的特點,推出了特別編配的繞口令。說不好繞口令很正常,因為說不好才會去說呢,就像音樂課上的發音練習一樣,不存在任何嘲笑的意義。
然後范含和奧爾森開始了遊戲對戰,沒過一會藍藍就代替了范含。
處理器結構簡單,內存很小,經過彙編的機器指令運行在硬體上。
「您還是稱呼我的本名吧。」范含一指名片,「喏,就是上面寫的這個。」
確實有個叫「我孫子」的日本人,到了中國就把名字改為「進」,這個名字很常見,不算什麼。然後就在門口掛了一塊名牌,這個習慣很常見,不算什麼。當然了,國人很怒,所以所有的書面口頭均稱呼其為「我孫子」,就是不提名字。這個故事在日語專業的圈子內當成笑話講,很快就流傳到了圈外,范含在學校裏面就聽說了。
「這您就太過分了。」日本人仍然恭恭敬敬地說,「我還是理解這個名字的中文意義的。」
信中指出:我們當前的計算機行業正處於軟體工程初級階段,當前的主要矛盾就是計算機用戶日益增長的軟體需求和開發人員落後的生產力之間的矛盾。這個主要矛盾貫穿于整個軟體工程初級階段和軟體開發的各個方面。
所謂「賢」,基本上德高望重的人都有資格當。
奧爾森在文章裏面大肆嘲諷IBM為System 360大型機所開發操作系統的過程,范含在信中舉的例子被誇張到了不知道什麼程度。像「焦油坑」之類的比喻都被拿來大肆炒作,IBM在奧爾森的筆下成了行動粗笨,頭腦簡單,反應遲鈍,蹲在焦油坑旁邊等死的史前怪獸(注5)。
一般來說,任何一個當代學生,在學習C語言的時候,老師都會諄諄教導:goto不能亂用啊!並且許多教材和參考書都直截了當的規定了其用法:僅用於跳出深層嵌套循環或者跳到函數末尾等等。
日語裏面的「f」和「h」就是這樣,說「呼呼」和「夫夫」對於日本人來說是一回事。日本人並不是不能區分這兩個音素,而是不需要去區分。今天,在絕大多數人都不是種族主義者的今天,應該很容易就理解,日本人分不清「f」和「h」的區別不是生理的原因,而是心理的原因。
訂單多得讓另外幾方忙不過來www•hetubook•com.com,范含倒沒什麼事,又閑下來了。
很快就不是了。
是進還是不進?這是個問題。
後來有人問藍藍,說你寫的訪談錄裏面范含講的「要有C」!這句話顯得太狂了。
「這麼搞下去的話,搞到最後弄不好就是第二個IBM。」范含聽說以後評價道,「像IBM那樣,死要面子活受罪。」
「明天有個日本人來。」藍藍對范含說。
不像華人,記仇記了一輩子不夠,還得教育下一代把仇恨延續下去。只要仇人過不好就很高興,自己同樣過得不好甚至哪怕過得更不好,也心甘情願在所不惜。自己不和也不讓別人和,這種典型的「麻將思維」往往是被各個擊破的根源之所在。
「對,但不是『范含』,寫的是我的日本名字。」范含說,「也不用掛在大門口,就掛在我的書房門口就行了,等人一走就摘下來砸了。」
關於「編譯原理」,以前是計算機專業的必修課,作者是數學專業,沒上過。不過聽說後來的科班也不上了,不光國內,美國也是這樣。這說明當前的編譯技術已經成熟,成了專門化的學問(就像數論一樣),需要研究的人去研究就成了。另一方面也說明,編譯器輔助工具的水平,已經到了傻瓜化的地步,任何需要的人只要看看幫助,就能快速產生正常工作的分析代碼。
信中指出:所謂軟體工程理論,就是堅持用科學、客觀的方法觀察業界,對業界其他計算機公司的成敗、發達公司和發展中公司經營的態勢和矛盾進行正確分析,做出明智判斷。
Lex(Lexical Analyzer Generator,詞法分析生成器)是個產生處理詞法分析的代碼的工具,而Yacc(Yet Another Compiler Compiler,另一個編譯器的編譯器)是個生成編譯程序的工具。
「如果僅僅是為了這個目的,恐怕用不著搞這麼大場面,也不會特意地告訴我吧。」
一不留神,上了賊船,再想下來可就來不行了。
「是吧……」范含說,「其實您肯定也知道了,我不僅僅打算自己藏在家裡用,還要賣出去。」
本來其他三方都打算把幾十個方塊類遊戲分開,同時推出不同的板子,都能對應同一種機型。作為過來人的范含堅決反對,這麼干僅僅是給自己添麻煩而已。
范含還是有些猶豫,畢竟自己知道仙童不久之後就會土崩瓦解,是不是有可能連累到自己確實很難說。
※※※
因為這個原因,范含甚至考慮將這個關鍵字改為「escapeto」,明顯的表達其用法。
這種推廣實際上是「賠本賺吆喝」,開始的時候僱人上門免費安裝,說好了一個月後如果感興趣的話,再付貨款……一千美元,不算彩色電視機的成本。
奧爾森建議范含將這兩封信公開發表,范含同意了,並且授權奧爾森可以任意修改,以適合媒體所需稿件的形式。
對於仙童公司的要求,范含覺得是意料之外,情理之中。
結果兩邊都遇到了麻煩。
「你也打算做一塊?寫上『范含』倆字?」
「到公司去不就得了?」范含現在不想和日本人打交道。
「那好吧。」范含說,「我說一句繞口令,您重複一遍。」
活人總不會被尿憋死,自己寫不出來不見的別人也寫不出來。
范含很快整理出來C語言的語法要點,除去了標準庫和預編譯指令的部分。
范含知道,1966年開了個會,對於goto語句帶來的危害已經討論得很清楚了,就是還沒有得到一個清晰的結論而已。所以,范含在這封信裏面,乾脆利索地提出了「軟體工程」得說法。
「上當了,操!」IBM某高級官員退休后就此事接受採訪的時候說,「那會兒我們都以為丫就是一作家!」
「專門學過一段時間,不是太流利,讓您見笑了。」日本人恭恭敬敬地說,「那麼以後我就稱呼您『我孫子』先生了。」
我說:要有C!就有了C。
本來范含覺得,像奧爾森這樣內行人,處理這些問題應當極為妥當。沒想到,這個感覺成了范含人生中少有的幾次判斷失誤之一。
范含大剌剌地坐在正中的太師椅上,這把椅子還是特意從唐人街搞來的。
所以,原則上同意了,細節肯定還得和奧爾森商量。
還有一種,就是「街霸方塊」,范含在上面也花了不少時間,和「魔法方塊」大同小異。
藍藍眥著牙,拚命忍住才沒笑出聲來。
信里把「新型編程語言」的優點說了個遍,缺點卻一字不提。對於這個年代純粹靠個人發揮的程序員們來說,鳥槍換炮之後,強勢放大了若干倍那是肯定的,缺陷會不會也放大了若干倍,甚至更多?
DEC董事會裡面的大部分董事都是AR&D公司的代表,這些人一向都好說話。本來奧爾森幾乎白手起家,搞到現在DEC這麼聲勢浩大,AR&D極為滿意。可以說AR&D幾乎就沒怎麼干預過DEC的決策,他們已經習慣於贊同奧爾森的意見了。
類似的遊戲變種還有許多。
另外,更進一步的理論也已經產生,就是忽略音素的差別,提出了「音位」的觀點。所謂音位,就是在一種語音體系裡面的位置,這個位置可能由於方言或歷史的原因,由幾種相近甚至截然不同的音素共同佔據。
但是范含也從來沒起過左右逢源、見風使舵、兩邊討好,以便於從中牟利之類的想法。
奧爾森實在說服不了同事們,最後決定自己出錢收購他們預計在FEEE中佔有的股份hetubook•com.com。這麼一來,DEC的份額改為由奧爾森個人和其母公司AR&D持有。仙童和德州儀器的份額是范含和DEC各退一步,讓出來的。
范含見報大驚,這下子可被推到了IBM的對立面去了。
范含立馬把門口牌子摘下來砸了,這種東西是雙刃劍。
「賣給誰?」
充滿了異想天開的仙童是六十年代半導體行業的一道風景線。所以,決定參与這個新興的「電子娛樂」行業,在仙童內部,並不是一個多麼困難的決定。
許多更複雜的變種,同時也是更好玩的遊戲,只能單獨提供。
所謂「神」,就是「子不語怪力亂神」的「神」,通常是擁有超自然能力的傢伙。
「這樣啊……」范含想了一會,「也行。不過我得做點準備。」
剩下的事情讓律師們去折騰吧。
日本人走到范含書房的門口,猶豫了一下。
「請進啊!」范含又喊。
日本人的名片上寫著「蜷川新佑衛門」,一個什麼會社的什麼課長。
——————————
范含寄出信之後,卻一直不放心。
不過這個理由實在是太蒼白無力了,難道自己有膽量跟人家說,「吾觀爾等印堂發暗,雙目無神,將來必定破產倒閉!」
奧爾森覽信大喜,傳示麾下諸經理,遂抽調精兵強將試之。
新生的FEEE開始了第一次融資擴股,范含和DEC各佔一半。
起初,我買了台PDP-8。
「這隻是禮尚往來嘛。」范含也是微笑著回答,「聽說以前有一位日本朋友在中國的時候就是故意改成這個名字的嘛。」
「你有日本名字么?」藍藍很奇怪。
另外,仙童本來就是半導體行業頂呱呱的公司,到現在也還沒有顯露出「敗象」,自己「深謀遠慮」,就這麼一句話堵死……會不會有後遺症啊?
信中羅列了范含設計新型編程語言的具體示例:就是照抄Ansi C的標準罷了。
※※※
再說了,吹牛又不是很難的事,只要有膽量,盡可以從傳統宗教手中爭奪信徒。別看有些「神」已經「全知全能」,沒法再厲害了。只要說,再厲害也不過是在這個層次裏面充大個,高層次的傢伙看來,丫也不過是凡人罷了……不就得了?
歷史上的仙童,本來就是個大雜燴,什麼樣的人都有,什麼樣的想法都有。正因為如此,仙童公司作為一個在電子行業真正起飛之前就消失的公司卻至今都享有很高的知名度。
本來和仙童代表說的是把代碼燒成ROM的,但是范含當時並沒有提出「對戰」的要求,僅僅是希望可以獨立處理兩個用戶的遊戲過程,所以後來又打電話取消了ROM的部分。
只不過,為了隨機位置出現的這隻蟲子,范含頭疼了好一陣子。
信中還指出了其他許多精闢論點,看得奧爾森又飛過來一趟,一夜長談之後,又飛回去了。
「是吧……」范含說,「我本來的打算是想著能把計算機騰出來給自己用,電視反正也不看,就讓別人玩遊戲去吧。」
「已經去過了,該談的問題正在談。」藍藍說,「但是他好像非得要見你一面。」
「嗯。」奧爾森說,「集成電路確實是個好東西。」
不過范含這邊麻煩也不少。
「行。」日本人說,「您說吧。」
這就是范含來到美國之後的第二封正式信件:《再致奧爾森》。
「各個彈子房、酒吧間。」范含說,「像這種本來就是娛樂場所的地方,多買一台娛樂設備並不是很困難。」
「幹嘛的?」范含問。
瑪麗醫生就稍微複雜一點:一方每消滅兩隻蟲子,另一方的藥瓶子裏面就多出來一隻。
「確實好玩,尤其是可以兩個人對戰。」奧爾森說,「真是很久沒這麼痛快了。」
奧爾森把兩封信合併到了一起,原文幾乎沒刪掉任何東西,相反還添加了許多東西,篇幅擴大了一倍,題目被改為《范含和奧爾森致IBM》。
實際上,在范含的記憶里,「Callus」模擬器上面就有一個「反面典型」,就是那個「魔幻三合一(Three Wonders)」的ROM:空戰、地戰和推箱子三個遊戲合在一起,同樣是允許玩家選擇。這三個遊戲都非常好玩,所以許多當年的街機玩家都提出抗議,為什麼不把它們分開?
反饋意見開始有了,主要都是投訴遊戲平衡性的問題。
「范范?」日本人說。
有書友指出:「日語里有fu無hu,F音都以fu打頭再加別的母音。所以那個順口溜讀出來應該是馮馮黃,黃馮黃……」本來事實確實應該是這樣。
「含含?」日本人說。
日本人沒挪窩。
奧爾森本人佔11%,AR&D佔29%,加起來就是原本DEC應該擁有的40%,和范含一樣。
現在的對戰功能還是范含自己拿PDP-8的彙編寫的,費足了勁。
同樣還是四種顏色,沒有特殊的方塊,方塊同樣還是可以合併。上方不定期的會出現一個鑽石形狀的方塊,鑽石尖端點到什麼顏色的方塊上面,相連的同色方塊都會爆炸。當鑽石是閃爍的特殊樣式的時候,全屏幕同色方塊都會爆炸。對戰的時候,另一方落下的則是隨機顏色的普通方塊,不是灰色的。
沒想到僅僅過了一星期,范含家裡的電話就被打爆了。誰讓當初自己決定勤儉持家,不租辦公室不請工作人員,把FEEE的總部設在自己家裡呢?
信中闡明了范含對於新型編程語言的構想:足夠小,小到不能再小。語言核心僅僅實現必要的語法支持,任何具體的功能都由外部的「庫函數」實現。
語音學界對於音素的區和_圖_書分一向有「寬式」和「嚴式」兩種觀點。
藍藍瞪了范含一眼。
老這樣下去也不是個事兒,隨著遊戲規模的加大,用彙編寫程序會越來越讓人難以忍受。
范含早就「預計」到這些大型變種一定會大紅大紫,所以堅決地要把它們分開,免得擁躉們爭搶一台機器。至於其他的,對於「見多識廣」的范含吸引力不是那麼太大的變種,合併起來無所謂。
這個邏輯有點像圍棋程序中判斷落子是否有氣一樣,聽起來不難,但是用只有一個累加器可用的彙編語言寫起來確實有點難。
於是,另一份軟體發展史上重要文件誕生了。
范含可沒有這份耐心去慢慢調試,好在現在自己是老闆,不用親自動手下廚就是了。
但是所有遊戲的代碼都同時提供,ROM的成本太高。最後的折衷意見是,將所有的代碼按照尺寸平均分為十塊ROM,每種板型安裝其中的一塊。
范含的名片上就寫著兩個字:「范含」。
日本人的業務由公司負責,范含不管,當然,美國政府要管,看看遊戲機是不是屬於限制出口一類的東西。
現在還有人叫這種名字?范含心裏好笑。
注2:著名街機模擬器「Callus」可以說十分完美,很好地滿足了當年因為經濟原因沒能打遍街機遊戲的作者懷舊的慾望。系統開銷很小,基本上只要現在還沒扔的電腦就能跑起來。以前在宿舍裏面,作者和同學們就憑著一台32兆內存,雜牌CPU(性能相當於奔騰166)的機器打完了裏面附帶的所有ROM,畫面聲音相當流暢。
俄羅斯方塊的對戰比較簡單:一方每消掉一行,另一方遊戲區域的底部就多出一行零零散散的方塊。
當代社會信息傳播的速度真是令人難以想象的快,第二天德州儀器就聞訊趕來,同樣要求入股。「有他無我」這種話美國人是說不出來的,「有他也得有我」!德州儀器如是說。
終於,還不能算是正式成立的FEEE融資成功,註冊資金100萬美元。
范含的FEEE現在還是個空殼子,除了名稱什麼也沒有。
范含確實沒有撒謊,這個確有其事。
「什麼準備?」
本來在范含的構思裏面,仙童和德州儀器就是兩個供應商,專門提供晶元的供應商而已。正好他們兩家正在打官司,關係不好。只要一家聽說了另一家幹了點什麼,就絕對沒有袖手旁觀的道理。所以范含不會擔心供貨不足什麼的事情。
——《神經·創世紀》(注1)
奧爾森對范含的FEEE很感興趣,電話裏面說不清楚,乾脆直接飛過來。
我看C是好的,就把C和其他語言分開了。
「成本有多少?」奧爾森開始計算,「就是現在你造好的這些東西。」
不管怎麼樣,這個鬆懈的態度使得整個七十年代,IBM處處被動挨打,面對范含和奧爾森聯軍咄咄逼人的攻勢幾乎毫無還手之力。
「紅鳳凰,粉鳳凰,粉紅鳳凰,紅粉鳳凰。」范含嚴肅地說。
「是啊。」范含說,「但是為了今後著想,我想用集成電路實現,所以這兩家公司是必不可少的。」
原因就是由於兩個著名的實用工具:Lex和Yacc(注4)。
※※※
仙童和德州儀器各佔10%,這是范含和DEC讓出來的部分。除了股份之外,其他各種各樣的權利和義務一模一樣,兩邊誰也不肯吃虧,所以誰也不主動要求多佔便宜。
不過IBM的反應卻並不激烈,可能想表現一下自己的風度,也可能是根本對范含不屑一顧。
「還是算了吧。」范含心裏警惕,漢語說得很好的鬼子通常不好對付,「那個名字是掛出來讓別人看的,不是用來稱呼的。」
「啊哈哈哈……那是我的日本名字。」范含說,「您的漢語說得很好啊?」
……(原書名《范含訪談錄》,作者:藍藍)
※※※
「進去吧。」藍藍在後面催。
「好吧。」日本人說,「我就稱呼您『韓』先生了。」
「您的漢語不是很好么?」范含問。
雖然計算機仍然有用,但是已經不是決定性的作用。這台PDP-8僅僅負責設備複位,啟動遊戲,還有在設備之間傳遞數據。真正的遊戲功能已經轉移到了外部設備上面。
遊戲機銷售形勢一片大好,不是小好。
信中指出:軟體工程理論是在軟體生產逐漸取代硬體生產成為業界難題的情況下形成和發展起來的,是在總結我們軟體開發的教訓經驗中建立起來的。軟體工程理論抓住了「什麼是軟體開發,怎樣進行軟體開發」這一根本問題,深刻揭露了軟體生產的本質,把對軟體的認識提高到了新的高度。
每台機器都能當月回本——平均每天三十幾美元總能做得到吧。
在最終的FEEE裏面,范含佔有40%的股份,摺合40萬美元。只不過除了先期註冊的10萬美元和遊戲機的研發費用之外,就是幾十個方塊類遊戲的專利(後來范含把所有能想起來的方塊類遊戲都設計出來了)當作技術入股,沒有再多掏一分錢。
1967年4月2日,剛過完愚人節,FEEE的第一台電子遊戲機,也是世界上第一台電子遊戲機——命名為「Squares」,意思是「方塊們」——正式出廠了。
「不錯,不錯。」奧爾森圍著機房轉了一圈,看看地上擺的一大堆東西。
以前日本普通人本沒有姓,明治時期為了搞戶口普查,天皇一聲令下,全日本掀起了一陣認祖歸宗的高潮。姓什麼的都有,到現在日本一共有十萬多個姓氏。最常見的就是居住的地點,井上、山下、田中、渡邊都是這麼和-圖-書來的。「我孫子」是一個城市的名稱,在今天的日本千葉縣西北,人口大約十三萬多點。日本姓「我孫子」的人還是不少,現在比較出名的有個寫推理小說的「我孫子武丸」。發音為「阿比靠」的除了「我孫子」之外,還有「吾孫子」、「安孫子」、「安彥」等等。
其最終輸出是用C寫的源代碼,用C編譯器編譯后就生成了自己想要的編譯器。
注3:對於繞口令多說幾句。
「嚯嚯嚯、嚯嚯嚯、嚯嚯嚯嚯、嚯嚯嚯嚯。」日本人嚴肅地重複(注3)。
「沒有我不會現起么?這不,剛想好一個。」
作者一直沒搞清為什麼「Holy Bible」會被翻譯成「聖經」?按照漢語的理解,翻譯成「神經」才名副其實。或者當時的華人根本就不認為洋來的和尚會比儒家學說高出一籌,給予孔子的待遇已經是很高了。
信中提出了范含對於具體實現新型編程語言的設想:先寫一個翻譯器,把C源代碼逐字逐句翻譯成彙編源代碼,外部的庫函數引入可以用插入當前半公開的一些可重用彙編源代碼代替。
有些事情不能光靠嘴皮子說,我說世界是我造的就真是我造的么?相比之下,東方的信仰反而有實事求是的精神,該是什麼就是什麼,從不拿邪乎的東西故意糊弄愚夫愚婦。想當然的覺得一個大「神」應當很偉大並頂禮膜拜之是很輕率的做法,其嚴重程度和在網上把信用卡密碼隨便告訴一個自稱銀行工作人員的傢伙是一樣的,所以一些聊天軟體才會特意提醒。
但是仙童公司卻不甘心僅僅當一個供應商,聽說了范含的創業計劃之後,或者說,通過對范含的採購計劃進行刨根問底的拷問之後,提出了入股的打算。
東方(尤其是中國)的宗教哲學都是現實主義的,不會太邪乎。所以有人說,中國只有原始宗教(後來流傳民間的各種崇拜以及衍生的信仰也沒有超越原始宗教的範疇),從來就沒有形成真正意義上的宗教……其他地方則不然。
「我告訴您的目的就是。」范含說,「合夥。咱們一起干這個買賣。」
注5:關於IBM的著名大型機系統,「System 360」,正是由於在開發這個機種的操作系統的時候,IBM陷入了「焦油坑」,才導致後來業界(不僅僅是IBM)痛定思痛,把軟體開發的工作重點轉移到了「軟體工程」上面來。
信中論述了范含對於當前迫切需要新型編程語言產生的具體原因的分析:目前所實現的所有編程語言兩極分化嚴重。處於軟體開發最底層的彙編語言,實際上是機器指令的便利翻版,是為了滿足電子工程師處理硬體設計需要的產物;處於軟體開發最頂層的各種高級語言,如Basic、Fortran、Lisp等,實際上是程序邏輯的數學抽象,是為了軟體用戶處理具體業務需要的產物。處於這兩個極端中間的系統開發人員,並沒有得到任何的實質上的技術支持。忽視了這一部分人民群眾的利益,正是我們當前軟體開發工作陷入困境的根本原因。
「請進!」范含遠遠地在裏面喊。
范含寫信的時候就在猶豫,要不要對C語言略作處理?尤其是那個「goto」語句,用不好真是後患無窮。
以前日本人對於英文「team」一詞,用片假名譯為「チーム」,發音為「七母」。這絕對是上述音位理論的結果,對於英國人到底念「七」還是念「踢」,日本人是不管的。越到後來,改譯為「ティーム」的就越多。這說明,在一部分睜眼看世界的日本人的帶動下,越來越多的人認識到,英語並不是為了日本才存在的。從另一個角度看,這種變化也許是日本人高舉鄧小平理論的偉大旗幟,深入領會「實事求是」重要思想的具體表現。
但是近幾十年來,越來越多的人認識到,沒有必要如此吹毛求疵。無論這個[u]是噘嘴還是咧嘴,對我們的聽說讀寫都不會產生任何誤會。這種觀點就是「寬式」,目前已經成為學界主流。
這一玩就到了下午,范含的工作就是為兩名玩家沏茶倒水。
所有的設備都在機房裡面,包括電視機。
比如原來街機模擬器「Callus」上面帶的那個方塊遊戲「智慧女神(魔法方塊)」,就是ROM名稱叫做「Pnickj」的那個。確實是非常好玩,尤其是對戰的時候(注2)。
後來還是不了了之,冠冕堂皇的理由是保持經典的完整,尊重歷史的選擇及淘汰。上不得檯面的理由就更簡單了:自己的BROM裏面有那麼多的C代碼,萬一真改了,豈不是給自己添亂?
日本人整理衣襟,昂首挺胸地走進書房。
所謂「仙」,那是道家的東西,也是從凡人修鍊而成的。另外,「佛」也是凡人,一旦覺悟了,誰都能成佛。
這兩個工具如此優秀,以至於老一輩資產階級編譯器開發者到如今也不得不感慨「人心不古」。
公司既然已經「走上了正軌」,立刻就變成了商業機器,在諸多內行人的推動之下高速的運轉起來。范含反而落得一身輕鬆。
「這還用問?當然是想買一些機器運到日本唄。」
日語裏面「f」和「h」都用「は」行假名翻譯,根本分不出來。
不過除了這一點,藍藍後面寫的東西就全部都是事實了,的的確確是立刻「就有了C」,沒有一點十月懷胎的痛苦。
不光范含,幾乎所有程序員,除了專門寫開發工具的那些人之外,幾乎都沒有自己手寫過類似的東西。
「唔。」
當然,范含的態度同樣很明確,也是「原則上同意」。