軟件相關技術及其在國內的應用

    作者:夏昕  轉自http://www.wushuang.net/

【前言】本文結合筆者工作中的一些經驗所得,簡單介紹一下當前主流計算機軟件技術特別是程序設計技術在國內的實際應用情況,並針對當前國內軟件技術發展趨勢做一下階段性預測。本文並不是正式的分析報告,僅僅是筆者工作中積累的一些觀點和想法的整合,組織結構上比較隨意,穿插着自己的一些看法和一些相關技術文檔的介紹,還請大家多多指正。

       伴隨着計算機應用的大衆化潮流,其膨脹的市場需求帶動了計算機技術及其相關產業的蓬勃發展。而其中的關鍵組成:計算機軟件技術,經過互聯網風暴的洗禮已經進入新一輪高速成長階段。在這個迅速發展的階段,新技術新平臺的出現及其廣泛應用成爲一大特色,高度的系統開放性和內在邏輯性則是發展的中心和主題。

       目前,國內軟件技術發展和應用的焦點主要集中在以下幾個領域:

       一、企業級應用領域

鑑於國內的具體情況(缺乏通用企業級平臺產品),這裏的企業級應用主要指企業級行業應用領域,以金融、電信、政府這三大行業應用爲主(這三大行業的市場總和佔據了企業應用的80%以上),其中金融行業核心系統和電信行業核心系統由於傳統沿革以及對於性能方面的要求全部採用C/C++實現。而政府機構及電信、金融外圍渠道性產品的研發目前基本都選擇了J2EE架構以獲得跨平臺部署能力以及良好的系統伸縮性和擴展性。就目前我個人有所涉及的領域爲例,銀行核心業務系統全部採用C/C++實現(2000年前的老系統全部都是採用C語言開發,新研發的系統大部分採用C++架構),外圍渠道類新產品的研發則大都採用Java技術。政府應用中的重頭是國稅申報系統,目前是基於Sybase平臺開發的C/S結構,同時新一代稅務系統已經開始在J2EE平臺下着手設計開發。

另一方面,對於一些中小型企業應用,如企業內部CRMCIM系統,考慮到系統成本以及維護難度等因素大多采用基於Windows ServerASP+SQL Server組合。

技術主題:

1.C++

【現狀】98年語言規範的確定標誌着C++這個“新”語言的“誕生”,從這個角度來說,C++是一個年輕的語言,不過從演進歷史和發展程度來看(C++19794月誕生于貝爾實驗室),C++已經相當成熟並在各個領域得到了廣泛應用。對C++發展感興趣的讀者可以去看看《The Design and Evolution of C++》這本書,此書中Bjarne StroustrupC++從誕生以來整個設計思想與理念變化的過程做了詳盡深入的講述。

無疑,C++已經成爲當今世界最流行的高級系統程序設計和麪向對象的開發語言,其定位爲一種能夠如C語言般支持底層的複雜系統程序設計,而又不失C的效率,同時能支持針對大型應用程序開發的數據抽象和麪向對象設計的程序設計語言。事實上也只有C++語言才真正實現了同時對高低層次的合理支持。也正由於這些出色的特性C++得到了廣泛的使用,從嵌入式系統(如vxWorks)到超大型應用系統(如美國電信網絡系統)的應用開發,C++的應用已經瀰漫到IT行業的各個角落。

