官术网_书友最值得收藏!

第14章 上了賊船

  • 電子生涯
  • 范含
  • 11527字
  • 2004-09-08 12:00:00

起初,我買了臺(tái)PDP-8。

處理器結(jié)構(gòu)簡(jiǎn)單,內(nèi)存很小,經(jīng)過(guò)匯編的機(jī)器指令運(yùn)行在硬件上。

我說(shuō):要有C!就有了C。

我看C是好的,就把C和其他語(yǔ)言分開(kāi)了。

我用C寫(xiě)底層的系統(tǒng)代碼,用其他語(yǔ)言寫(xiě)應(yīng)用代碼。有系統(tǒng),有應(yīng)用,這是頭一年。

——《神經(jīng)·創(chuàng)世紀(jì)》

……(原書(shū)名《范含訪談錄》,作者:藍(lán)藍(lán))

-------

范含的FEEE現(xiàn)在還是個(gè)空殼子,除了名稱什么也沒(méi)有。

很快就不是了。

奧爾森對(duì)范含的FEEE很感興趣,電話里面說(shuō)不清楚,干脆直接飛過(guò)來(lái)。

“不錯(cuò),不錯(cuò)。”奧爾森圍著機(jī)房轉(zhuǎn)了一圈,看看地上擺的一大堆東西。

所有的設(shè)備都在機(jī)房里面,包括電視機(jī)。

實(shí)際上,現(xiàn)在的所謂“游戲機(jī)”僅僅是PDP-8的三臺(tái)外部設(shè)備而已。一個(gè)搖桿控制器(可帶兩個(gè)搖桿)負(fù)責(zé)接收輸入,一個(gè)處理單元負(fù)責(zé)計(jì)算,一個(gè)視頻設(shè)備負(fù)責(zé)在電視機(jī)上面顯示游戲的進(jìn)程。

雖然計(jì)算機(jī)仍然有用,但是已經(jīng)不是決定性的作用。這臺(tái)PDP-8僅僅負(fù)責(zé)設(shè)備復(fù)位,啟動(dòng)游戲,還有在設(shè)備之間傳遞數(shù)據(jù)。真正的游戲功能已經(jīng)轉(zhuǎn)移到了外部設(shè)備上面。

這么說(shuō)有點(diǎn)過(guò)分,因?yàn)檎{(diào)用游戲處理單元的代碼還存放在計(jì)算機(jī)上面。

本來(lái)和仙童代表說(shuō)的是把代碼燒成ROM的,但是范含當(dāng)時(shí)并沒(méi)有提出“對(duì)戰(zhàn)”的要求,僅僅是希望可以獨(dú)立處理兩個(gè)用戶的游戲過(guò)程,所以后來(lái)又打電話取消了ROM的部分。

現(xiàn)在的對(duì)戰(zhàn)功能還是范含自己拿PDP-8的匯編寫(xiě)的,費(fèi)足了勁。

俄羅斯方塊的對(duì)戰(zhàn)比較簡(jiǎn)單:一方每消掉一行,另一方游戲區(qū)域的底部就多出一行零零散散的方塊。

瑪麗醫(yī)生就稍微復(fù)雜一點(diǎn):一方每消滅兩只蟲(chóng)子,另一方的藥瓶子里面就多出來(lái)一只。

只不過(guò),為了隨機(jī)位置出現(xiàn)的這只蟲(chóng)子,范含頭疼了好一陣子。

蟲(chóng)子應(yīng)該出現(xiàn)在開(kāi)闊地帶,周圍還不能同樣顏色的藥片聚集,否則一出現(xiàn)就會(huì)消失。

這個(gè)邏輯有點(diǎn)像圍棋程序中判斷落子是否有氣一樣,聽(tīng)起來(lái)不難,但是用只有一個(gè)累加器可用的匯編語(yǔ)言寫(xiě)起來(lái)確實(shí)有點(diǎn)難。

然后范含和奧爾森開(kāi)始了游戲?qū)?zhàn),沒(méi)過(guò)一會(huì)藍(lán)藍(lán)就代替了范含。

這一玩就到了下午,范含的工作就是為兩名玩家沏茶倒水。

“確實(shí)好玩,尤其是可以兩個(gè)人對(duì)戰(zhàn)。”奧爾森說(shuō),“真是很久沒(méi)這么痛快了。”

“是吧……”范含說(shuō),“我本來(lái)的打算是想著能把計(jì)算機(jī)騰出來(lái)給自己用,電視反正也不看,就讓別人玩游戲去吧。”

藍(lán)藍(lán)瞪了范含一眼。

“如果僅僅是為了這個(gè)目的,恐怕用不著搞這么大場(chǎng)面,也不會(huì)特意地告訴我吧。”

“是吧……”范含說(shuō),“其實(shí)您肯定也知道了,我不僅僅打算自己藏在家里用,還要賣出去。”

“賣給誰(shuí)?”

“各個(gè)彈子房,酒吧間。”范含說(shuō),“像這種本來(lái)就是娛樂(lè)場(chǎng)所的地方,多買一臺(tái)娛樂(lè)設(shè)備并不是很困難。”

“成本有多少?”奧爾森開(kāi)始計(jì)算,“就是現(xiàn)在你造好的這些東西。”

“開(kāi)發(fā)成本比較高,但是他們說(shuō)如果量產(chǎn)的話,會(huì)便宜很多。”范含說(shuō),“這一套的報(bào)價(jià)估計(jì)在四百美元左右,不包括電視機(jī)。”

“我看了一下,如果我們自己做,可能成本會(huì)更低一些。”奧爾森說(shuō),“不需要非得把零件包出去。”

“是啊,”范含說(shuō),“但是為了今后著想,我想用集成電路實(shí)現(xiàn),所以這兩家公司是必不可少的。”

“嗯。”奧爾森說(shuō),“集成電路確實(shí)是個(gè)好東西。”

“我告訴您的目的就是,”范含說(shuō),“合伙。咱們一起干這個(gè)買賣。”

“我飛過(guò)來(lái)的目的就是,”奧爾森說(shuō),“找你合伙。咱們一起干這個(gè)買賣。”

范含不是磨磨唧唧的主兒,奧爾森也是個(gè)痛快人,事情很快就定下來(lái)了。

新生的FEEE開(kāi)始了第一次融資擴(kuò)股,范含和DEC各占一半。

結(jié)果兩邊都遇到了麻煩。

奧爾森回到DEC之后,發(fā)現(xiàn)說(shuō)服不了公司董事會(huì)。

