編程大師訪談錄 前言
本文關(guān)鍵詞:編程大師訪談錄,由筆耕文化傳播整理發(fā)布。
前言
對當(dāng)代最有聲望的程序員進(jìn)行系列訪談的這個想法,是由微軟出版社的出版人Min S. Yee提出的。Yee熟悉軟件創(chuàng)作過程中的艱難與喜悅,自己又寫過幾本書,所以當(dāng)他在微軟(主要是一個軟件公司,不過也是一個出版社)工作時能注意到作家和程序員工作的相似性,也就不足為奇了。他與微軟程序設(shè)計人員之間的交談揭示出了編程的藝術(shù)、手藝和科學(xué)之間大量細(xì)微的差異。Yee發(fā)現(xiàn)書店中有無數(shù)有關(guān)"如何"編程的書,但是以個性化、深入的方式展示軟件設(shè)計人員的經(jīng)驗、方法和哲理的內(nèi)容卻非常匱乏。所以,微軟出版社決定揭示軟件背后的思想和個性。而我們認(rèn)為最好的辦法就是讓這些人在出版的訪談錄中講述自己的故事。
這些訪談不是為了詢問程序員有關(guān)項目的秘密,也不是要收集他們對軟件業(yè)日常進(jìn)展情況的意見。我們的目的是討論那些在這個激動人心又快速發(fā)展的行業(yè)中常常被忽視的、不受時間影響的事情。我們想要揭示開發(fā)Macintosh那樣的操作系統(tǒng)、Lotus 1-2-3那樣的應(yīng)用程序、《吃豆人》(Pac Man)那樣的計算機游戲的神秘之旅。我們問了這樣的問題:那些想法是從哪里來的?把想法轉(zhuǎn)化為現(xiàn)實有多難?開發(fā)大型程序是什么感覺?這是一門藝術(shù)還是一門科學(xué)?是手藝還是技能?同樣的事情還能再做一次嗎?
作為采訪者,我的目標(biāo)不是支配、欺騙或操控。我沒有想著要教別人怎樣說話。我的目標(biāo)是盡可能不被人注意,讓程序員自由地反思、反省,然后用言語把他自己的編程方法表達(dá)出來。
在訪談過程中,我盡可能問所有程序員相同的問題,這樣以后可以對這些訪談進(jìn)行研讀和比較。我們覺得開放式的常規(guī)問題有助于突出編程方法間的相似與差異,讓每個程序員的個性和特殊興趣都顯現(xiàn)出來。實際情況也是這樣的。有些人,如加里·基爾代爾和巴特勒·蘭普森,給出了關(guān)于編程理論和實踐方法的真知灼見;另一些人,如丹·布蘭克林和鮑勃·卡爾,把主要精力放在了對特定程序開發(fā)過程的探討上;還有一些人,如鮑勃·弗蘭克斯頓和加隆·蘭尼爾,對軟件和微機的未來進(jìn)行了思考。這些發(fā)人深省、內(nèi)容各異的討論開始勾勒出當(dāng)今各種各樣、不落窠臼的程序員的群像。
有些時候,,我會和程序員們見兩三次面,談上幾個小時--沉思、談?wù)、探索。但是,訪談結(jié)束并不意味著整個過程也結(jié)束了。我們從磁帶上將訪談內(nèi)容記錄下來,編輯、精簡,然后返給程序員們,這樣他們可以讀一讀自己說過的話。他們可以對訪談內(nèi)容再加工,確保能確切表達(dá)出自己的意思。
此外,我們還請每位程序員都提供一份與工作相關(guān)的樣本,可以是一段代碼、一個程序、一些程序設(shè)計的草稿或是信手涂鴉,這樣讀者可以看到程序員在紙上寫下想法時的風(fēng)格。我們收到了各種各樣的材料,有些具有很高的歷史價值。比如,我們從丹·布蘭克林那里收到了VisiCalc早期設(shè)計的草圖。安迪·赫茲菲爾德送來的樣本也是別具一格:一個完整的程序,有30多頁,是Macintosh計算機上叫做IconBounce的程序。所有這些都深刻揭示了這些人的想法和工作。
世界上的優(yōu)秀程序員為數(shù)眾多,他們不會都出現(xiàn)在本書中。所以,這是對當(dāng)代杰出程序員進(jìn)行訪談的系列圖書的第一本。
在這個不斷變化的行業(yè)中,每一天都有新的突破,會引入一個創(chuàng)新的軟件,會成立一家新公司。行業(yè)中,明星起起落落只是一夜之間的事情。要找出所謂世界上最優(yōu)秀的20個左右的程序員,那是在抓瞎。所以我們選取了具有特定專長和閱歷的一群人。訪談對象主要是微機程序員,不過有些程序員在小型機和大型機上也有豐富的經(jīng)驗。
"程序員"一詞有不同的含義,所以本書的書名是有點問題的。在軟件行業(yè),"程序員"一般用來描述編寫和開發(fā)能在計算機上工作的軟件的人。隨著軟件行業(yè)越來越尖端,軟件越來越復(fù)雜,軟件設(shè)計人員和程序人員之間正出現(xiàn)越來越多的差別。針對本書,程序員一詞指軟件開發(fā)人員或軟件設(shè)計人員,常常但并非總是涉及實際代碼的編寫。書中的有些人,像巴特勒·蘭普森、巖谷徹和杰夫·拉斯金,承認(rèn)自己并沒有參與到程序源代碼的編寫工作中,他們認(rèn)為自己并不是程序員,而是軟件設(shè)計人員。他們可能構(gòu)思了程序的總體想法、開發(fā)了算法、編寫了規(guī)格說明書、設(shè)計了功能,但也許并沒有一行一行地輸入那些構(gòu)成程序的代碼。把這些各不相同、多才多藝的人歸到某一類總是很困難的。
本書努力從大量優(yōu)秀程序員中篩選出一些人,他們中有些人的照片曾出現(xiàn)在雜志封面上,而有些人則鮮為人知。他們代表了不同年齡段、經(jīng)歷各不相同的人。有的年紀(jì)大些,現(xiàn)在正是40多歲,是他們最早發(fā)起了微機革命;有的年輕,他們充滿活力、不守舊,正準(zhǔn)備推動新計算機革命超越了已往的成就。這里有上班族,像C. 韋恩·萊特萊夫和查爾斯·西蒙尼;也有堅定的獨立工作者,如喬納森·薩奇和彼得·羅伊森;還有熱情的企業(yè)家,如雷·奧奇、加里·基爾代爾和比爾·蓋茨。我們發(fā)現(xiàn)有些人能夠帶給我們許多啟發(fā),有些人能讓我們幡然猛醒;有些人取得了巨大成功,有些人卻不太成功。但是毫無疑問,書中訪談的程序員都是杰出的,我們體會了他們對編程這個創(chuàng)意過程的深刻見解,看到了計算機行業(yè)中各種各樣的人和經(jīng)歷。
雖然訪談的目的是介紹活躍在業(yè)內(nèi)的程序員,但是本書也成為了一部軟件行業(yè)的外傳,這是由一些主要參與者講述的。本書的順序大致反映出這個行業(yè)的歷史,雖然很多人現(xiàn)在已經(jīng)轉(zhuǎn)向新的產(chǎn)品,擁有了新的專長。
本書的第一位被訪者是查爾斯·西蒙尼。他于20世紀(jì)60年代在匈牙利開始計算機研究,那時他用的是一臺蘇聯(lián)制造的Ural II計算機。接著受采訪的是巴特勒·蘭普森,他是查爾斯·西蒙尼在加州大學(xué)伯克利分校的教授,也是西蒙尼后來在施樂公司帕洛阿爾托研究中心(下文簡稱施樂PARC)的工作伙伴。蘭普森參與了Alto個人計算機的開發(fā)工作,他參與的其他很多基礎(chǔ)研究工作都直接推動了微機革命。約翰·沃諾克,另外一位在施樂PARC工作過的研究員,也是PostScript的開發(fā)人員,是從猶他大學(xué)來到西海岸的。在猶他大學(xué)的時候,曾參加了在Evans和Sutherland領(lǐng)導(dǎo)下的計算機圖形研究最鼎盛時期的工作。
接下來受訪的是加里·基爾代爾,他開發(fā)了個人計算機上的第一個操作系統(tǒng),叫做CP/M。因為比爾·蓋茨在BASIC方面的工作,我們接下來采訪了他,BASIC是使用最廣泛的一種計算機語言。約翰·佩奇,PFS軟件產(chǎn)品線的設(shè)計人員,是最早一批為商業(yè)領(lǐng)域中新出現(xiàn)的個人計算機用戶定制程序的人。C.韋恩·萊特萊夫開發(fā)了dBASE,這是最先進(jìn)的數(shù)據(jù)庫程序之一,在微機革命的很早期就樹立起了聲譽。然后我們轉(zhuǎn)而介紹了東海岸軟件行業(yè)的情況,我們找到了丹·布蘭克林和鮑勃·弗蘭克斯頓,他們是個人計算機上一種最早的電子表格程序VisiCalc的創(chuàng)始人。接下來是Lotus 1-2-3的程序員喬納森·薩奇,然后我們又與雷·奧奇進(jìn)行了交談,他在為Lotus開發(fā)Symphony之前,先后在Data General(總部設(shè)在波士頓的一家小型計算機公司)為喬納森·薩奇工作、在Software Arts為丹·布蘭克林和鮑勃·弗蘭克斯頓工作。接下來我們采訪了彼得·羅伊森,他開發(fā)了T/Maker,這是另外一個電子表格程序,比VisiCalc晚6個月問世。再接下來是鮑勃·卡爾,他開發(fā)了Framework,那是Symphony的競爭產(chǎn)品。然后我們又把注意力放到了Macintosh計算機上,我們對杰夫·拉斯金進(jìn)行了采訪,他是最初負(fù)責(zé)Macintosh項目的人。還有安迪·赫茲菲爾德,Mac操作系統(tǒng)的開發(fā)要歸功于他。
本書最后一組程序員是一些更加喜歡革新的、具有藝術(shù)氣質(zhì)的程序員。我們在日本東京找到了極為成功的《吃豆人》游戲的設(shè)計者巖谷徹,聽他談了他的作品背后的理念。斯科特·金,一位圖形設(shè)計人員、音樂人,同時也是一名程序員,討論了第四方軟件和全新的用戶界面設(shè)計理念。加隆·蘭尼爾也是一個音樂人,之前開發(fā)過游戲,目前正在參與可視化編程的工作,他認(rèn)為可視化編程將為我們的計算機體驗增加一個新的維度,會給編程帶來一場革命。最后,我們采訪了盧卡斯影業(yè)公司的邁克爾·霍利。他24歲,是本書中最年輕的程序員(同時也是音樂人)。他目前參與的工作是為SoundDroid開發(fā)軟件。SoundDroid是一種新型計算機,將用于編輯和創(chuàng)作電影中的音頻部分。
我們希望本書可以為雄心勃勃的年輕程序員,以及那些希望從專家那里了解到軟件行業(yè)成功秘密的專業(yè)人士提供指導(dǎo)。不過本書不僅僅具有指導(dǎo)價值,它還是一本非常好的讀物,它將軟件行業(yè)幕后的一幅幅場景活化在你面前,并且詳述了在開發(fā)創(chuàng)新軟件產(chǎn)品時出現(xiàn)的大量思想、方法和業(yè)界的風(fēng)云人物。
Susan Lammers
【責(zé)任編輯:云霞 TEL:(010)68476606】
回書目 下一節(jié)
原文:編程大師訪談錄 前言 返回讀書頻道首頁
本文關(guān)鍵詞:編程大師訪談錄,由筆耕文化傳播整理發(fā)布。
本文編號:199160
本文鏈接:http://sikaile.net/wenshubaike/mishujinen/199160.html