相對而言,國內企業級平臺的C++應用整體水平相對較低,大多還停留在相對簡單的小規模應用開發層次。一方面由於國內IT業技術發展相對滯後,OOPGP等新一代編程思想近兩年來纔得到普及(直到現在,據筆者所知不少高校的計算機程序設計專業教學還停留在掌握Turbo C 2.0編程階段),老一代技術人員在OOPOOD(面向對象設計)思想上比較淡漠。另一方面,國內IT技術產業規模化應用不多,缺乏高質量、高產品化的應用系統,很多應用還停留在針對工程項目的Case實施階段,產品投入少,持續性不強,難以做到成熟的產品化設計和開發,因此對於相對而言需要較長研發週期的C++而言其實際應用較少。同時對於傳統的大規模應用(如金融、電信核心業務領域),由於其原有基礎架構多建立在面向過程的C語言體系,考慮到系統的延續性和改動維護成本(資金成本,時間成本,以及開發人員掌握基於C++OOPOOD的成本等)大多還處於比較保守的觀望或者嘗試性改良階段。再者,面臨新一代語言如JavaC#的競爭,C++在基於數據訪問、網絡交互和分佈式計算的企業級應用市場受到強有力的挑戰,不少技術人員開始將注意力轉移到這些新興的程序設計語言之中。在這樣的情況下,國內優秀的C++程序員不多,優秀的企業級C++架構設計師更是屈指可數。

【發展】隨着IT應用規模的膨脹和軟件系統結構的發展,傳統的面向過程的程序設計已經難以滿足系統體系設計的需求,在傳統應用中,大部分是基於流程的設計,如銀行應用系統中的賬號開戶、取款、查詢業務等,往往在一個代碼單元(比如對應取款業務的一個Draw.c文件)獨立完成從獲得數據庫連接、讀取數據庫記錄、驗證用戶密碼字段、判斷存款狀態字段、更新數據庫記錄、關閉數據庫連接等一系列操作(這並不是筆者胡亂猜測,當前國內大多數銀行的業務系統正是如此),大家可想而知對於銀行的幾千個交易而言,如此結構的開發與維護將是怎樣的噩夢(即使我們可以採用建立通用類庫和定義相應的Structure的方法進行結構調整,但是對於一個日趨龐大的系統而言,無疑幫助有限)。面向對象的設計思想的出現則爲解決這類問題提供了有力支持,通過使用對象的封裝、繼承,將系統劃分爲若干明晰的對象子體,系統業務功能通過對象子體之間的交互來具體實現,這樣一來系統整體邏輯架構相當清晰,對象子體專注於各自獨立實現,代碼重疊減少而可重用性大大增加。

C++作爲傳統、成熟的面向對象的程序設計語言也已經得到廣泛的應用。目前國內企業級的C++應用可以說剛剛開始起步,發展較晚並且缺乏一個高水平的應用發展環境,同時面臨着新一代語言如JavaC#的激烈競爭(這方面有很多爭論,有的業者根據理論推理認爲C++JavaC# 解決方案所面向的對象不同因此並不存在什麼衝突,但就筆者個人的實際項目經歷而言,在新產品研發選型中,C++Java向來都是一個激烈爭論的焦點,從小型的信息管理系統到大型的ERP系統、金融業務系統,C++都面臨着可能被Java取而代之的壓力。另外從IBMSunHP近年來的產品發展規劃中,我們也可以明顯看出國際大廠商在這方面已經向Java傾斜),因此C++在國內企業級領域的新產品研發應用中可能會面臨比較尷尬的局面,其主要發展將集中在對原有基於C語言技術平臺的應用升級以及一些對於實時運算要求較高的領域(如金融、電信核心系統,網絡遊戲服務器等)(當然這僅僅是筆者個人的觀點。)

2.Java

【現狀】未來的計算機體系是基於Web的分佈式計算,Java無疑是當前滿足這一趨勢的最佳語言,由於其本身的開放性體系以及其簡潔的語法,國內Java技術應用得以蓬勃發展起來。雖然整體水平並不是很高,但是相對C++在國內的發展和應用而言已經是非常大的進步,這從國內衆多的個人或者社區性Java技術組織就可見一斑。國內企業級應用中的關鍵技術和內容主要集中在:數據訪問、數據格式轉換、邏輯控制、數據傳輸、數據表示等方面,而這些都是Java的優勢所在,因而在實際應用實施中,Java/J2EE儼然已經成爲不可替代的企業級應用解決方案。

