最淺與最深的組合

>>>  名人論史——近當代作家的史學觀點  >>> 簡體     傳統

發表日期 : 1994.07

這個月我為你介紹兩本適合初學者的入門好書,
以及一本艱深得可以的
Windows VxD 程式設計書籍。

不告而別兩個月,很抱歉,謝謝讀者來信關心。沒有與你見面的原因當然是因為忙碌,雖然想學習拿破侖一天睡四小時,無奈人力渺渺,沒那個天份。看書仍持續在進行,沒有提筆的壓力,到底是輕松快樂了許多。寫作令人痛苦也令人快樂,痛苦愈大快樂愈多。無責任書評是所有我的作品中最鍾愛的一個單元,當然你也就可以想像我為了它蒙受多大的痛苦。

陸陸續續不少讀者問怎麼能在短時間內看那麼多書又那麼詳盡。一來我的興趣是吸收新知 (這也算是我的工作),二來我從沒說過看這些書是輕輕松松的。頭懸梁錐刺骨,我也是三更燈火五更雞的學習,內子常笑我比考大專聯考還用功。有位讀者很細心,還記得我說過戰備存糧的話,唉,戰備存糧早用完了。侯捷何嘗不想每個月與你見面,但畢竟營生辛苦。不過,再忙碌我永遠惦記著這個園地。

能夠短時間內吸收許多知識,主因是我常強調的,基礎扎的愈深學習速度愈快,「寧繁勿略 寧拙勿巧」是我對求知的一個原則。另一個因素是寫書評的我不必像真刀真槍的的你必須那麼完完全全地了解書上的每一個技術細節,只要我對書中的技術懂到一個相當程度,我的技術學養能夠判斷哪些重要哪些不重要,我的閱讀經驗能夠判斷文字好不好、章節安排妥當否,然後就可以向你做報告了。侯捷并沒有你想像中的厲害,真的。至於英文能力,眼耳手口 (看聽寫說) 四大招數中侯捷只能耍第一招的半式。是我的技術基礎以及我的勤快 (翻字典) 彌補了我的英文能力,這方面真要感謝電子字典的發明。如果我們有見面的一天 (我在幻想侯捷朋友會什麼的,哈哈),別對我說太多英文名詞,我不想在你面前出糗。

讀者們最常提的另一個問題是關於資料的整理。看的東西太多,對記性是一大考驗。年紀愈來愈大忘性愈來愈好,所以如果你問了一個并不是我眼下正專注的技術問題,即使是我自己發表過的,侯捷可能支支唔唔想個半天,甚至一時答不上來。別誤會我在打馬虎眼兒,這很尷尬的。基本上我對做學問的態度是,專業學門的垂直深度要夠,而相輔領域的水平寬度要廣。欲廣而不浮不濫,你必須有自己一套整理資料的功夫。資料看過容易忘 ? 沒關系,我們又不是隨時要上臺接受考驗的學生或老師,需要資料時知道到哪里去找就行了。并不是所有資料都必須放在腦子里,讓它們躺在架上而你擁有 index,也不錯。還有,買書錢省不得,書似乎不便宜,其實不貴。只要把一本書和一客牛排比較一下,相信你會心甘情愿舍肉體食糧而就精神食糧。我自己需要的技術資料通常不舍己外求,因為書房里有一個小型圖書庫,想要什麼資料轉過椅子垂手取得的那種滋味,棒透了。

買書的錢似乎是浪費掉了,但它就像種子一樣。

看看今天的菜單吧。我們有兩本圖文并茂的電腦常識彩色書籍,以及一本主題相當稀罕的 Windows VxD (Virtual x Device) 程式設計書籍。曾經說過不介紹國內沒有引進的書,避免讀者望洋興嘆,今天又破例的原因是 How xxx Works 系列早已說過要介紹的。許多讀者對於二月份介紹的 How Computers Work 極感興趣,來函詢問如何購買。我自己是看了 PC-Magazine 英文版的廣告後請美國友人寄來的。空運太貴,寄的是海運,飄了足足兩個月。據悉此書代理權已被香港書商取得。(編按:目前在國內已能夠買到這些書籍)。