DEC董事會(huì)里面的大部分董事都是AR&D公司的代表,這些人一向都好說(shuō)話。本來(lái)奧爾森幾乎白手起家,搞到現(xiàn)在DEC這么聲勢(shì)浩大,AR&D極為滿意。可以說(shuō)AR&D幾乎就沒(méi)怎么干預(yù)過(guò)DEC的決策,他們已經(jīng)習(xí)慣于贊同奧爾森的意見(jiàn)了。

真正持反對(duì)意見(jiàn)的都是DEC自己的人。他們覺(jué)得自己這么一家正經(jīng)的公司,搞這些不登大雅之堂的東西太shi身份。總之,現(xiàn)在不是創(chuàng)業(yè)的階段了,混出個(gè)人模狗樣之后,往往就開(kāi)始擺起譜了。

“這么搞下去的話,搞到最后弄不好就是第二個(gè)IBM。”范含聽(tīng)說(shuō)以后評(píng)價(jià)道,“像IBM那樣,死要面子活受罪。”

不過(guò)范含這邊麻煩也不少。

本來(lái)在范含的構(gòu)思里面,仙童和德州儀器就是兩個(gè)供應(yīng)商,專門(mén)提供芯片的供應(yīng)商而已。正好他們兩家正在打官司,關(guān)系不好。只要一家聽(tīng)說(shuō)了另一家干了點(diǎn)什么,就絕對(duì)沒(méi)有袖手旁觀的道理。所以范含不會(huì)擔(dān)心供貨不足什么的事情。

但是范含也從來(lái)沒(méi)起過(guò)左右逢源、見(jiàn)風(fēng)使舵、兩邊討好,以便于從中牟利之類的想法。

美國(guó)人最講究實(shí)際,說(shuō)得不好聽(tīng)點(diǎn),就是“唯利是圖”。只要有好處,沒(méi)有不干的,什么歷史恩怨都可以放下來(lái)。自己過(guò)得好就成了,別人過(guò)得好也罷壞也罷,都隨他去了。

但是仙童公司卻不甘心僅僅當(dāng)一個(gè)供應(yīng)商,聽(tīng)說(shuō)了范含的創(chuàng)業(yè)計(jì)劃之后,或者說(shuō),通過(guò)對(duì)范含的采購(gòu)計(jì)劃進(jìn)行刨根問(wèn)底的拷問(wèn)之后,提出了入股的打算。

對(duì)于仙童公司的要求,范含覺(jué)得是意料之外,情理之中。

歷史上的仙童,本來(lái)就是個(gè)大雜燴,什么樣的人都有,什么樣的想法都有。正因?yàn)槿绱耍赏咀鳛橐粋€(gè)在電子行業(yè)真正起飛之前就消失的公司卻至今都享有很高的知名度。

到今天共有七十多家公司是直接或者間接從仙童公司分裂出來(lái),或是其前雇員所創(chuàng)辦的。1969年,森納瓦舉行了一次半導(dǎo)體頭面人物的會(huì)議,與會(huì)的400人中間,只有24個(gè)人沒(méi)在仙童公司工作過(guò)。

充滿了異想天開(kāi)的仙童是六十年代半導(dǎo)體行業(yè)的一道風(fēng)景線。所以,決定參與這個(gè)新興的“電子娛樂(lè)”行業(yè),在仙童內(nèi)部,并不是一個(gè)多么困難的決定。

范含還是有些猶豫,畢竟自己知道仙童不久之后就會(huì)土崩瓦解,是不是有可能連累到自己確實(shí)很難說(shuō)。

不過(guò)這個(gè)理由實(shí)在是太蒼白無(wú)力了,難道自己有膽量跟人家說(shuō),“吾觀爾等印堂發(fā)暗,雙目無(wú)神,將來(lái)必定破產(chǎn)倒閉”?

再說(shuō)了,誰(shuí)知道將來(lái)會(huì)怎么樣?自己已經(jīng)改變了歷史,就不興讓別人改?

另外,仙童本來(lái)就是半導(dǎo)體行業(yè)頂呱呱的公司,到現(xiàn)在也還沒(méi)有顯露出“敗象”,自己“深謀遠(yuǎn)慮”,就這么一句話堵死……會(huì)不會(huì)有后遺癥啊?

總之,在“沒(méi)有正當(dāng)理由”的前提下,拒絕仙童殊為不智。

所以,原則上同意了,細(xì)節(jié)肯定還得和奧爾森商量。

當(dāng)代社會(huì)信息傳播的速度真是令人難以想象的快,第二天德州儀器就聞?dòng)嵹s來(lái),同樣要求入股。“有他無(wú)我”這種話美國(guó)人是說(shuō)不出來(lái)的,“有他也得有我”!德州儀器如是說(shuō)。

當(dāng)然,范含的態(tài)度同樣很明確,也是“原則上同意”。

剩下的事情讓律師們?nèi)フ垓v吧。

大約一個(gè)禮拜吧,差不多都搞定了。

奧爾森實(shí)在說(shuō)服不了同事們,最后決定自己出錢(qián)收購(gòu)他們預(yù)計(jì)在FEEE中zhan有的股份。這么一來(lái),DEC的份額改為由奧爾森個(gè)人和其母公司AR&D持有。仙童和德州儀器的份額是范含和DEC各退一步,讓出來(lái)的。

終于,還不能算是正式成立的FEEE融資成功,注冊(cè)資金100萬(wàn)美元。

作為新公司,這個(gè)規(guī)模算在美國(guó)也算是相當(dāng)大了。

在最終的FEEE里面,范含zhan有40%的股份,折合40萬(wàn)美元。只不過(guò)除了先期注冊(cè)的10萬(wàn)美元和游戲機(jī)的研發(fā)費(fèi)用之外,就是幾十個(gè)方塊類游戲的專利(后來(lái)范含把所有能想起來(lái)的方塊類游戲都設(shè)計(jì)出來(lái)了)當(dāng)作技術(shù)入股,沒(méi)有再多掏一分錢(qián)。

奧爾森本人占11%,AR&D占29%,加起來(lái)就是原本DEC應(yīng)該擁有的40%,和范含一樣。

仙童和德州儀器各占10%,這是范含和DEC讓出來(lái)的部分。除了股份之外,其他各種各樣的權(quán)利和義務(wù)一模一樣,兩邊誰(shuí)也不肯吃虧,所以誰(shuí)也不主動(dòng)要求多占便宜。