【發展】作爲一門正處於發展高峯期的程序設計語言,Java深刻地體現了“設計”的精髓,嚴謹清晰的結構使其具有良好的擴展能力和廣闊的發展空間,簡潔的語法提供了良好的可維護性,同時,通過降低程序員編碼的難度使其能夠將更多的精力專注於業務邏輯的設計與系統框架的構建。在可以預見的未來3年內,Java將進一步鞏固其在服務器端確立的戰略優勢並同時向嵌入式系統等應用中延伸。目前,國內在Java應用方面已經有了良好的技術氛圍和羣衆基礎,涌現出不少優秀的Java技術研討組織和基於Java技術的優秀作品,相信在未來的3年內可以形成規模化的Java應用。個人認爲,Java技術在國內將擁有非常廣闊的前景。一方面,基於J2EE框架的Java應用將成爲大型商業應用的中流砥柱,另一方面在手機、信息家電、IC卡等嵌入式應用中J2ME也將扮演重要角色。

3. .NET

【現狀】作爲Microsoft下一代技術平臺,.NET無疑擔負了Windows平臺的未來,無論目前國內外各大論壇上關於.NET前途的爭論結果如何,我們最終都不得不面對.NET這個在未來310年都要朝夕相伴的新技術。由於出現時間不長,無論是在軟件技術最發達的美國還是在我國,.NET還都處於最初的探索和嘗試階段,基於.NET的企業級應用可以說剛剛起步。

【發展】.NET本身並不是一個全新的框架,微軟綜合了諸多技術,推出了這個跨語言、跨平臺的技術規範,它吸取了之前所有技術的精華,相信藉助其本身的先進性和微軟強大的市場能力,.NET將在不遠的未來有所作爲。個人認爲,在可預見的未來3年之內,ASP.NET將逐步取代目前的傳統ASP技術,繼承現有的Windows Server應用,同時,由於Windows平臺的普及性,.NET將在大多數中小型End Customer系統中得到廣泛應用。而隨着PC硬件技術根據莫爾定律的推進以及軟件技術本身的發展,Windows Server在性能上將逐漸與低端小型機接近,從而在中小型企業應用中獲得更大的市場份額。在Grid式計算的下一代互聯網技術中,相信.NET會扮演一個前端服務提供者的角色,即運行在高性能小、大型機上的Java應用提供通用的Web Service接口,而由.NET平臺提供面向客戶接口的應用整合。 

相關技術書籍推介

1.C++

C++書籍中不少重量級著作已經在國內登陸,如The C++ Programming LanguageC++ Primer等,但這些書籍僅僅只限於C++語言本身,如何利用C++的強大功能設計出一流的軟件則是另外一回事,下面這兩本書就是關於C++設計方面的經典書籍:

Large-Scale C++ Software Design ChinaPub上有此書的外版定購)

如果只是單兵做戰、寫些小玩意兒,不必閱讀此書。除此之外,讀後你必有大得!這本書的內容不是呆坐在象牙塔裏教授、學者們冥思苦想所能得到的,它來自第一線的工程師的經驗總結。

Modern C++ Design 繁體版由臺灣孟巖譯(ChinaPub上有外版定購)

這本書介紹了一組可複用的設計“珍寶”,稱爲“泛型組件”(Generic Components), 同時還介紹了構造這些組件所使用的技術。這些泛型組件能夠在各種軟件系統體系中向用戶提供類似庫的功能。編碼和實現的技術將重點置於那些傳統上是屬於設計階段的任務和問題之上,而設計階段的工作通常是在編碼之前就完成了。由於是高層次的組件,泛型組件使得我們有可能將複雜的軟件體系以非常富有表現力 簡潔和易於維護的代碼表達出來。泛型程序設計、設計模式與C++這三個要素在這裏被組合起來,達成在縱向和橫向上的高度可複用性。在橫向上,使用一個很小的代碼庫就實現了一個可組合的 數量不限的結構和行爲集合。在縱向上,這些組件的通用性使得它們能夠被應用於廣泛的應用程序中。