背景資料 :
書名 How Software Works
作者 Ron White (插圖設計 Pamela Drury Wattenmaker
出版 Ziff Davis Press
頁數 22 章,198 頁
售價 US$ 24.95
磁片 無

Part 1 : How Hardware and Software Work Together
1. How the Microprocessor Runs Software
2. How the BIOS Works with Software
3. How the Operating System Interacts with the BIOS
4. How Memory Managers Work

Part 2 : How Programming Languages Work
5. How Machine Language Works
6. How Programming Languages Translate Ideas into Software
7. How Language Interpreters and Compilers Work

Part 3 : How Databases Work
8. How Databases Store Information
9. How Database Indexes Work
10. How Relational Databases Work

Part 4 : How Spreadsheet Software Works
11. How Spreadsheets Store Data
12. How Spreadsheet Formulas Work

Part 5 : How Word Processors Work
13. How Word-Processing Documents Are Formatted
14. How Fonts Work

Part 6 : How Graphics Software Works
15. How Bitmapped Graphics Work
16. How Vector Graphics Work

Part 7 : How Communications Software Works
17. How How Communications Software Operates a Modem
18. How How Data Transfer Protocols Work

Part 8 : How Windows Works
19. How Windows Graphic Interface Works
20. How Windows Runs Multiple Sessions
21. How Windows Shares Progarm Code
22. How Windows Shares Data
Index

今年二月份介紹 How Computers Work 時,我曾說希望看到一本介紹「作業系統觀念、強制性多工、虛擬機器、虛擬記憶體、動態聯結、記憶體破碎、磁碟空間離斷、病毒、檔案壓縮原理,乃至於編譯器聯結器的功用、OBJ 檔 EXE 檔的格式與設計著眼」的 How Software Works 。現在你看到的這一本倒沒有那麼重金屬的味道,它比較法國香頌一些。

本書所謂的軟體集中於 DOS/Windows 環境上。基本上 Mac 軟體的工作原理與DOS PC-based 軟體是相同的。作者說為了避免在 DOS 和 Mac 之間無止盡的比較,他選擇了他最熟悉的一個作業環境。只有一小部份篇幅花在應用領域上,大部份探討的是更基礎的 CPU 與作業系統之間的關系,因為它們合作的方式正是應用軟體工作的基礎。

本書第一部份偏重在作業系統與硬體間的搭配合作關系。最重要的幾個領域都介紹到了,包括定址、386 架構、BIOS 的工作原理、記憶體管理 (含 UMB、HMA、EMB,可見所討論的是 DOS 5.0 之後的版本)、中斷向量表格以及中斷服務常式。第二部份介紹電腦語言,包括機器語言與高階語言的工作原理,解譯器與編譯器的差別 (這一章頗為精采)。第三部份以降是五大應用軟體的工作原理,包括資料庫軟體、電子試算表、文書處理、繪圖軟體、通訊軟體:

○ 資料庫軟體如何處理固定長度和可變長度的資料欄位、索引;什麼是關聯式資料庫;
○ 試算表軟體如何處理資料和計算式 (Formula);
○ 文書軟體如何格式化一份文件,如何處理點陣字形與縮放字形;
○ 繪圖軟體如何處理 Bitmap 圖形與向量圖形;
○ 通訊軟體如何操作數據機 (Modem),如何傳輸檔案;

第八部份介紹作業系統中的圖形介面 (GUI)、多工、程式碼共享 (利用動態聯結函式庫 DLL)、以及資料共享 (Clipboard、DDE、OLE 1、
OLE 2)。DOS 完全沒有這些能力,這一部份是以 Windows 為解釋對象。

喜歡這樣的書嗎 ? 我喜歡極了。對工程師而言,它抒解我們長久以來在單調的文字和硬梆梆的圖表之間疲憊的兩眼。目光放遠的話,說不定這書還啟發出我們的 Bill Gates 呢。以一套 How xxx Works 作為電腦基礎概論 (BCC) 課程教材,保證大家興致勃勃。可惜的是這種培養興趣啟迪知識的書,可能因蟹行文的關系,而使其功效對於最需要這種書「轉骨」的青少年打了大大的折扣,畢竟能讀蟹行文的青少年恐怕很少。什麼時候我們有自己一套這樣的書呢 ?!

背景資料 :
書名 How Networks Work
作者 Frank J.Derfler, Jr., and Les Freed
插圖設計 Michael Troller
出版 Ziff Davis Press
頁數 27 章,216 頁
售價 US$ 24.95
磁片 無

Part 1 : Communication by Wire
1. The Telegraph
2. The Telephone
3. Printing Telegraphs
4. The Early Networks

Part 2 : Computers and Telephones Together
5. From Keypunches to Terminals
6. The Carterfone
7. Alphabet Soup:Morse, Baudot, ASCII, and EBCDIC
8. The RS232 Serial Interface
9. The Bell 103 Modem
10. Mainframes, Time-sharing, and Terminals
11. The Personal Computer as a Terminal
12. Smart Modems
13. The Fax Modem

Part 3 : Local Area Networks (LANs)
14. A Network Model
15. Network Operating Systems
16. The Network Interface Card
17. Network Cabling
18. Server-Based LANs
19. Peer-to-Peer Networks
20. Network Management

Part 4 : links between LANs
21. Repeaters, Bridges, and Routers
22. Metropolitan Area Networks (MANs)
23. Circuit-Switched Digital Services
24. Packet-Switched Networks

Part 5 : Workgroup Applications
25. On-line Information Services
26. Electronic-Mail Systems
27. Client/Server Computing
Index

how-networks-work.jpg (20309 bytes)

How Networks Work 也已到我手上。我不是網路專家,不敢多說什麼。但難得有機會以一個菜鳥的身份看一本書,我要說它對我的幫助很大,滿足了我對網路淺嘗即止的需求。

電腦網路并不是一門單一而獨立的技術,它依賴許多事物,而這些事物可能是你曾經看過或熟悉的。事實上現代網路根源於早期的電報系統和電話系統,本書最難能可貴的也就在於對早期的網路 (電報、電話、電傳打字) 有許多介紹。經過這些歷史的闡釋之後,本書才進入現代電腦網路的領域,介紹網路硬體和軟體的關系,其中包括 packets、網路介面卡、server、routers、管理軟體,以及其他的網路觀念。書中并不針對什麼特定的產品作說明,不論你用的是 IBM PC、DEC VAX、Apple Macintosh,也不論你用的是 NetWare、LANtastic 或 Unix,不論你的通訊線路是銅纜或是光纖,所有基礎知識與原理都適用。

若提到電腦網路的先驅,不能不提到三大發明和它們的發明者:電報 (摩斯,Samuel F.B.Morse),電話 (貝爾,Alexander Graham Bell),以及電傳打字機(Emile Baudot)。雖然摩斯不知道什麼是電腦,他發明的摩斯密碼卻是 ASCII 碼的祖先。現代資料通訊系統仍然沿用一連串 on-and-off 電流來搬運資訊,這和1884年5月24日摩斯從華盛頓 D.C. 成功送出 "What hath God wrought" (注) 訊息到 37 哩之遙的巴爾第摩所使用的技術原理是相同的,只是今天的技術遠比摩斯所能想像的更快速而已。(注:有機會完成人類歷史性創舉的人,一定要謹慎想好歷史性一刻你的用詞。譬如說「我的一小步是人類的一大步」啦,或是「紫色的草原廣闊的天空果實累累的平原」啦等等)。

一如摩斯之不知有電腦,貝爾也不知道數據機為何物,雖然遍及全球的電話系統有了快速的改變 (主要是由於電腦的使用),但連接你家和辦公室和電話公司機房之間的電纜線基本上與貝爾那個時代沒有什麼差異。這些電纜線內是老形式的類比語音資訊,新的發明只不過是把數位化的電腦連接上類比的電話線而已。容我補充一句,貝爾的歷史性一刻的名言是 "Mr. Watson, come here!",因為他發明的液體電話機的酸液潑到他的褲子了。什麼是液體電話機 ? 書上有說明。

比起摩斯和貝爾,電傳打字機的發明人 Baudot 就不那麼家喻戶曉了,但他的心血卻是印表機和終端機的先驅。電傳打字機組成了遍及全球的 TELEX 網路,相信十五年前有過商務公司任職經驗的人都知道 TELEX。(你想據此猜測侯捷的年齡 ? 錯了,只因為我的死黨的爸爸開了一家小貿易公司,我常好奇看著那臺電動打字機 chun chun chun 地打出來自地球彼端的訊息,心中充滿敬畏)。

這三項發明聚合起來點著了電腦紀元的火花。本書第一部份四章講的就是這個。其中關於貝爾的電話專利權之爭 (只比另一位競爭者早數個小時獲得) 以及 AT&T 崛起成為世界最大公司 (比某些國家的政府還大) 的過程,讀來倍覺趣味。

雖然是來自兩個不同世紀的不同技術制作出來的不同產品,電腦和電話似乎已經融合在一起誰也離不開誰。電話交換中心不可沒有電腦來為它處理復雜的呼叫、線路分配、乃至於賬單處理,電腦則利用既有之電話線路達到資料交換的目的。本書第二部份介紹這兩條線在達到你泥中有我我泥中有你過程中的點點滴滴。我們可以回憶早期的電腦卡片與打卡機,看到 ASCII 碼的演化,了解 RS-232C 的由來與目的,數據機和傳真機的原理 (數據機的發明是電腦數位世界搭上電話類比世界的重要依據;傳真機的原理則只不過是把線路上傳輸的 0s 和 1s 不再視為 ASCII 碼而視之為黑與白)。你也將從這里知道美國生產之 (幾乎) 任何電話或數據機底部貼著「符合 FCC Part 68 規則」到底是什麼意義,以及為什麼序列 (serial) 埠的接頭有 25 針和 9 針兩種。

本書第三部份介紹的才是一般人心目中的網路:現代電腦網路。網路的目的是為了共享,每一個共享活動 (從汽車聯營到銀行聯線) 都有它們自己的規則,在網路術語中我們稱這些規則為 Standards (通訊標準) 和 Protocols (通訊協定),它們使得聯合使用過程中沒有遺失或濫用檔案 (或設備) 的情況發生。了解網路的關鍵其實就在了解這些標準和協定。你將從這數章中了解網路三大技術:Ethernet (來自 PARC 研究中心)、ARCnet (來自 Datapoint 公司)、Token-Ring (來自 IBM)。你也將了解什麼是網路作業系統,什麼是網路介面卡,以及網路電纜線的內部構造、伺服器網路、點對點 (無伺服器) 網路、網管系統。對於所謂結構化布線作業和無線網路也會有些認識。

前述網路的缺點在於傳不遠 (所以叫作區域網路,Local Area Network,LAN),即使電腦中微弱的數位訊號被網路介面卡加強,仍只能夠在大約 1000 英尺的電纜線中傳輸。為了無遠弗屆,必須克服電子雜訊和訊號衰減兩大問題。本書第四部份介紹廣域網路 (WAN) 和大都會網路 (MAN),你可以學到什麼是 Repeater、Bridge、Router,什麼是Circuit-Switched 數位網路,什麼是 Packet Switching 網路。本書最後一部份介紹的是高階應用,包括線上資訊服務 (例如 CompuServe、MCI)、電子郵件系統、電子布告欄 (BBS) 以及主從式 (Client/Server) 電算環境。

難得以一個菜鳥的身份為你介紹好書,如果你覺得我的用詞也頗有內行氣,沒什麼,只不過一整天的時間,我的腦袋就結結棍棍塞得滿滿的。對於我這樣的網路盲人,能夠輕松接受這麼多資訊的原因,我想是因為本書把網路過去與現在的來龍去脈都交待清楚了。換言之本書的前兩個部份對我的吸收有決定性的影響。

其實鑒往知來是學習過程中很重要的一環,對歷史一點興趣都沒有的人我是替他們感到悲哀的。恐怕許多人不清楚到底是貝多芬還是莫扎特的時代比較早,知道劉關張三結義卻從不知道故事的時空背景,甚至連諾曼第是人名還是地名,西班牙在北還是法蘭西在北都不清楚,那怎麼能夠條理分明地了解事物呢 ? 如果我們的音樂課程曾經把從巴洛克到古典到浪漫到國民到現代樂派的完整脈絡帶給我們國家未來的主人翁,也不至於大家對音樂有著不可名喻的陌生以至於視之為尊貴無上不可親炙。如果我們的歷史課程夠精采到吸引小朋友有聽故事的心而不是視之為沒有任何干系的老古董,也不至在聽說張飛戰岳飛時還不知道大家在笑什麼。

課程的時機至為重要,我記得當我在資策會的半年課程結訓時,我很想很想再上一次電腦基礎概論 (BCC),那時候的我一定能問出許多心中的迷惑而達到徹底的了解,可是時機不再,哪有人在學期初與學期末都排 BCC 課程呢 ! How Networks Work (以及其他的 How xxx Work) 對我們這些對電腦不算陌生的人而言,實在是太好了,你可以得知許多操作上原已熟稔之事物的根本,真正享受「原來如此」的喜悅。

我建議學校比照藝術史開一門電腦史,也許與 BCC 合并,作為所有電算科系的選修。好好地設計這門課程以及師資,啟迪之功或許非始料能及。

背景資料 :
書名 Writing Windows Virtual Device Drivers
作者 David Thielen & Bryan Woodruff
出版 Addison Wesley
頁數 13 章,647 頁
售價 US$ 39.95
磁片 Yes

Section I : An Introduction to Virtual Device Drivers
1. The Anatomy of a VxD
2. The Virtual Machine Manager
3. Memory Management
4. V86/PM VxD API

Section II : Advacned Topics
5. Nested Execution
6. I/O Trapping
7. IRQ Virtualization
8. Virtualized DMA
9. VKD and Keyboard Processing
10. Writing VxDs in C
11. Using the Debugging Services

Section III : Putting it All Together
12. VCOMMD Design Notes
13. Win-Link Design and Implementation Notes

Section IV : VMM and VxD Service Reference
Appendix A : API Reference
Appendix B : Int 2Fh Reference

以 VxD (虛擬裝置) 程式技術為唯一主題的書籍,本書或許是全球唯一,別無分號。對於想學習 VxD 的人,等待一本「完整的書」而不是「斷簡殘篇」已經很久了。由於主題之稀少性,作者甚至在 Acknowledgements (致謝) 中提到他感謝Addison-Wseley (本書出版社) 的主事者有足夠的遠見,愿意相信 VxD 是一個值得寫書的主題。作者 David Thielen 在臺灣工作過一段時間,1992 年八月他為了 Windows 3.1 遠東版先後在東京、漢城、臺北待過。對於這段經歷他的描述是:「這是我生命中最有趣也最值得享受的一段。臺灣、韓國的開發人員和管理工作,以及日本的開發人員非常有才干并且勝任其職。我背負了一肩難以償還的債,因為他們讓我探索并經驗他們工作的一部份。一一列舉實在是太多,我要謝謝所有因此與我成為好朋友的這些人」。真難得在外文書上看到 Taipei、Taiwan 兩個字,我的視線被深深吸引,并且因此倍感親切。

本書并不企圖解決我們在 VxD 程式設計上的每一個問題,而是企圖給我們一份如何撰寫 VxD 的指引。書中提供兩個完整的 VxDs 范例程式原始碼。作者的主要目的是幫助程式員不要再害怕 VxD,因為它只是新,并不難。VxD 之所以重要,在於 Windows 程式與硬體間的所有溝通都應該透過它,雖然一個動態聯結函式庫 (DLL) 或一個Windows 程式也一樣可以處理 IRQs 和 DMA,與 ports 交談,但即使你把每一件事都做到一百分,它們還是太慢;只有透過 VxDs 才能最快最安全地與硬體打交道。VxD 才是你在 Windows 環境中與硬體共舞的最佳選擇,是 DOS 與 Windows 混沌交雜中唯一的出路。VxD 讓我們做許多 Windows 原不打算讓我們做的事,突破重重嚴密的束縛。你可以乘著 VxD 這部擁有最高特權 (Ring0) 的黑頭車直闖戒護深嚴的博愛特區 (作業系統內部)。有了 VxD,你可以看到系統上所有的記憶體、攔截或產生任何你希望的中斷、讓硬體消失、或讓根本不存在於你的電腦中的硬體出現。權力帶來責任,雖然你可以透過 VxD 直接玩弄作業系統的資料 (如 GDT、IDT) 於股掌之間,但你不該這麼做。真需要這些資料,VMM 提供了一些程式介面,又安全又便捷,何苦自己從輪子造起 ?

VxD 的確令絕大多數人感覺陌生,但要進入它真的不困難。不過,本書并不是你進入 VxD 的大門,大門應該是去年六月我介紹過的 Windows 3.1 Developer's Workshop 一書中的第五章 Developing Virtual Device Drivers。有了 VxD 程式長什麼模樣的概念後,還得學習虛擬機器 (Virtual Machine) 的觀念才能徹底了解 VxD。去年六月我介紹的另一本書 Writing Windows Device Drivers 以及現在這本書都對虛擬機器有所介紹,但一致的缺點是示意圖太少太少。大家都知道一張圖勝過千言萬語,為什麼卻少有書籍有足夠多令人滿意的圖 ? 我指的是顯示觀念的那種圖,不是程式執行結果的硬拷圖。後來我想通了,一張可以勝過千言萬語的好圖的誕生可比千言萬語難太多了。出版社或雜志社以每張圖NT$ 50 元計算,真是一種開倒車的行為。基本上技術書籍以字數或以篇幅計算酬勞,就是一種最糟糕的平頭平等。DOS 使用層面的書怎麼可以跟 VxD 的書享有相同的報酬呢 ? 平頭平等阻礙進步人盡皆知,也就難怪作家們盡挑軟柿子吃了。

我是一個軟體人員,對於 Comm、DMA、I/O Trapping、IRQ 等技術不在行,不敢在這里夸夸而言,這些主題是本書的 Advacned Topics 部份。根據我的閱書經驗,我知道這幾個主題很難得。

● 溫馨時刻

由於忙碌以及不住臺北兩個因素,并不常上雜志社,我也是透過「讀者回響」這個單元才得知讀者們的看法。四月份去了一趟社里,有機會把讀者對這個專欄以及對我個人的意見與建議好好完整地看了一遍。除了針對部份讀者親自回函(可是你們都沒有回我的信),這里重點整理我的回覆:

1. 書評難為,我的負荷已到極限。所以朋友們希望擴充版面多寫一些, 我實在無能為力,減產的可能性遠遠大過增產的可能性。要我保重身體又要我 多寫一點的讀者最沒良心了 (smile),但是謝謝你們的托負,對我而言 這是個甜蜜的托負。

2. 愛屋及烏關心我的健康的朋友們,侯捷感銘五內,點滴心中。

3. 說這個專欄為你們尋找資訊的過程中帶來幫助的人,我真的非常非常安慰。

4. 說這個專欄帶給你們閱讀樂趣的朋友們,因著這句話我愿意 為求一句好詞,捻斷數莖長須。

5. 中文書評 ?! 不不,吾力足以舉千鈞,而不足以舉一羽。

 

專欄不是我一個人的,講過好幾次了,你們不能把中文書評、應用軟體書籍介紹、學術性書籍介紹、各種技術領域平臺環境的書籍介紹...都算在我的責任區,我又不是三個頭六只手的怪物 (倒真希望自己是)。這麼多愛書的朋友,每個月看那麼多書,怎麼沒有人投稿到這個專欄來 ? 書評兩個字嚇死人,但是想它是讀書心得報告好了,寫的時候忘了我是誰,心中就不會有壓力。我只 求一點,態度要謹慎,視野要開闊,要知道登在這個專欄里的文字的責任。說到責任,有位朋友說這專欄名稱太投機,哪有賺稿費又不需負責任的。除了鼓勵這位朋友多培養一點幽默感,并翻看去年一月無責任書評的名稱典故之外,我想讀者也可以從這個專欄持續以來的文字中檢查侯捷關於「責任」的態度。

也有朋友在信中提到談笑書聲縱橫書海,提到生活提到觀點,你們真的不是我想像中整天 co co co 的工程師而已,我真的好歡喜。做學問要深,過生活要廣,不可以一朝風月昧卻萬古長空,不可以萬古長空不明一朝風月。讀者中最小的是臺南一中高一學生,真教我感動又高興。當別的同齡小孩還在玩 game 時,他已經沉迷於 C++ 的世界。這個年紀的讀者不只一人,透露我們資訊前景的一絲光明。

有一位朋友希望談談國外的出版社,以下僅就我所知向各位做個報告。由於我的視野在個人電腦上,而且從沒有比較過各出版社的特性,所以這只是個人的印象以及粗淺的了解,掛一漏萬尚請原諒:

○ Microsoft Press - 占「地利」之便,此出版社的技術性書籍自然是擲地有聲。 我介紹過的 Programming Windows 3.1、Inside Visual C++、Inside OLE2、 都是皇皇巨構。如果想對 DOS、Windows、軟體開發工具 (當然我是指 Microsoft 公司的工具) 作深入了解,這個出版社的書應該列入你的最佳名單之中。 市場味不那麼濃的書,Microsoft Press 也出過三本:Writing Solid Code 和 Code Complete,以及 Debugging The Development Process,算是軟體工程這一領域, 由 Microsoft 工程師現身說法,談他們設計大軟體過程中應該注意的事情,滿有趣的。

○ Addison Wesley - 同樣是品質的代名詞。C++ 書籍是它的強項,貝爾實驗室 許多 C++ 高手 (包括 C++ 原創者 Bjarne Stroustrup) 的作品多在此發表。 Andrew Schulman 的程式設計系列崛起後,更對工程師有絕大吸引力,這一系列 書籍包括 Undocumented 和 Internals 兩條主線,另外也有比較特別的 Windows++、Networking 等等題目。另外它也有許多 Mac 上的書籍,國內較少見。不單只為工程師著想,它也出版不少教科書 (多為精裝)。 (編按:Andrew Schulman 業已跳槽至 IDG 出版社)

○ SAMS - 此出版社常為某個特殊技術領域出專書。以 Windows 程式設計而言, 它就分別有記憶體、通訊、IPC、Resource 等等書籍。

○ M&T Books - 電腦圖學算是它比較突出的項目 (因為出了許多相關書籍)。 Windows 3.1 : A Developer's Guide 也是它出的程式設計名書。

○ WILEY - 國內較少看到。如果你記得,我在去年三月引述 Ray Duncan 說的, Windows 程式設計第一代書籍的代表作中有 Heller 的作品,而 Martin Heller 的 Advanced Windows Programming 正是此公司出品。(編按:Martin 後來又出了 一本 Advanced Win32 Programming,也是此家出版社負責)

○ Waite Group Press - 這家公司常常喜歡以夾帶軟體的方式出書,書籍目標 因此變成是以介紹軟體為主,并給你一大堆原始碼,講解不多。不過它出版 「Windows API Bible」對 Windows 程式員是一大貢獻。

○ Ziff Davis Press - 書籍以制作精致聞名,在我看來內容并沒有什麼石破天驚 的特色。但因它在雜志界的超級強勢,旗下有許多專欄作家,因此出了一些專欄 作家的單行本,頗具吸引力。這家公司的書單價都高,而且常用 塑膠膜包裝 (保鮮 ?)。

○ McGraw Hill 和 Prentice Hall - 自從開始工程師生涯之後,我對這兩家 出版社的書已經愈來愈陌生了。它在教科書市場上有很大的發行量。

○ Que - 大部份是軟體使用層面的書。這一類書我看的不多,沒有什麼可以報告。

○ IDG - 最有名的是「笨蛋系列」(xxx for Dummies),國外熱銷程度讓你咋舌。 這種書名放到缺乏幽默感的中國人眼里,只怕引不起什麼興趣。

這一篇肯定又要被說廢話過多了,我心甘情愿讓你們說。

 


侯捷 2010-07-15 08:32:58

[新一篇] 開心之果不獨證

[舊一篇] 錦囊招數齊出 奧密漫天飛舞
回頂部
寫評論


評論集


暫無評論。

稱謂:

内容:

驗證:


返回列表