公司既然已經(jīng)“走上了正軌”,立刻就變成了商業(yè)機(jī)器,在諸多內(nèi)行人的推動(dòng)之下高速的運(yùn)轉(zhuǎn)起來(lái)。范含反而落得一身輕松。

DEC的人負(fù)責(zé)寫(xiě)具體的游戲代碼,做投幣箱,機(jī)殼等等。兩家半導(dǎo)體公司和DEC協(xié)商之后,就是負(fù)責(zé)提供芯片,有競(jìng)爭(zhēng)就是有壓力,比起糊弄范含的那些東西而言,產(chǎn)品質(zhì)量上了一個(gè)臺(tái)階。

1967年4月2日,剛過(guò)完愚人節(jié),F(xiàn)EEE的第一臺(tái)電子游戲機(jī),也是世界上第一臺(tái)電子游戲機(jī)——命名為“Squares”,意思是“方塊們”——正式出廠了。

本來(lái)其他三方都打算把幾十個(gè)方塊類游戲分開(kāi),同時(shí)推出不同的板子,都能對(duì)應(yīng)同一種機(jī)型。作為過(guò)來(lái)人的范含堅(jiān)決反對(duì),這么干僅僅是給自己添麻煩而已。

但是所有游戲的代碼都同時(shí)提供,ROM的成本太高。最后的折衷意見(jiàn)是,將所有的代碼按照尺寸平均分為十塊ROM,每種板型安裝其中的一塊。

一些簡(jiǎn)單的變種可以公用大部分代碼,有的板子上面就是這樣,帶了十幾個(gè)小游戲,可以通過(guò)一個(gè)簡(jiǎn)單的菜單進(jìn)行選擇。

許多更復(fù)雜的變種,同時(shí)也是更好玩的游戲,只能單獨(dú)提供。

比如原來(lái)街機(jī)模擬器“Callus”上面帶的那個(gè)方塊游戲“智慧女神(魔法方塊)”,就是ROM名稱叫做“pnickj”的那個(gè)。確實(shí)是非常好玩,尤其是對(duì)戰(zhàn)的時(shí)候。

四種不同顏色的方塊,兩個(gè)兩個(gè)的一起出現(xiàn)。每當(dāng)相同顏色方塊相連的時(shí)候,就會(huì)合并成為一大塊單連通區(qū)域。每種顏色分為普通方塊和帶星號(hào)的特殊方塊兩種。每個(gè)連通區(qū)域中出現(xiàn)一個(gè)特殊方塊就會(huì)變得晶瑩閃亮,再有一個(gè)特殊方塊碰上,就會(huì)爆炸消失。因此而落下的其他方塊會(huì)重新合并,如果條件允許,就會(huì)繼續(xù)爆炸,如此可以形成“連擊”。同時(shí)爆炸的連通區(qū)域越大,連擊次數(shù)越多,分?jǐn)?shù)就越高。如果是在對(duì)戰(zhàn)當(dāng)中,另一方的區(qū)域就會(huì)落下許多灰色的方塊,這些灰色方塊不能合并,也不能直接爆炸,只有旁邊的有色方塊爆炸才能同時(shí)消失。

這個(gè)變種是范含玩得最多的方塊類游戲,當(dāng)年在宿舍里面真是廢寢忘食,樂(lè)此不疲,滿樓道找人對(duì)戰(zhàn)。

還有一種,就是“街霸方塊”,范含在上面也花了不少時(shí)間,和“魔法方塊”大同小異。

同樣還是四種顏色,沒(méi)有特殊的方塊,方塊同樣還是可以合并。上方不定期的會(huì)出現(xiàn)一個(gè)鉆石形狀的方塊,鉆石尖端點(diǎn)到什么顏色的方塊上面,相連的同色方塊都會(huì)爆炸。當(dāng)鉆石是閃爍的特殊樣式的時(shí)候,全屏幕同色方塊都會(huì)爆炸。對(duì)戰(zhàn)的時(shí)候,另一方落下的則是隨機(jī)顏色的普通方塊,不是灰色的。

類似的游戲變種還有許多。

范含早就“預(yù)計(jì)”到這些大型變種一定會(huì)大紅大紫,所以堅(jiān)決地要把它們分開(kāi),免得擁躉們爭(zhēng)搶一臺(tái)機(jī)器。至于其他的,對(duì)于“見(jiàn)多識(shí)廣”的范含吸引力不是那么太大的變種,合并起來(lái)無(wú)所謂。

實(shí)際上,在范含的記憶里,“Callus”模擬器上面就有一個(gè)“反面典型”,就是那個(gè)“魔幻三合一(Three Wonders)”的ROM:空戰(zhàn)、地戰(zhàn)和推箱子三個(gè)游戲合在一起,同樣是允許玩家選擇。這三個(gè)游戲都非常好玩,所以許多當(dāng)年的街機(jī)玩家都提出抗議,為什么不把它們分開(kāi)?!

最初的產(chǎn)量并不大,命名為“Squares-0”到“Squares-9”的十種機(jī)型都僅僅造了一百臺(tái),在分處東西海岸的波士頓和洛杉磯推廣。

這種推廣實(shí)際上是“賠本賺吆喝”,開(kāi)始的時(shí)候雇人上門(mén)免費(fèi)安裝,說(shuō)好了一個(gè)月后如果感興趣的話,再付貨款……一千美元,不算彩色電視機(jī)的成本。

沒(méi)想到僅僅過(guò)了一星期,范含家里的電話就被打爆了。誰(shuí)讓當(dāng)初自己決定勤儉持家,不租辦公室不請(qǐng)工作人員,把FEEE的總部設(shè)在自己家里呢?

這時(shí)候就看出股份制公司的好處了,另外幾家股東們“慷慨的”伸出了援助之手,迅速的包辦了場(chǎng)所和人員,幫忙處理業(yè)務(wù)。

本來(lái)FEEE是想根據(jù)用戶的反饋意見(jiàn)調(diào)整生產(chǎn)計(jì)劃,結(jié)果發(fā)現(xiàn)所謂反饋意見(jiàn)一點(diǎn)用也沒(méi)有,十種機(jī)型總分是一千分。電子娛樂(lè)設(shè)備對(duì)于現(xiàn)在的美國(guó)人,尤其是年輕人來(lái)說(shuō),太……那啥了。

訂單多得讓另外幾方忙不過(guò)來(lái),范含倒沒(méi)什么事,又閑下來(lái)了。

-------