本書的主要讀者對象是兩類人。第一類是有經驗的C++程序員,他們希望掌握最新的庫編寫技術。本書展示了新的、強有力的C++慣用法(idiom),其能力令人驚訝,有些甚至是人們從來就不敢想的。第二類是那些忙碌的程序員,他們得完成工作,又不可能在學習上付出太大的代價。他們可以略過那些最複雜的實現細節,將精力集中到對這個庫用法的掌握上。每一章都有介紹性的解釋,以“Quick Facts”結束。程序員們會發現在理解和使用組件方面,這些部份是非常有用的參考資料。組件可以單獨的去理解,同樣可以很有力 安全和出色地使用。這本書不是一本模式技術書籍 沒有打算全面論述模式技術。因爲在這本書裏,模式是從一個庫編寫者的實用主義觀點來展現的,所以即使是對模式技術更感興趣的讀者也會發現這個觀點很有新意。

Ruminations On C++: A Decade of Programming Insight and Experience

Ruminations On C++》集中反映了C++的關鍵思想和編程技術,不僅告訴你如何編程,還告訴你爲什麼要這樣編程。

這將是C++程序員的必讀之作。 因爲:

1.它包含了豐富的C++思想和技術,從詳細的代碼實例總結出程序設計的原則和方法。

2.不僅教你如何遵循規則,還教你如何思考C++編程。

3.既包括面向對象編程也包括泛型編程。並深入探究了STL這一近年來C++最重要的新成果的內在思想。

本書的作者在使用C++的時候,全世界的C++用戶還寥寥無幾。他們對C++語言的發展有着突出的貢獻。

2.Java

個人將Java書籍分爲三類,語言類(如Thinking in java)、平臺及相關技術類(如Inside JVMJava Management Extension)和設計類(如Design Pattern Java Companion Applied Java Patterns),而依個人見解,基於Java的設計是重中之重。衆所周知,Java語言本身以面向對象、結構簡潔著稱,其語言本身並沒有太大的複雜性(這與C++形成了鮮明對比),因此,對於Java新手而言,語言教學之類的書籍只需要有一本入門教程、一本較全的參考手冊即可(Thinking In Java JDK Document 就可以滿足),而學習的重點,也是決定一個Java設計師的優劣所在,則是在於其對具體系統所設計的應用是否滿足需求,而設計方面的功力需要相當的理論積累和實際實踐並舉的。

1)平臺及相關技術類    

◎《Inside JVM

要深入Java的運行機理,必然需要對JVM機制有所瞭解,Java號稱Platform Independent,但JVM本身就是一個Platform,正如我們用MFCWindows應用程序一樣,只有瞭解了Windows的系統消息處理機制我們才能編寫出強大的MFC應用。

◎《O'relliy Java Management Extentsion

JMX Java Management ExtentsionJava組件管理的擴展規範,也是當前主流J2EE應用服務器(WeblogicWebsphereJBoss)的核心和基礎。

2)語言類

◎《The Elements of Java Style

7個人參與編寫的140頁的書,能不好嗎?J

Java Syntax告訴你如何編寫機器可以理解的代碼,而Java Style則告訴你如何編寫他人可以輕鬆讀懂的代碼,事實證明,易讀易維護的代碼通常更加健壯,而Java作爲面向大型工程應用的程序設計語言在這方面則顯得尤其重要。建議使用Java編程的人都來讀讀這本手冊,不花太多的精力卻能給你的工作帶來極大的幫助,極具指導意義。

◎《Bitter Java

設計模式對軟件開發來說很重要,這一點從它在技術中所佔的數量就可見一斑。不過,鑑於其在開發過程中的實用性,設計模式只解決了問題的一半。反模式——描述“對產生絕對負面結果的問題的一種常用解決方案”——旨在通過向 Java 程序員展示如何避免常見的 Java 陷阱來解決問題的另一半。《Bitter Java》就是這樣一本書,它告訴你不該做什麼,從而幫助讀者避免重蹈覆轍。   

