嚴援朝,1951年10月26日生,華中科技大學畢業,高級工程師。他是ccdos和MSOA的作者,長城0520CH微機的主要設計者。曾獲國家科技進步二等獎。他主持開發長城0520顯卡,設計人民大會堂電子表決系統,參與創辦四通利方,掌控新浪技術總架構。他還是CCDOS發明人和四通利方中文支撐環境主要開發者之一。
個人簡歷
1968年9月,在呼倫貝爾市莫力達瓦旗插隊;
1972年10月,在河南平頂山市姚孟電廠做工人;
1973年9月,在武漢市華中科技大學電機系學習;
1976年9月,在畢業回姚孟電廠任技術員;
1979年3月,在北京低壓電器廠做工人;
1980年1月,在第四機械工業部第六研究所任技術員;
1986年,任中國計算機發展公司昆侖發動機電子印刷設備公司副總工程師;
1988年9月,任保利電子技術公司副總經理兼總工程師;
1992年1月,任集成電子技術公司董事長兼總工程師;
1993年8月至今,任四通集團公司集團公司總工程師,四通利方總工程師。
生平事跡
這個標題想來不會太稱嚴援朝的意,一個ccdos怎能把整個嚴援朝概括!CCDOS之外,嚴援朝還做過許多有意義的事:比方說,主持開發使長城0520成為0520CH的CH顯卡,讓漢字能像西文一樣實現25行快速顯示;再比方說,主持設計的人民大會堂電子表決系統,是全世界最大的電子表決系統。然而,不管這些成就有多么了不起,也無論嚴援朝在它上面花了多少心血,卻總也無法和他那個只花了5個月時間寫就的
CCDOS相提并論。CCDOS實在是太耀眼了,它對中國人使用PC具有里程碑的意義。人們可以不知道嚴援朝,但無論如何無法越過ccdos談論中國PC事業的起始。
另外,將CCDOS和嚴援朝并列,雖說可以就此把嚴援朝定義為中國第一代最著名的程序員,但CCDOS畢竟意味著過去,意味著15年以前,嚴援朝在被人尊稱為老前輩的同時,也被人劃歸到只會用匯編的過時人物。但實際情況并不是這樣,1985年,當別人在用Debug改他的CCDOS的時候,嚴援朝已經開始用c語言寫字處理軟件XE了。當我們稱贊他用C語言很早時,嚴援朝大聲說:“還早啊,都1985年了。”用完C++,他現在馬上又要改用Java了。
作為四通和四通利方的雙料總工程師,在這個以技術立業的公司里,嚴援朝要求自己做到凡是公司涉及的新技術他都得會。“作為總工,我不敢說樣樣精通,但至少要懂,而且,在出現問題的時候,能馬上接得上手。要是我真的不行了,那么,也就到了我該隱退的時候了。”
今年已經47歲的嚴援朝現在負責利方多元系統支撐環境的設計工作,為手下寫的程序“扒”Bug,實在缺人的時候,他還要挽起袖子自己寫程序。所以,《嚴援朝沒老》可能更適合本文,但這樣的標題能吸引幾個讀者的注意?讀者關心的是——ccdos的誕生
1983年,國家計算機工業總局在京召開全國計算機協調工作會議,會議把生產IBM PC兼容機定為中國計算機發展的方向。生產IBM兼容PC,硬件廠商沒有問題,關鍵在軟件,在于PC上一定要有漢字系統,但那個時候做漢字系統,是一非件常困難的事。此前為了讓ZD2000漢字終端能處理漢字,花了好多年時間。所以,與會專家大都認為,想讓PC在5個月內具備處理漢字的能力幾乎沒有可能,全國100多家大學、研究所沒有一家愿意承擔開發漢字系統的任務。
當時已經32歲的嚴援朝在第四機械工業部第六研究所工作,工農兵學員的出身使他連參加這個會議的資格都沒有,是嚴援朝的一個同事會下和嚴援朝講了此事,嚴援朝對他的這位同事說:其實讓PC處理漢字很容易。“因為我前一段做了把電視機改裝成終端的工作。不就是出兩個漢字圖形嗎?很容易!”
嚴援朝沒想到這位同事會把他的話帶回會上去。當時國家計算機工業總局這個項目的負責人俞正聲找到嚴援朝,問他是不是真的能做,嚴援朝斬釘截鐵地說:“能做。”其實,嚴援朝心里并沒有譜,“我是硬著頭皮接了此事,幸好也就干成了。當時膽也大,現在想起來都有些后怕,但人被壓抑到一定份上,就什么都無所謂了。那時精力好,年青好勝,就覺得天下沒有我做不出來的事。”嚴援朝決定“膽大包天”一下的內在原因是,他意識到“這是一個機會,工農兵學員在研究所地位很低。攬下這個課題,我就可以當課題組長了,從一個普
通助理工程師一下升為課題組長,是一個很大的飛躍,是破格提拔。”
嚴援朝接下任務后,開始爭取全所唯一的一臺IBM PC,當時嚴援朝每星期只有一次上機機會,一次兩個小時。嚴援朝提出要想課題如期完成,“這個機器必須歸我使。”有時候要做事,不爭取條件不行。嚴援朝爭取到的這臺IBM原裝PC配置是128K內存、CGA顯示、一個160K軟驅,沒硬盤。嚴援朝和新分來的大學生歡天喜地把機器搬回來后,大學生忙著插電源,結果把110伏的電源插在了220伏的電源上。“我當時就想跳樓。我好容易當上了課題組長,我好容易把設計方案拿了出來,我好容易把機器要了回來,我好容易有了這么一個機會,但是……”俞正聲得知此事后二話沒說,讓香港特別行政區商人送來了新電源。? 條件都滿足了嚴援朝,也該輪到嚴援朝顯示一下自己實力的時候了。1983年3月匯報,為了向專家們證明用軟件方案能在IBM PC上顯示漢字,嚴援朝用BASIC寫了一個程序,在顯示器上畫出了一屏“甲”,第二屏顯示的全是“田”。在此之前,漢字在計算機上顯示都是通過硬件實現的,誰也沒有用純軟件的方法顯示過漢字。? 4月份,嚴援朝拿出總體方案。跟著,他著手把原來漢字終端上的GB7663個漢字字模通過程序拿下來,供ccdos使用。嚴援朝是學摩托羅拉芯片出身,會的是68系列的匯編語言,英特爾的匯編指令他從來沒接觸過,嚴援朝拿著IBM PC隨機帶的手冊,從頭學Intel匯編。
6月24日,嚴援朝正式動手寫CCDOS,6月30日寫完,一共寫了一萬多行。CCDOS源代碼中,有一句是“6月24日”,別人都不知道是怎么回事,在改進CCDOS的時候都沒有刪。寫CCDOS那段時間,嚴援朝一天只睡三四個小時,一天吃一頓飯,一個人在一個很大的機房里面,不停地寫,來不及吃飯,也忘記了時間。?
ccdos遇到過很多技術難題:當時顯卡只能支持到320×200分辨率。這樣的分辨率用來顯示西文沒有問題,一個西文字符用7條線就可以顯示清楚,所以,可以支持25行顯示而一個漢字要15條線才能顯示清楚,所以,最多只能支持10行漢字,一行提示,但CCDOS又必須支持25行的西文軟件。這下可把嚴援朝難壞了。嚴援朝費了15天時間想出來做一個“虛屏”,用自動判斷的方法解決這個問題。這樣一來,CCDOS就能支持25行的BASIC、EDIT、WordStar、dBASEⅡ等西文軟件了。雖然支持得不夠完美,但不管怎么說,“能出來就是好家伙”。
嚴援朝讓分給他的4個大學生做輸入法,“我定義結構和規則,讓他們創造性發揮。漢字終端上有首尾碼,我也沒有看人家的編碼規則,不就是一個漢字頭、一個漢字尾嗎,讓學生按照自己的想法去定就行了。”?
軟件做完總要起個名,ccdos是為中國第一臺PC長城機做的,ChangCheng,取漢語拼音的字頭,就成了CCDOS。CCDOS的含意并不是后來外人猜測的,是“中國字符”的縮寫。
等嚴援朝讓PC第一次顯示出GB第一個字“啊”,等嚴援朝把CCDOS做完,眾人才明白原來做漢字系統這么容易,輸入、顯示漢字這么簡單。“很快,在1984年、1985年滿大街盡是各種各樣的dos。我的源代碼誰都可以COPY,誰都可以分析,我是國家工作人員,如果這東西對大家有用,我干嘛護著不給大家。”
嚴援朝沒有在ccdos上署名。“CCDOS是國家‘六五’項目。再說,我們家也沒有這個傳統。直到現在,我寫程序從來不署名。”
1983年8月,CCDOS在北京展覽館亮相,轟動一時,嚴援朝因此第一次出國,去了趟瑞士參加展覽。
長城0520CH的那塊卡
在8088只有4.77M的CPU上用軟件方法處理漢字,想速度快,顯示漂亮是不可能的事。在做CCDOS之初,嚴援朝就提出另外一套硬方案:把漢字做到顯卡里面。
1984年8月,嚴援朝隨六所、738廠和清華大學開赴香港特別行政區,為長城PC開發配套的圖形漢字顯示卡。漢字顯示卡做了出來,實現了25行漢字顯示,但漢字顯示速度還是太慢,一行一行地滾屏。現在的長城汽車總裁王之看了,不是太滿意,嚴援朝就說他還有一個方案,可以解決速度慢的問題。
這樣,由嚴援朝帶隊一行10個人第二次來到香港重新做。“香港一個工程師配合我,主意我出,活他干,我們一塊調試,一個多月,就把新卡做了出來。”
嚴援朝的實現方法是,在顯卡里面做了一個漢字字符發生器,要顯示漢字時,只需把漢字的代碼送到顯示卡,再由顯示卡里的字符發生器負責把漢字代碼解釋成漢字圖形在屏幕上顯示出來。ccdos實現漢字顯示的方法是用軟件在屏幕上畫圖,
所以很慢;在香港特別行政區做的第一個方案由于向顯示卡傳輸的不是精簡過的漢字代碼而是漢字圖形,CPU負擔過重,所以也快不起來。
1985年,長城0520CH生產出來,拿到美國COMDEX展覽,其640×480的分辨率、25行顯示漢字的能力引起了很多人的注目。“日本人趴在那,拼命畫我們的電路圖,想搞清楚我們是怎么做出來的。”?
長城汽車0520CH的出現,使IBM專為中國設計的IBM550在國內賣不下去。“我們把所有的漢字全放在了顯示卡里,IBM550只放了一部分,用的時候需要置換;我們的機器漢字是漢字,圖形是圖形,還可以往一塊疊,IBM550不行;另外550要用專門的軟件,我們用通用軟件。”
從香港特別行政區回來,開發組的每個人獲得了一臺18英寸彩電的獎勵。1986年,ccdos被評為國家科技進步二等獎,嚴援朝拿到了2000元獎金。除去這點獎勵,嚴援朝做再多的工作,都是按月拿固定的幾百元工資。嚴援朝不在意這些,也不在意別人修改他的軟件掙了大錢,他的快樂在于:“我覺得我能夠左右世界。那個時候,PC處在起步階段,我做成什么樣子,人家就用成什么樣子。我手下有那么多清華大學的老師,我要他們做什么。他們就做什么,我說你把這個軟件做成這個樣子,他就把軟件做成這個樣子,我說你把硬件設計成這樣,他就把硬件設計成這樣。最后,拿出來的機器,都是我腦子里原先都想好的藍圖。一年之前想好的藍圖,一年以后,就創造了出來,心里特別高興。人家給不給錢是一回事,但這東西是我想出來的,而且很多人都挺喜歡用,這就足夠了。”
被迫學新東西
嚴援朝是那種知道激流勇退道理的人,做事情做到一定程度,當他發現再做下去的條件不具備了,他就會主動退下來,換別的事情做。這樣做雖然可以避免自己受傷害,但也逼著他要不斷學新東西。“我搞什么,都不允許我搞到底。做微處理器時,軟件硬件一起上,出現了搞漢字的機會,沖上去做漢字系統;做到一定程度,又得退下來,寫真正的應用軟件,和人家拼,那沒辦法只得學c語言;用C寫完字處理、排版軟件,又要去搞應用;搞應用,不用C++寫不了應用軟件,現在又該用Java了。”嚴援朝把學新東西歸結為“一切都是生活所迫”。
1985年,嚴援朝離開了中國計算機發展公司。“我本來還有機會去做創造性的事情,但是條件沒了。”離開時,單位覺得嚴援朝做出了很大貢獻,給他提了高工。嚴援朝來到昆侖電子印刷設備公司。“不讓我做系統工作了,我就做軟件,我寫軟件也一定能做得挺好的。”煩悶之中嚴援朝想到這,嘻嘻笑了一下,隨手在計算機上打了個XE(嘻)。XE就成了嚴援朝寫的第一個字處理軟件的名字。后來,別人為XE找了一個很好的解釋:X表示任何未知數,E表示easy,合起來,就是Anythingeasy(任何事物都容易)。這個解釋很符合嚴援朝的性格,“不知道,沒關系,只要讓我做,肯定能做。”?
XE花了嚴援朝近一年的時間。XE是一個用來取代WordStar的字處理軟件,它利用了長城0520CH的特點,顯示速度很快,能同時開四個窗口,編輯四個文件。“CH是我設計的,我當然知道CH里面所有的秘密、所有的特性。”?XE只能在長城汽車PC上用,所有用戶也就一兩萬。嚴援朝認為長城機在處理漢字技術遠遠領先的情況下沒能占領大部分市場,是不肯單賣CH顯卡的緣故。?做完XE,嚴援朝又寫了一個命令行的排版軟件,有點像現在的WPS,但也沒賣開。早在1984年的時候,嚴援朝就提出過做文字處理機,但沒有機會做。
1988年,離開昆侖公司的嚴援朝特別想去國家信息中心搞大型機,搞真正的計算機研究。但有朋友極力勸他去做保利電子公司,這樣嚴援朝就成了保利電子公司的副總經理兼總工程師。在那里,嚴援朝用9個月時間主持設計完成了人民大會堂第一套電子表決系統。“這是世界上最大的電子表決系統,有1700多個席位,電纜用了50多公里,幾百人負責施工,部隊派了好幾千人幫助測試。”
1992年,嚴援朝離開保利電子公司的時候,終于想到自己開公司,可是后來,“我發現我辦不了公司。第一、我賣東西肯定要賠,我老懷疑自己賣給用戶的東西值不值;第二、人事方面的事情糾纏在一起的時候,對我來說,就變得非常難。”盡管嚴援朝辦的集成電子公司有一個不錯的產品——MSOA可視化的排版,也承建過北京市公安局的戶籍系統。但嚴援朝發現自己不適合辦公司后,果斷把公司委托給了一個朋友。“現在人家干得挺好,比我在的時候辦得好。”嚴援朝與王志東
嚴援朝、王志東走的是相同的路:寫程序成名,然后自己開公司。王志東自己為自己做主,掌起四通利方帥印,在總經理的位置上越坐越有感覺;嚴援朝自己開公司做董事長,雖然手里也有不錯的產品,但公司
卻總是做不起來,最后甩手而去,把公司交給自己的朋友打點,小公司竟越滾越大,生意越做越紅火。?
相關信息
嚴援朝經歷坎坷,但嚴援朝很幸運,他最終找到了最適合他做的計算機工作。
1968年,17歲的嚴援朝去呼倫貝爾市莫力達瓦旗插隊。4年后,靠父親的朋友幫忙,他來到平頂山市姚孟電廠做工人,當時的想法是做工人總比插隊做農民強。1976年,從華中科技大學畢業,回廠做技術員。1979年,為了回北京,嚴援朝求廠長把他降格為工人,因為干部不許對調回京。進北京低壓電器廠焊了一年板子的嚴援朝很苦悶,他哥哥把他推薦給了當時在四機部六所工作的俞正聲,通過俞正聲介紹進了六所。?
報到第一天,室主任問嚴援朝:你會計算機嗎?見都沒見過計算機的嚴援朝說,我會!“我干嘛說我不會。我說,我什么都懂,我都會。只不過沒有機會接觸,但我都知道。”嚴援朝當時知道的僅限于曾經聽說過“8”什么,他連8008處理器都說不全。?
室主任給了嚴援朝三本講微處理器的書,嚴援朝看了三個月。三個月后,室主任問嚴援朝看得怎么樣,嚴援朝說,我什么都會了。“真沒有什么難的,80年代,計算機剛剛起步相對來說,都比較簡單。”室主任就讓嚴援朝改造一個進口的單板機,加內存,改軟件,添外設,嚴援朝用了一個多月就完成了。看到嚴援朝真行,室里面就讓他正式參加課題組參與設計摩托羅拉系列的計算機。?
有人說,嚴援朝沒有任何基礎,能做計算機,而且做得很出色,是個天才;嚴援朝卻認為,所有人的智商都差不多,最主要的事情是,有沒有一個很好的機遇,找到最適合自己做的事。他的幸運僅在于,在各種各樣的組合條件下,找到了最適合他做的事情。“一進六所,看完三本書,我就覺得,計算機這東西對我來說,絕對不神秘,太容易了。一份從來沒接觸過的工作,一接觸就明顯地比別人高一籌,這就是最適合你的工作。比如,做買賣,一做就明白做買賣是怎么回事,那你肯定適合做買賣,你就不要再想別的事了。而一個工作你學了十年,整天抱著書看,感覺特別痛苦,還很難,這事你干脆放棄算了。”?
嚴援朝認為自己看問題的方法和思維方式,特別適合計算機“說一不二”的原則。“對就是對,錯就是錯,計算機從不蒙人。”“我這個人記性很差,計算機倒也簡單,就是0和1,只要記住基本的兩三條規律就行。既然我在記憶方面不如別人,那我在別的方面肯定比別人強,我在兩三條規律的靈活應用方面、拓展應用方面能力就很強。數據結構,我沒學過,我看了五天,我覺得我腦子里原來就是這樣想的。”?在嚴援朝眼里,寫軟件的過程就是弄清楚自己將要寫的軟件“是什么”的過程,“把軟件的目標一直分解下去,分解到許多個最簡單的“是什么”,分解完了,這個軟件也就設計完了。”“做軟件就是在不斷地明確目標,就是搞清楚你的GO是什么,所有的軟件都逃不出那三句話——IF、THEN、ELSE。棒的程序員很快能夠知道自己的GO是什么,老沒長進的程序員老也弄不清楚自己到底要干嘛,所以永遠處在學習過程中,手里永遠拿著一本書,永遠在學,永遠也學不會。我也看計算機書,但看書的方法不一樣,我能在很短的時間內找到書里最關鍵的幾句話,然后把書扔了。”?
“我希望做軟件工作的人,都是適宜做軟件工作的。但事實上是做不到的,能夠知道自己最適宜做什么是很難的,有些人可能一輩子在做他不適宜的事,沒有機會啊,假如沒有ccdos的機會,我也不會去做軟件。”?因此,嚴援朝清醒地知道,大型的軟件不能依賴像他這種人,而是要依賴一大批普通的、有扎扎實實基礎的工程師。
沒長進的程序員老也弄不清楚自己到底要干嘛,所以永遠處在學習過程中,手里永遠拿著一本書,永遠在學,永遠也學不會。”這是嚴援朝很經典的一句話,甚至有程序員把這作為自己的座右銘。作為中國第一代程序員的象征,他如今依然負責在新浪的整體技術架構上。不知是不是嚴援朝怕別人忘記自己,不久前,從新浪網炮制出了兩篇文章,大談自己的一些深奧看法。其實如果單純是這種原因,應該大可不必,因為嚴援朝在中國軟件開發史上奠定的地位無人可撼。
卻總是做不起來,最后甩手而去,把公司交給自己的朋友打點,小公司竟越滾越大,生意越做越紅火。?
舉這個例子是想說明:不是每一個成功的程序員開公司都能成功,也不是每一個成功的程序員開公司都不能成功。關鍵要看自己是不是適合開公司做總經理。怎樣才能知道自己究竟是不是適合?沒別的辦法,只能試。王志東一試,覺得很適合,繼續做;嚴援朝一試,發現不行,調回頭繼續做他的程序員,當他的總工。在我們看來,這兩種結果都非常正常,都非常自然,絕對不能說王志東試成功了,很有意義,嚴援朝沒試成功,就是白費時間。生命貴在迎接未知的挑戰,本可以一試,因為怯懦,到最后連自己都無法搞清楚自己究竟是不是適合做某事的境遇,才值得惋惜呢。? 一個人在某方面取得了一定高度的成就或者有了既得利益之后,就很難否定自己,很難鳳凰涅磐,尋求新的突破,然而“總是走在老路上”的生命有何意義?弗里德里希·尼采說,“錯誤不是盲目,錯誤是膽怯……任何成就,任何進步都源自勇氣,源自對自己的強硬態度,源自針對自己的整飭。”成功的人一定是勇敢的人。
1993年,微軟請國內大公司幫助推廣Windows,讓國內公司出人巡回講課。四通的王杰找到嚴援朝,請他代表四通講面向對象的設計。從此,嚴援朝和王志東走到了一起。?
參考資料 >