“明天有個(gè)日本人來(lái)。”藍(lán)藍(lán)對(duì)范含說(shuō)。

“干嗎的?”范含問(wèn)。

“這還用問(wèn)?當(dāng)然是想買一些機(jī)器運(yùn)到日本唄。”

“到公司去不就得了?”范含現(xiàn)在不想和日本人打交道。

“已經(jīng)去過(guò)了,該談的問(wèn)題正在談。”藍(lán)藍(lán)說(shuō),“但是他好像非得要見(jiàn)你一面。”

“這樣啊……”范含想了一會(huì),“也行。不過(guò)我得做點(diǎn)準(zhǔn)備。”

“什么準(zhǔn)備?”

“聽(tīng)說(shuō)按照日本人的習(xí)慣,門(mén)口要掛上名字的。”范含解釋,“一塊木牌,豎著寫(xiě)上名字。”

“你也打算做一塊?寫(xiě)上‘范含’倆字?”

“對(duì),但不是‘范含’,寫(xiě)的是我的日本名字。”范含說(shuō),“也不用掛在大門(mén)口,就掛在我的書(shū)房門(mén)口就行了,等人一走就摘下來(lái)砸了。”

“你有日本名字么?”藍(lán)藍(lán)很奇怪。

“沒(méi)有我不會(huì)現(xiàn)起么?這不,剛想好一個(gè)。”

-------

(大家猜一猜,范含給自己起的日本名字是什么?)

-------

日本人走到范含書(shū)房的門(mén)口,猶豫了一下。

右邊的門(mén)框上掛著一塊木牌,上面用顏體楷書(shū)規(guī)規(guī)矩矩的寫(xiě)著“我孫子進(jìn)”。

是進(jìn)還是不進(jìn)?這是個(gè)問(wèn)題。

“請(qǐng)進(jìn)!”范含遠(yuǎn)遠(yuǎn)的在里面喊。

日本人沒(méi)挪窩。

“請(qǐng)進(jìn)啊!”范含又喊。

日本人還是沒(méi)動(dòng)。

“進(jìn)去吧。”藍(lán)藍(lán)在后面催。

日本人整理衣襟,昂首挺胸的走進(jìn)書(shū)房。

范含大喇喇的坐在正中的太師椅上,這把椅子還是特意從唐人街搞來(lái)的。

見(jiàn)到日本人進(jìn)來(lái),范含連忙站起,滿臉堆笑的迎了上去。

見(jiàn)面先掏名片,互相交換,這是規(guī)矩。

日本人的名片上寫(xiě)著“蜷川新佑衛(wèi)門(mén)”,一個(gè)什么會(huì)社的什么課長(zhǎng)。

現(xiàn)在還有人叫這種名字?范含心里好笑。

范含的名片上就寫(xiě)著兩個(gè)字:“范含”。

“啊嘞?”日本人很奇怪,“外面的名牌不是寫(xiě)著‘阿比靠’么?”

“啊哈哈哈……那是我的日本名字”范含說(shuō),“您的漢語(yǔ)說(shuō)得很好啊?”

“專門(mén)學(xué)過(guò)一段時(shí)間,不是太流利,讓您見(jiàn)笑了。”日本人恭恭敬敬的說(shuō),“那么以后我就稱呼您‘我孫子’先生了。”

“還是算了吧,”范含心里警惕,漢語(yǔ)說(shuō)得很好的鬼子通常不好對(duì)付,“那個(gè)名字是掛出來(lái)讓別人看的,不是用來(lái)稱呼的。”

“這您就太過(guò)分了,”日本人仍然恭恭敬敬的說(shuō),“我還是理解這個(gè)名字的中文意義的。”

“這只是禮尚往來(lái)嘛,”范含也是微笑著回答,“聽(tīng)說(shuō)以前有一位日本朋友在中國(guó)的時(shí)候就是故意改成這個(gè)名字的嘛。”

“唔。”

范含確實(shí)沒(méi)有撒謊,這個(gè)確有其事。

以前日本普通人本沒(méi)有姓,明治時(shí)期為了搞戶口普查,天皇一聲令下,全日本掀起了一陣認(rèn)祖歸宗的高潮。姓什么的都有,到現(xiàn)在日本一共有十萬(wàn)多個(gè)姓氏。最常見(jiàn)的就是居住的地點(diǎn),井上、山下、田中、渡邊都是這么來(lái)的。“我孫子”是一個(gè)城市的名稱,在今天的日本千葉縣西北,人口大約十三萬(wàn)多點(diǎn)。日本姓“我孫子”的人還是不少,現(xiàn)在比較出名的有個(gè)寫(xiě)推理小說(shuō)的“我孫子武丸”。發(fā)音為“阿比靠”的除了“我孫子”之外,還有“吾孫子”、“安孫子”、“安彥”等等。

確實(shí)有個(gè)叫“我孫子”的日本人,到了中國(guó)就把名字改為“進(jìn)”,這個(gè)名字很常見(jiàn),不算什么。然后就在門(mén)口掛了一塊名牌,這個(gè)習(xí)慣很常見(jiàn),不算什么。當(dāng)然了,國(guó)人很怒,所以所有的書(shū)面口頭均稱呼其為“我孫子”,就是不提名字。這個(gè)故事在日語(yǔ)專業(yè)的圈子內(nèi)當(dāng)成笑話講,很快就流傳到了圈外,范含在學(xué)校里面就聽(tīng)說(shuō)了。

現(xiàn)在拿過(guò)來(lái)以其人之道還治其人之身,萬(wàn)一日本人也照貓畫(huà)虎,開(kāi)口閉口都是“我孫子桑”,“我孫子樣”,“我孫子殿”之類的,豈不是弄巧成拙?還是先把這條路堵死再說(shuō)。

“您還是稱呼我的本名吧,”范含一指名片,“”喏,就是上面寫(xiě)的這個(gè)。

“好吧,”日本人說(shuō),“我就稱呼您‘韓’先生了。”

“咦?”范含說(shuō),“應(yīng)該是‘范’先生吧?我叫范含。”

“范范?”日本人說(shuō)。

“范!含!”范含又重復(fù)一遍。

“含含?”日本人說(shuō)。

范含沒(méi)說(shuō)話,仔細(xì)琢磨了一下,日本人確實(shí)不是故意的。

日語(yǔ)里面“f”和“h”都用“は”行假名翻譯,根本分不出來(lái)。

“您的漢語(yǔ)不是很好么?”范含問(wèn)。

“只是一般好。”