◎《Java Pitfalls&More Java Pitfalls

Java界中的Effective C++

許多Java程序員通過幾年的辛苦,不斷的碰壁總結出一些零散的編程經驗,當他們看到這兩本書的時候可能會欣喜若狂,這兩本書總結了Java程序設計中可能遇到的大多數問題。不可不讀的好書。            

3)設計類

◎《Applied Java Paterns

GoF Design Pattern 是設計模式的開山之作,但由於其採用的是C++的描述方法,並且由於Java語言與C++的差異,java程序員閱讀Design Pattern往往有一種陌生感,難以切入實處,而Applied Java Patterns則正是針對Java語言所撰寫的設計模式書籍。通過實際Java代碼示例,讓讀者清晰的理解設計模式在Java中的實現並可以在實際工作實現設計模式的快餐化應用。

◎《Thinking in Patterns with Java

Thinking In java 作者Bruce Eckel關於Patterns in Java 的大作,但現在還處於0.6版本。

3. .NET

.NET 推出時間不長,技術書籍的出版還處於黎明前的破曉階段,暫時沒有類似《The C++ Programming Language》或者《Think in Java》之類學者必備的經典書籍。此時來自微軟的文檔無疑是最具深入核心資質的學習資源。筆者翻閱過多本國內外相關技術資料,感覺就入門而言最好不過MS Training Book,深入淺出,易於操作。

對於.NET,類似Java,筆者同樣將其分爲平臺技術相關類、語言類以及設計類。  

1)平臺技術相關類:

◎《Inside Microsoft .NET IL Assembler》(MS Press

深入剖析了MSILCommon Language Runtime的內部運作機制,要了解.NET系統機制不可不讀的機要大作。

◎《Professional ASP.NET》(Wrox

Wrox號稱Programmer to Programmer,在.NET方面其出版的Professional系列書籍還是比較優秀的。本書主要講述如何使用服務器控件以及數據訪問技術創建ASP.NET Web應用;開發、保護和配置Web Service,以及其中的調試技術、性能、遷移性和互操作性等問題。如果之前有過Web應用設計的經驗,那麼本書將會是一本非常好的針對ASP.NET的入門及開發手冊。

◎《ASP.NET Website Programming : problem –design –solution》(Wrox

ASP.NET的進階讀物,建議在讀完了Professional ASP.NET的基礎之上進行研讀。

◎《Debugging ASP.NET

此書面向的讀者是產品技術經理或者富有經驗的高級技術人員,他們需要對產品的代碼進行評審,並進行詳盡的測試以確保產品的質量。

本書教授了大型.NET應用的調試策略和技巧,如如何制定代碼編寫規範以避免常見錯誤的大量涌現,如何通過.NET調試工具跟蹤調試.NET應用,以及針對從傳統ASP轉移到ASP.NET過程中的一些告誡和建議等等。

2)語言類:

◎《Inside C# Second edition&Microsoft Visual C# .NET Core Reference)》

來自微軟出版社的.NET核心語言C# 技術書籍,最具權威的語言教程。

◎《Thinking in C#    0.1 預覽版 MindView

剛剛下載翻閱還未深入閱讀,暫不評論,希望能保持Thinking in …系列的一貫品質。

3)設計類

暫空缺。

二、Windows桌面應用領域

由於國內Windows平臺的普及,大量基於Windows平臺的桌面應用發展迅猛,同時國內也涌現了一批高水平的桌面應用研發力量。從小型的工具型軟件到大型的辦公自動化軟件,從多媒體播放、娛樂遊戲軟件到病毒防護等呈現出一片欣欣向榮的景象。

在國內桌面應用開發的正規軍中,基於Visual C++ 平臺的開發技術得以普遍應用,以下是幾個例子:金山詞霸(可能是中國用戶使用最多的軟件了吧,開發工具:VC++),WPS OfficeVC++)(上次與金山總裁雷軍閒聊之時也談到Windows開發工具的選擇問題,在Win3.1平臺吃過Borland OWL的苦頭之後,金山已經全面轉向微軟開發平臺,不過好像現在也引入了DelphiC++ Builder這類開發工具),東方影都(VC++),超級解霸(VC++)。

