C++程序是在開發界使用最為廣泛的編程語言之一,具有很高的復雜性和解決問題的能力,C++的靈活性在開發環境中的獨樹一幟,同時在學術界也就有很高的價值。以下就是有關C++程序的描述。
C++程序的世界級經典書籍也是數不勝數。然而,目前開發語言是如此地繁榮,就連微軟也在推出了新的開發語言C#。一個不可否認的現實是,在低階程序設計領域,C++程序擠壓著C同時也在承受著C的強烈反彈,前段時間看了據說是微軟操作系統源代碼的東東,其中很多還是C語言。而在高階程序設計領域,Java和C#正在不斷蠶食著C++程序的地盤。
也許Java和C#的狂潮終將迫使C++程序回歸本位— 回到它有著根本性優勢的開發領域:低級系統程序設計、高級大規模高性能應用設計、嵌入式程序設計、通用程序設計以及數值科學計算等。果真如此,我認為這未嘗不是一件好事。電力系統軟件所要求的高性能和大規模數值計算正是C++程序所擅長的。就我所接觸的南瑞和魯能,很多涉及到電力系統計算的軟件如PAS等,都是用C++程序來開發的。
在電力系統軟件開發這塊陣地,C++程序大有用武之地。C++程序吸引如此之多的智力投入,以至於這個領域的優秀作品,包括重量級的軟件產品、程序庫以及書籍等,數不勝數。在C++程序之父Bjarne Stroustrup的個人主頁上,有一頁列出了一些全部或大部分)使用C++程序編寫的系統、應用程序和庫。
下面是一些例子摘自榮耀網站):o Adobe Systems:所有主要應用程序都使用C++程序開發而成,比如Photoshop & ImageReady、Illustrator和Acrobat等。
◆Maya:知道“蜘蛛人”、“指環王”的電腦特技是使用什麼軟件做出來的嗎?沒錯,就是Maya. o Amazon.com:使用C++程序開發大型電子商務軟件。
◆Apple:部分重要“零件”采用C++程序編寫而成。
◆AT&T:美國最大的電訊技術提供商,主要產品采用C++程序開發。
◆Google:Web搜索引擎采用C++程序編寫。
◆IBM:OS/400. o Microsoft:以下產品主要采用C++程序Visual C++程序)編寫:o Windows XP Windows NT:NT4、2000 Windows 9x:95、98、Me Microsoft Office:Wo rd、Excel、Access、PowerPoint、Outlook Internet Explorer,包括Outlook Express Visual Studio:Visual C++程序、Visual Basic、Visual FoxPro .NET Framework類庫采用C #編寫,但C#編譯器自身則使用C++程序編寫而成。Exchange SQL Server FrontPage Project所有游戲……
◆KDE:K Desktop EnvironmentLinux)。
◆Symbian OS:最流行的蜂窩電話OS之一。
很多新手特別容易會對自己所學習的東東產生疑惑、迷茫。覺得自己學這個東西,花了這麼多時間有沒有用,會不會過時?這種思想很普遍。在一些論壇上經常會看到一些各語言的優劣比較,知道自己所學語言的優劣也好,但是如果一味停留在這個層面就沒有用了。
任何語言都只是工具而已。重要的是使用工具的人!就我個人的經驗來講,真正處於業界搞開發的人都願意使用成熟的、為自己所熟知的技術來完成工作。而新手都喜歡用一些比較新的技術來做開發,而且喜歡追求新奇從界面很容易看出來,花花綠綠的界面多半出自新手)。其實,安於用一些效率可能低下、擴展性和維護性差的方法來解決問題並不是開發人員的錯。
他們只是在完成工作而已。但是作為一個真正有上進心的開發人員,我們應該使用更優雅和高效的編程技術,這才是我們逐漸變成編程“大牛”的好習慣。老是停留在原地,很容易被淘汰的。在軟件開發這個行當,尤其如此。無論是對學生,還是一線開發人員,我覺得都不應該產生“書讀夠了”的感歎!我有時候喜歡將以前看過的書翻出來再看,每次總能體會到一些新東西。
有關C++程序語言的書籍更是如此,而且我覺得我所起的題目不是很好。為什麼?因為我覺得學習語言還只是新手跨入軟件開發“地獄”的第一步,單單學習語言本身是遠遠不夠的,還要學習相關的程序庫C++程序當然首選是先學習C++程序標准程序庫)、相關的平台技術如。NET),說得更遠一點,還要鍛煉對目標問題的分析、歸納能力等等。工作之前,技術路線自己作主,工作之後,絕大多數程序員將被公司技術路線左右。
所以,趁現在還有時間,可以學一些自己感興趣的。如果想搞軟件開發,特別是電力系統軟件的開發,學好C++程序不會令我們失望。當我們進入C++程序的前門,然後經過一段黑暗之路,再從後門出來到達光明頂後,我們會體味到“一覽眾山小”的感覺。
推薦書籍:《編程高手箴言》梁肇新用過超級解霸的都應該知道吧,^_^)寫的第一本書,其中有幾章還是值得一讀的。在這本書中,梁告訴我們,學東西要耐心,要耐得住“寂寞”,走自己的路,讓別人去“說”吧!
最近比較忙,原來打算緊扣主題講講一些具體的C++程序語言的細節的,但還是抽不出大段的時間了。所以,現在只能再漫談一些關於C++程序的故事了。
C++程序源於C語言,還記得很久以前學習C語言的時光那是一段快樂而充實的時光),可是現在學習C++程序,並不是在C的基礎上加上了類而已,如果這樣認為,我們是耍不好C++程序的。因此,C++程序絕不是C的升級或擴充,我們應該把C++程序當作一門新語言來學習C++程序之父Bjarne Stroustrup語)。
寫程序首先希望是程序能正確執行,其次是效率能夠被接受,再次就是易於維護。C++程序是一個難學易用的語言。C++程序提供了太多可選擇的東西,而且使用使用C++程序來寫程序可以有四種思考模式:基於過程、基於對象、面向對象和泛型。
我們使用一種語言來寫程序,並不意味著就是使用語言本身,換句話說,我們更多的時候是使用程序庫在寫程序。比如MFC、STL、ATL、VCL等等。其中要使用C++程序來寫出結構優美、性能卓越、代碼簡潔、易於維護的代碼,首推C++程序標准程序庫。
STL對效率做了嚴格的要求,而且使用STL寫出來的程序簡潔美觀前段時間我特意貼了一個要求對若干整數進行排序的帖子,其實目的就是用來展示STL的簡潔優雅)。一旦習慣使用泛型思維來考慮問題,我們能夠充分體會到模板帶來的美!
我覺得學好一門語言最重要的就是實踐。也就是多“寫”!“工程經驗之積累”對已具有一段開發時間的程序員而言,非常重要!只有在不斷的積累中,我們才能漸漸體會到C++程序語言中的一些背後的東西。
對於這點,沒有大量程序代碼寫作經驗的菜鳥,也可以借助《Effective C++程序》先攢一些經驗值。《Effective C++程序》是一本好書!。Meyers的書絕對值得一讀,Meyers可以說當今C++程序社群中數一數二的技術專家。