“那好吧,”范含說(shuō),“我說(shuō)一句繞口令,您重復(fù)一遍。”

“行,”日本人說(shuō),“您說(shuō)吧。”

“紅鳳凰,粉鳳凰,粉紅鳳凰,紅粉鳳凰。”范含嚴(yán)肅地說(shuō)。

“嚯嚯嚯、嚯嚯嚯、嚯嚯嚯嚯、嚯嚯嚯嚯。”日本人嚴(yán)肅的重復(fù)。

藍(lán)藍(lán)眥著牙,拼命忍住才沒(méi)笑出聲來(lái)。

日本人的業(yè)務(wù)由公司負(fù)責(zé),范含不管,當(dāng)然,美國(guó)政府要管,看看游戲機(jī)是不是屬于限制出口一類的東西。

玩笑開(kāi)完,彼此都覺(jué)得沒(méi)什么意思,寒暄一會(huì)兒日本人就告辭了。

范含立馬把門(mén)口牌子摘下來(lái)砸了,這種東西是雙刃劍。

-------

游戲機(jī)銷售形勢(shì)一片大好,不是小好。

每臺(tái)機(jī)器都能當(dāng)月回本——平均每天三十幾美元總能做得到吧。

除了范含自己,別人都忙的團(tuán)團(tuán)轉(zhuǎn),24*7的連續(xù)生產(chǎn)。

反饋意見(jiàn)開(kāi)始有了,主要都是投訴游戲平衡性的問(wèn)題。

有些獎(jiǎng)勵(lì)的分?jǐn)?shù)太高,以至于游戲成了前面隨意亂堆比拼速度,看誰(shuí)的特殊方塊先出來(lái)。

修改的時(shí)候就頭疼了,全部代碼都是用匯編寫(xiě)的,還經(jīng)過(guò)了狠狠的優(yōu)化。

范含可沒(méi)有這份耐心去慢慢調(diào)試,好在現(xiàn)在自己是老板,不用親自動(dòng)手下廚就是了。

老這樣下去也不是個(gè)事兒,隨著游戲規(guī)模的加大,用匯編寫(xiě)程序會(huì)越來(lái)越讓人難以忍受。

范含開(kāi)始懷念二十一世紀(jì)那些幸福的程序員們。

后來(lái)有人問(wèn)藍(lán)藍(lán),說(shuō)你寫(xiě)的訪談錄里面范含講的“要有C”!這句話顯得太狂了。

藍(lán)藍(lán)說(shuō)是,并且承認(rèn),自己確實(shí)對(duì)現(xiàn)實(shí)做了一點(diǎn)藝術(shù)加工。藝術(shù)嘛,總是允許一定程度的夸張的。

實(shí)際上,范含當(dāng)年說(shuō)的原話是:“要有C……那該多好啊!”

不過(guò)除了這一點(diǎn),藍(lán)藍(lán)后面寫(xiě)的東西就全部都是事實(shí)了,的的確確是立刻“就有了C”,沒(méi)有一點(diǎn)十月懷胎的痛苦。

范含以前確實(shí)寫(xiě)過(guò)編譯器,還寫(xiě)過(guò)幾個(gè)解釋器,以及一大堆字符串分析實(shí)用程序。

只不過(guò),這些東西都不是手寫(xiě)的,或者說(shuō),除了為了應(yīng)用而不得不寫(xiě)的一堆例行公事之外,范含并沒(méi)有做一點(diǎn)實(shí)質(zhì)上的工作。

不光范含,幾乎所有程序員,除了專門(mén)寫(xiě)開(kāi)發(fā)工具的那些人之外,幾乎都沒(méi)有自己手寫(xiě)過(guò)類似的東西。

原因就是由于兩個(gè)著名的實(shí)用工具:lex和yacc。

Lex(Lexical Analyzer Generator,詞法分析生成器)是個(gè)產(chǎn)生處理詞法分析的代碼的工具,而Yacc(Yet Another Compiler Compiler,另一個(gè)編譯器的編譯器)是個(gè)生成編譯程序的工具。

其最終輸出是用C寫(xiě)的源代碼,用C編譯器編譯后就生成了自己想要的編譯器。

這兩個(gè)工具如此優(yōu)秀,以至于老一輩資產(chǎn)階級(jí)編譯器開(kāi)發(fā)者到如今也不得不感慨“人心不古”。

范含用的差不多都是自由的版本:“flex”和“bison”,都是GNU項(xiàng)目的一部分。只有很早的時(shí)候用過(guò)一個(gè)名叫“tply”的軟件包。顧名思義,這個(gè)“tply”就是用于“Turbo Pascal”的“Lex”和“Yacc”,用Pascal語(yǔ)言做后端,所以非常好用。當(dāng)年的DOS環(huán)境下,沒(méi)有一種開(kāi)發(fā)環(huán)境能比Turbo Pascal編譯速度更快,生成代碼效率更高的了,包括各種C編譯器在內(nèi)。

遺憾的是,到了目前這種地步,這些東西根本就派不上用場(chǎng)。交叉編譯就不用說(shuō)了,無(wú)論找到哪里也沒(méi)有C,除了憑空寫(xiě),沒(méi)有“移植”的可能。單機(jī)“自舉”也不成,那是要有前提的,本來(lái)無(wú)一物,如何“舉起”?

活人總不會(huì)被尿憋死,自己寫(xiě)不出來(lái)不見(jiàn)的別人也寫(xiě)不出來(lái)。

范含很快整理出來(lái)C語(yǔ)言的語(yǔ)法要點(diǎn),除去了標(biāo)準(zhǔn)庫(kù)和預(yù)編譯指令的部分。

然后,一份軟件發(fā)展史上重要文件誕生了。

這就是范含來(lái)到美國(guó)之后的第一封正式信件:《致奧爾森》。

信中論述了范含對(duì)于當(dāng)前迫切需要新型編程語(yǔ)言產(chǎn)生的具體原因的分析:目前所實(shí)現(xiàn)的所有編程語(yǔ)言兩極分化嚴(yán)重。處于軟件開(kāi)發(fā)最底層的匯編語(yǔ)言,實(shí)際上是機(jī)器指令的便利翻版,是為了滿足電子工程師處理硬件設(shè)計(jì)需要的產(chǎn)物;處于軟件開(kāi)發(fā)最頂層的各種高級(jí)語(yǔ)言,如Basic、Fortran、Lisp等,實(shí)際上是程序邏輯的數(shù)學(xué)抽象,是為了軟件用戶處理具體業(yè)務(wù)需要的產(chǎn)物。處于這兩個(gè)極端中間的系統(tǒng)開(kāi)發(fā)人員,并沒(méi)有得到任何的實(shí)質(zhì)上的技術(shù)支持。忽視了這一部分人民群眾的利益,正是我們當(dāng)前軟件開(kāi)發(fā)工作陷入困境的根本原因。