對於一些小型的桌面應用開發,如共享軟件開發領域,Borland Delphi/Visual BasicRAD開發平臺則佔領了很大的市場份額,代表如FoxmailDelphi),超級兔子(VB),Windows優化大師(Delphi),網絡伴侶(Delphi)等,當然,也有基於VC++NetantsFlashGet等重量級作品。

技術主題:

鑑於國內桌面應用多集中於Windows領域,這裏我們就僅僅對Windows平臺的桌面應用開發平臺進行探討。

1.VC++/C++ Builder

【現狀】對於Windows應用開發而言,VC++似乎是不二之選,全面的SDK文檔,豐富的開發資源,但由於VC++對於RAD開發支持不夠,難以進行快速開發和部署,特別是對於GUI開發以及數據庫開發的支持比較欠缺,因此對需要進行快速定製的桌面應用(如小型專用軟件)而言開發維護成本過高(根據與Netants作者洪以容的交流得知,爲了達到最好的效果和靈活性,他在Netants的設計中捨棄了陳舊的MFC框架,利用Windows SDK完成了整個界面設計,可想而知其工作量相當可觀),個人認爲VC++更適合大中型軟件公司桌面應用的產品化研發。

C++ Builder 作爲C++語法與源於DelphiVCL框架的結合,自然繼承了兩大主流桌面技術的先天優勢,但從另一方面來看,這恰恰也造成了C++ Builder尷尬的一面,由於Delphi VCL發展的歷史原因,大部分VCL組件都由Delphi程序員用Object Pascal編寫,這些組件經過一定改編雖然可以用於C++ Builder,但在兼容性以及程序聯調等方面卻遇到了一些令人頭疼的問題,同時C++ Builder爲人詬病的編譯速度以及Code Insight速度也使得大部分C++程序員望而興嘆(目前的版本儘管使用了pre-Compiled headers等技術進行相關性能調整,但相對VC++而言,其編譯速度還是較慢,不過最新的C++ Builder 6經過筆者的使用感覺已經有了一定的提高,希望這個問題在新版本中能得到更好的解決)。

【發展】VC++從設計思路而言,是面向工程級的開發,作爲一個成熟的應用開發平臺,無疑VC++已經在桌面開發領域建立了無可替代的地位,其發展似乎不必多說,相信在未來三年內依然可以穩居桌面應用開發工具的首位。

上面雖然列出了C++ Builder所存在的種種不足,但我們必須認識到“存在即合理”的含義,C++ Builder的確滿足了C++技術人員對RAD工具的強烈需求,隨着Kylix3的推出,基於C++ Builder CLX編寫的代碼可以無痛苦地移植到Linux平臺,這也爲C++ Builder應用注入了一針強心劑。如果Borland可以在編譯速度等方面做進一步改進,C++ Builder將在C++ RAD方面大有作爲。

2.Delphi/VB

【現狀】Delphi/VB無疑是快速開發的利器,在國內桌面應用中,Delphi/VB佔據80%以上的份額。

Delphi在臺灣、新加坡、香港等東南亞地區應用非常廣泛,從桌面應用到中小型的企業級開發都可以看到Delphi的身影。隨着Delphi.NETKylix 3的前後推出,Delphi/Kylix作爲桌面應用開發工具發也展到了一個新的高峯,同時藉助.NET的威力在服務端更進一步。

同時,VB在東亞,特別是在日本應用非常普遍。相對Delphi而言,由於vb.NET的結構調整較大,其發展可能會暫時面臨一個轉型中的低迷階段。