信中闡明了范含對(duì)于新型編程語(yǔ)言的構(gòu)想:足夠小,小到不能再小。語(yǔ)言核心僅僅實(shí)現(xiàn)必要的語(yǔ)法支持,任何具體的功能都由外部的“庫(kù)函數(shù)”實(shí)現(xiàn)。

信中羅列了范含設(shè)計(jì)新型編程語(yǔ)言的具體示例:就是照抄Ansi C的標(biāo)準(zhǔn)罷了。

信中提出了范含對(duì)于具體實(shí)現(xiàn)新型編程語(yǔ)言的設(shè)想:先寫(xiě)一個(gè)翻譯器,把C源代碼逐字逐句翻譯成匯編源代碼,外部的庫(kù)函數(shù)引入可以用插入當(dāng)前半公開(kāi)的一些可重用匯編源代碼代替。

奧爾森覽信大喜,傳示麾下諸經(jīng)理,遂抽調(diào)精兵強(qiáng)將試之。

范含寄出信之后,卻一直不放心。

信里把“新型編程語(yǔ)言”的優(yōu)點(diǎn)說(shuō)了個(gè)遍,缺點(diǎn)卻一字不提。對(duì)于這個(gè)年代純粹靠個(gè)人發(fā)揮的程序員們來(lái)說(shuō),鳥(niǎo)槍換炮之后,強(qiáng)勢(shì)放大了若干倍那是肯定的,缺陷會(huì)不會(huì)也放大了若干倍,甚至更多?

范含寫(xiě)信的時(shí)候就在猶豫,要不要對(duì)C語(yǔ)言略作處理?尤其是那個(gè)“goto”語(yǔ)句,用不好真是后患無(wú)窮。

一般來(lái)說(shuō),任何一個(gè)當(dāng)代學(xué)生,在學(xué)習(xí)C語(yǔ)言的時(shí)候,老師都會(huì)諄諄教導(dǎo):goto不能亂用啊!并且許多教材和參考書(shū)都直截了當(dāng)?shù)囊?guī)定了其用法:僅用于跳出深層嵌套循環(huán)或者跳到函數(shù)末尾等等。

因?yàn)檫@個(gè)原因,范含甚至考慮將這個(gè)關(guān)鍵字改為“escapeto”,明顯的表達(dá)其用法。

后來(lái)還是不了了之,冠冕堂皇的理由是保持經(jīng)典的完整,尊重歷史的選擇及淘汰。上不得臺(tái)面的理由就更簡(jiǎn)單了:自己的BROM里面有那么多地C代碼,萬(wàn)一真改了,豈不是給自己添亂?

作為一個(gè)有著良好職業(yè)道德的程序員,范含終于忍受不住良心的譴責(zé)了。

于是,另一份軟件發(fā)展史上重要文件誕生了。

這就是范含來(lái)到美國(guó)之后的第二封正式信件:《再致奧爾森》。

范含知道,1966年開(kāi)了個(gè)會(huì),對(duì)于goto語(yǔ)句帶來(lái)的危害已經(jīng)討論得很清楚了,就是還沒(méi)有得到一個(gè)清晰的結(jié)論而已。所以,范含在這封信里面,干脆利索的提出了“軟件工程”得說(shuō)法。

另外,生怕奧爾森沒(méi)有領(lǐng)會(huì)到這個(gè)劃時(shí)代思想的重要意義。信中特別展開(kāi)說(shuō)明了一番。

信中指出:我們當(dāng)前的計(jì)算機(jī)行業(yè)正處于軟件工程初級(jí)階段,當(dāng)前的主要矛盾就是計(jì)算機(jī)用戶日益增長(zhǎng)的軟件需求和開(kāi)發(fā)人員落后的生產(chǎn)力之間的矛盾。這個(gè)主要矛盾貫穿于整個(gè)軟件工程初級(jí)階段和軟件開(kāi)發(fā)的各個(gè)方面。

信中指出:軟件工程理論是在軟件生產(chǎn)逐漸取代硬件生產(chǎn)成為業(yè)界難題的情況下形成和發(fā)展起來(lái)的,是在總結(jié)我們軟件開(kāi)發(fā)的教訓(xùn)經(jīng)驗(yàn)中建立起來(lái)的。軟件工程理論抓住了“什么是軟件開(kāi)發(fā),怎樣進(jìn)行軟件開(kāi)發(fā)”這一根本問(wèn)題,深刻揭露了軟件生產(chǎn)的本質(zhì),把對(duì)軟件的認(rèn)識(shí)提高到了新的高度。

信中指出:所謂軟件工程理論,就是堅(jiān)持用科學(xué)、客觀的方法觀察業(yè)界,對(duì)業(yè)界其他計(jì)算機(jī)公司的成敗、發(fā)達(dá)公司和發(fā)展中公司經(jīng)營(yíng)的態(tài)勢(shì)和矛盾進(jìn)行正確分析,做出明智判斷。

信中還指出了其他許多精辟論點(diǎn),看得奧爾森又飛過(guò)來(lái)一趟,一夜長(zhǎng)談之后,又飛回去了。

奧爾森建議范含將這兩封信公開(kāi)發(fā)表,范含同意了,并且授權(quán)奧爾森可以任意修改,以適合媒體所需稿件的形式。

本來(lái)范含覺(jué)得,像奧爾森這樣內(nèi)行人,處理這些問(wèn)題應(yīng)當(dāng)極為妥當(dāng)。沒(méi)想到,這個(gè)感覺(jué)成了范含人生中少有的幾次判斷失誤之一。

奧爾森把兩封信合并到了一起,原文幾乎沒(méi)刪掉任何東西,相反還添加了許多東西,篇幅擴(kuò)大了一倍,題目被改為《范含和奧爾森致IBM》。

奧爾森在文章里面大肆嘲諷IBM為System360大型機(jī)所開(kāi)發(fā)操作系統(tǒng)的過(guò)程,范含在信中舉的例子被夸張到了不知道什么程度。像“焦油坑”之類的比喻都被拿來(lái)大肆炒作,IBM在奧爾森的筆下成了行動(dòng)粗笨,頭腦簡(jiǎn)單,反應(yīng)遲鈍,蹲在焦油坑旁邊等死的史前怪獸。

范含見(jiàn)報(bào)大驚,這下子可被推到了IBM的對(duì)立面去了。

一不留神,上了賊船,再想下來(lái)可就來(lái)不行了。

不過(guò)IBM的反應(yīng)卻并不激烈,可能想表現(xiàn)一下自己的風(fēng)度,也可能是根本對(duì)范含不屑一顧。

不管怎么樣,這個(gè)松懈的態(tài)度使得整個(gè)七十年代,IBM處處被動(dòng)挨打,面對(duì)范含和奧爾森聯(lián)軍咄咄逼人的攻勢(shì)幾乎毫無(wú)還手之力。

“上當(dāng)了,操!”IBM某高級(jí)官員退休后就此事接受采訪的時(shí)候說(shuō),“那會(huì)兒我們都以為丫就是一作家!”

-------

(第拾壹章完)

-------

注:

(昨天晚上寫(xiě)完全章之后,已經(jīng)到了今天了。實(shí)在太困了,注釋內(nèi)容就沒(méi)來(lái)及寫(xiě)。)

0,感謝各位讀者的參與!很遺憾,這次沒(méi)有人猜中。實(shí)際上,作者出完題就后悔了,如果把題目改成猜繞口令的內(nèi)容,恐怕會(huì)有意思的多。區(qū)分“f”和“h”的繞口令實(shí)在不少,讀者們?nèi)翰呷毫Γ烙?jì)書(shū)評(píng)區(qū)會(huì)極為熱鬧……呵呵。

現(xiàn)在看起來(lái),那個(gè)日本名字的典故實(shí)在是雞肋,刪掉了對(duì)文章一點(diǎn)影響也沒(méi)有。還是文中那句話,這種東西是雙刃劍。己所不欲,勿施于人。

對(duì)于繞口令多說(shuō)幾句。

書(shū)友“寧死也不凡”指出:“日語(yǔ)里有fu無(wú)hu,F(xiàn)音都以fu打頭再加別的元音。所以那個(gè)順口溜讀出來(lái)應(yīng)該是馮馮黃,黃馮黃……”本來(lái)事實(shí)確實(shí)應(yīng)該是這樣。

語(yǔ)音學(xué)界對(duì)于音素的區(qū)分一向有“寬式”和“嚴(yán)式”兩種觀點(diǎn)。

嚴(yán)式觀點(diǎn)對(duì)于音素中任意一點(diǎn)微小的區(qū)別都十分在意。用這種觀點(diǎn)看來(lái),日語(yǔ)標(biāo)準(zhǔn)音的[u],實(shí)際上是咧著嘴的,音標(biāo)應(yīng)該寫(xiě)成“倒著的m”。嚴(yán)式觀點(diǎn)在本世紀(jì)初占據(jù)上風(fēng)。

但是近幾十年來(lái),越來(lái)越多的人認(rèn)識(shí)到,沒(méi)有必要如此吹毛求疵。無(wú)論這個(gè)[u]是噘嘴還是咧嘴,對(duì)我們的聽(tīng)說(shuō)讀寫(xiě)都不會(huì)產(chǎn)生任何誤會(huì)。這種觀點(diǎn)就是“寬式”,目前已經(jīng)成為學(xué)界主流。

另外,更進(jìn)一步的理論也已經(jīng)產(chǎn)生,就是忽略音素的差別,提出了“音位”的觀點(diǎn)。所謂音位,就是在一種語(yǔ)音體系里面的位置,這個(gè)位置可能由于方言或歷史的原因,由幾種相近甚至截然不同的音素共同占據(jù)。

日語(yǔ)里面的“f”和“h”就是這樣,說(shuō)“呼呼”和“夫夫”對(duì)于日本人來(lái)說(shuō)是一回事。日本人并不是不能區(qū)分這兩個(gè)音素,而是不需要去區(qū)分。今天,在絕大多數(shù)人都不是種族主義者的今天,應(yīng)該很容易就理解,日本人分不清“f”和“h”的區(qū)別不是生理的原因,而是心理的原因。

我國(guó)南方人學(xué)習(xí)普通話有個(gè)普通的困難,就是區(qū)分“l(fā)”和“n”。在許多南部方言中,這兩個(gè)音素就占據(jù)了一個(gè)音位,平時(shí)一向不作處理。所以到了學(xué)習(xí)普通話的場(chǎng)合,必須區(qū)分開(kāi)的時(shí)候,一時(shí)難以習(xí)慣。但是經(jīng)過(guò)訓(xùn)練之后,往往效果不錯(cuò)。這和日本人的“f”、“h”是一樣的道理。既然涉及了國(guó)人,我想即便是極少數(shù)種族主義者也不得不承認(rèn),這種“口吃”現(xiàn)象與民族無(wú)關(guān)。

建國(guó)之初,在大力推廣普通話的背景之下,有關(guān)部門(mén)印了一本小冊(cè)子,專門(mén)針對(duì)各地方言的特點(diǎn),推出了特別編配的繞口令。說(shuō)不好繞口令很正常,因?yàn)檎f(shuō)不好才會(huì)去說(shuō)呢,就像音樂(lè)課上的發(fā)音練習(xí)一樣,不存在任何嘲笑的意義。……同樣,本章里主角讓日本人說(shuō)繞口令,僅僅是表達(dá)對(duì)于日本人念不好自己的名字的不滿而已。

不過(guò),書(shū)友“寧死也不凡”的意見(jiàn)并沒(méi)有錯(cuò),尤其是對(duì)于最近的日本人而言。

除了“Fu”之外,作者再舉另一個(gè)例子。

以前日本人對(duì)于英文“team”一詞,用片假名譯為“チーム”,發(fā)音為“七母”。這絕對(duì)是上述音位理論的結(jié)果,對(duì)于英國(guó)人到底念“七”還是念“踢”,日本人是不管的。越到后來(lái),改譯為“ティーム”的就越多。這說(shuō)明,在一部分睜眼看世界的日本人的帶動(dòng)下,越來(lái)越多的人認(rèn)識(shí)到,英語(yǔ)并不是為了日本才存在的。從另一個(gè)角度看,這種變化也許是日本人高舉*理論的偉大旗幟,深入領(lǐng)會(huì)“實(shí)事求是”重要思想的具體表現(xiàn)。