【發展】從技術角度而言,VB不能算是一個純粹面向對象的程序設計語言,這方面它大大落後於Borland DelphiObject Pascal PascalDelphi版本)從誕生起就是一個徹頭徹尾面向對象的嬰兒,其簡潔明瞭的語法使得VB冗長的代碼顯得單調而乏味。事實上從我個人角度而言並不看好VB的技術體系,除了其衍自Microsoft的皇家血統(因而具備詳盡的文檔和示例,以及可靠的持續性發展能力),其並不具備技術上的競爭優勢。相反Delphi先進的Application Framework已經得到了一致的公認和好評,近10年來的積累也帶來了極具規模的追隨者,相信Delphi在未來3年內會持續輝煌,成爲RAD開發中的首選工具。

3. .NET Windows Form

【現狀】剛剛誕生的新一代Windows桌面應用開發技術,尚未得到大規模的應用。

【發展】.NET Windows Form作爲Microsoft新一代技術平臺.NET的組成部分,無疑將成爲Windows平臺桌面應用開發的主要技術之一,但目前面臨比較尷尬的局面,首先由於.NET運行平臺尚未普及,導致基於.NET Windows Form開發的桌面應用難以部署,這一點很大程度上阻礙了其進一步的推廣和應用。相對於傳統的Windows原生開發工具而言,其代碼運行速度也較慢,個人認爲其短期內最大的應用領域應該是作爲Web應用系統的輔助開發(如編寫應用配置管理系統等)。而從長遠,綜合各個方面的因素來看,.NET Windows Form應用的展開只能是在下一代操作系統Windows.NET成爲主流之後,而這一過渡時間可能要延續3年之久,因此,.NET Windows Form的規模化應用應該在2005年之後。

相關技術書籍推介

個人認爲,桌面應用設計與企業級應用設計的最大區別在於:企業應用設計關注的重點是良好的系統邏輯架構,而桌面應用大部分注意力集中在交互界面的設計以及結合操作系統接口的功能實現。

在桌面應用設計中,由於羣衆基礎廣泛,相關優秀書籍早已經被大家所發掘而得到公認。這裏就將筆者讀過的幾本書做簡單的羅列以供大家參考。

1.VC++

◎《Inside VC++》中文版《Visual C++技術內幕》

網上對這本書評價不一,主要是集中在兩個中文版(第四版和第五版),不過筆者閱讀技術書籍時大多把注意力集中在關鍵示例和相應描述上,字句上的出入倒是沒有什麼影響J。總的來說此書比較淺顯,實例甚豐,是一本不錯的入門書籍。

◎《Inside Windows 2000

Windows桌面應用,必須掌握Windows核心基礎,本書就是來自微軟出版社的Windows核心技術揭密。

◎《MFC深入淺出》

不多說了,侯捷的大作,想深入學習MFC的好導師。

◎《Exceptional C++&More Exceptional C++

前段時間買了本《More Exceptional C++》中文版,不過還沒深入閱讀,不知漢化如何,之前通過一些渠道閱讀了此書的一些樣章,感覺還是非常不錯的。

◎《C++ 對象模型》、《Effective C++》、《More Effective C++

這三本是關於C++語言本身的著作,不僅僅拘泥於桌面應用,而是深入掌握C++語言的經典書籍。

2.Delphi

◎《Essential Pascal

Object Pascal的入門手冊,一百來頁,初學者必備。

◎《Delphi Developer’s Guide

非常全面的開發手冊,入門之後相信只要這本書常備案頭即可解決大部分問題。

◎《Master Delphi

Delphi的進階教程,講述了VCL的內部實現。

3.VB

筆者使用VB似乎也沒看什麼書籍,DOS Quick Basic 積累了一些語法基礎,從VB1.0 for Dos VB2.0 For Win3.0開始自己摸索(當時也沒有什麼VB書籍),因此對於Visual Basic書籍情況不是非常瞭解。據說微軟出版社出的幾本書還都不錯大家可以去翻閱一下。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章