1,著名街機(jī)模擬器“Callus”可以說(shuō)十分完美,很好的滿足了當(dāng)年因?yàn)榻?jīng)濟(jì)原因沒(méi)能打遍街機(jī)游戲的作者懷舊的yu望。系統(tǒng)開(kāi)銷很小,基本上只要現(xiàn)在還沒(méi)扔的電腦就能跑起來(lái)。以前在宿舍里面,作者和同學(xué)們就憑著一臺(tái)32兆內(nèi)存,雜牌CPU(性能相當(dāng)于奔騰166)的機(jī)器打完了里面附帶的所有ROM,畫(huà)面聲音相當(dāng)流暢。

這個(gè)模擬器很早就已經(jīng)停止開(kāi)發(fā)了,傳說(shuō)是幾個(gè)開(kāi)發(fā)者被舉報(bào),在警方上門(mén)逮捕的時(shí)候驚慌失措,失手誤殺了一名警察。后來(lái)在法*所有人都承諾今后不再?gòu)氖氯魏文M器相關(guān)的工作。

少了Callus確實(shí)是非常遺憾,不過(guò)好在現(xiàn)在我們還有“MAME”,包羅萬(wàn)象的街機(jī)模擬器,一個(gè)從項(xiàng)目管理到法律支持都非常完美的開(kāi)源項(xiàng)目。……有興趣的朋友可以自己去找。

2,關(guān)于Lex和Yacc,有興趣的朋友可以去參考一本O’Reilly的書(shū)《Lex & Yacc, second edition》,奧萊利中國(guó)公司已經(jīng)推出了中文版。

關(guān)于“編譯原理”,以前是計(jì)算機(jī)專業(yè)的必修課,作者是數(shù)學(xué)專業(yè),沒(méi)上過(guò)。不過(guò)聽(tīng)說(shuō)后來(lái)的科班也不上了,不光國(guó)內(nèi),美國(guó)也是這樣。這說(shuō)明當(dāng)前的編譯技術(shù)已經(jīng)成熟,成了專門(mén)化的學(xué)問(wèn)(就像數(shù)論一樣),需要研究的人去研究就成了。另一方面也說(shuō)明,編譯器輔助工具的水平,已經(jīng)到了傻瓜化的地步,任何需要的人只要看看幫助,就能快速產(chǎn)生正常工作的分析代碼。

3,關(guān)于IBM的著名大型機(jī)系統(tǒng),“System 360”,書(shū)友“異域狂想者”已經(jīng)在書(shū)評(píng)區(qū)替作者寫(xiě)了注釋,這里不再重復(fù)。不過(guò),正是由于在開(kāi)發(fā)這個(gè)機(jī)種的操作系統(tǒng)的時(shí)候,IBM陷入了“焦油坑”,才導(dǎo)致后來(lái)業(yè)界(不僅僅是IBM)痛定思痛,把軟件開(kāi)發(fā)的工作重點(diǎn)轉(zhuǎn)移到了“軟件工程”上面來(lái)。

4,最后,提一下開(kāi)頭“引語(yǔ)”的問(wèn)題。

在漢語(yǔ)里面,對(duì)于“神”、“仙”、“圣”、“賢”的區(qū)分是很清楚的。

所謂“賢”,基本上德高望重的人都有資格當(dāng)。

所謂“圣”,就算是很高的評(píng)價(jià)了。孔子也僅僅被稱為“圣人”,后來(lái)的那些“圣人”也基本上是有資格配享孔廟同吃冷豬肉的人。

所謂“仙”,那是道家的東西,也是從凡人修煉而成的。另外,“佛”也是凡人,一旦覺(jué)悟了,誰(shuí)都能成佛。

所謂“神”,就是“子不語(yǔ)怪力亂神”的“神”,通常是擁有超自然能力的家伙。

東方(尤其是中國(guó))的宗教哲學(xué)都是現(xiàn)實(shí)主義的,不會(huì)太邪乎。所以有人說(shuō),中國(guó)只有原始宗教(后來(lái)流傳民間的各種崇拜以及衍生的信仰也沒(méi)有超越原始宗教的范疇),從來(lái)就沒(méi)有形成真正意義上的宗教。……其他地方則不然。

作者一直沒(méi)搞清為什么“Holy Bible”會(huì)被翻譯成“圣經(jīng)”?按照漢語(yǔ)的理解,翻譯成“神經(jīng)”才名副其實(shí)。或者當(dāng)時(shí)的華人根本就不認(rèn)為洋來(lái)的和尚會(huì)比儒家學(xué)說(shuō)高出一籌,給予孔子的待遇已經(jīng)是很高了。

有些事情不能光靠嘴皮子說(shuō),我說(shuō)世界是我造的就真是我造的么?相比之下,東方的信仰反而有實(shí)事求是的精神,該是什么就是什么,從不拿邪乎的東西故意糊弄愚夫愚婦。想當(dāng)然的覺(jué)得一個(gè)大“神”應(yīng)當(dāng)很偉大并頂禮膜拜之是很輕率的做法,其嚴(yán)重程度和在網(wǎng)上把信用卡密碼隨便告訴一個(gè)自稱銀行工作人員的家伙是一樣的,所以一些聊天軟件才會(huì)特意提醒。

再說(shuō)了,吹牛又不是很難的事,只要有膽量,盡可以從傳統(tǒng)宗教手中爭(zhēng)奪信徒。別看有些“神”已經(jīng)“全知全能”,沒(méi)法再厲害了。只要說(shuō),再厲害也不過(guò)是在這個(gè)層次里面充大個(gè),高層次的家伙看來(lái),丫也不過(guò)是凡人罷了……不就得了?(怎么聽(tīng)起來(lái)有點(diǎn)耳熟?)

扯遠(yuǎn)了,扯遠(yuǎn)了。總之,既然“神經(jīng)”這個(gè)詞人家不用,那就我用。

主站蜘蛛池模板: 莒南县| 延庆县| 重庆市| 绩溪县| 河北区| 阳春市| 永定县| 建平县| 台北县| 贡嘎县| 靖安县| 黔南| 乌拉特前旗| 桓台县| 江达县| 邵武市| 唐山市| 彭州市| 正镶白旗| 东方市| 秦皇岛市| 思茅市| 广德县| 梅州市| 页游| 即墨市| 永胜县| 龙里县| 通州区| 敦化市| 南皮县| 鲁山县| 广德县| 曲阳县| 光泽县| 大余县| 沭阳县| 横山县| 凤庆县| 石门县| 宁远县|