程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> 進修 C++能帶給我們甚麼

進修 C++能帶給我們甚麼

編輯:關於C++

進修 C++能帶給我們甚麼。本站提示廣大學習愛好者:(進修 C++能帶給我們甚麼)文章只能為提供參考,不一定能成為您想要的結果。以下是進修 C++能帶給我們甚麼正文


C++精確說是一門中級說話,介於匯編和高等說話之間吧,請求法式員懂得盤算機的外部數據存儲。小我以為,作為先生照樣花工夫學C++,由於《設計形式》《數據構造》這些課程根本上照樣C++敷衍的比擬好(我的親身領會),進修 C++,賣力浏覽c++ primer,爾後合營 The ADAPTIVE Communication Environment (ACE)懂得設計形式, 再看看《深刻淺出STL》,就會發明其他說話都一樣,不變的是思惟自己。

在以下范疇,C++有著基本性的優勢:初級體系法式設計、高等體系法式設計、嵌入式法式設計、數值迷信盤算、通用法式設計和混雜體系設計等等。讓我們稍微睜開描寫一下:

    1. 初級體系法式設計:C++是迄今為止最好的初級法式設計說話。

    2. 高等體系法式設計:包含操作體系焦點、收集治理體系、編譯體系、電子郵件體系、文字排版體系、圖象和聲響的編排體系、通信體系、用戶界面、數據庫體系等等。

    3. 嵌入式體系:包含拍照機、汽車、火箭、德律風交流機、汽車等等。

    4. 數值/迷信盤算:包含仿真、及時數據獲得和數據庫拜訪等等。

    Bjarne的小我主頁上,有一頁applications,那兒列出了一些(全體或年夜部門)應用C++編寫的體系、運用法式和庫。上面是一些例子:

    1. Adobe Systems:一切重要運用法式都應用C++開辟而成,好比Photoshop & ImageReady、Illustrator和Acrobat等。

    2. Maya:曉得“蜘蛛人”、“指環王”的電腦特技是應用甚麼軟件做出來的嗎?沒錯,就是Maya。

    3. Amazon.com:應用C++開辟年夜型電子商務軟件。

    4. Apple:部門主要“零件”采取C++編寫而成。

    5. AT&T:美國最年夜的電訊技巧供給商,重要產物采取C++開辟。

    6. Google:Web搜刮引擎采取C++編寫。

    7. IBM:OS/400。

    8. Microsoft:以下產物重要采取C++(Visual C++)編寫:

        Windows XP
        Windows NT:NT4、2000
        Windows 9x:95、98、Me
        Microsoft Office:Word、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
        一切游戲
        ......

    9. KDE:K Desktop Environment(Linux)。

    10. Symbian OS:最風行的蜂窩德律風OS之一。

    我平日應用C++停止高端法式開辟。

    “平日”一詞沒甚麼好說的,有時只是出於公司文明或小我喜好方面的緣由,選用了其余說話而不是C++,或許相反。我所說的“高端”是指:症結營業處置,效力請求極高,及時性請求高級等。

    我看見簡直一切嚴正的工控體系軟件和及時數據收集、處置和表示(重要是圖形)軟件,都是采取C++(或C,少部門采取Java)編寫而成的。

    據我的懂得,我本來地點的研討院簡直每個研討所都在分歧水平地應用C++(和一些其余說話)。

    想一想看,迄今為止,古代Unix操作體系的各類變體上,最常應用的是甚麼樣的開辟說話?(C/C++)

    C++說話

    C++說話是靈巧,但起首要看看應用者能不克不及施展它的靈巧性;C++說話夠壯大,但要看看應用者有無本領施展它的壯大功效。

    應用C++說話和編譯器編寫一個疾速的法式,其實不難,不外編寫一個強壯而高效的年夜型法式,就不是那末輕易了。

    說話之間的差別,絕非只是年夜括號和begin、end或Sub、End Sub之間的差別。選擇了一種說話,你就選擇了一種思想方法,一種法式設計思惟。要想跳出說話的約束,起首要對說話有著深入的熟悉和透辟的掌握。世界上一些年夜師級的人物,也經常絕不掩蓋本身對某種說話(我並沒有專指C++)的偏心。一些人對說話尚一知半解,就年夜談要跳出說話的約束了 — 你無需跳出,由於你基本不曾深刻。

    純潔的技巧性(學術性)研討,總能給人帶來純潔的快活。C++說話龐雜至極,可研討性極強,但普通來講,沒有3~5年的連續進修、思慮、應用,是弗成能真正控制C++的。

    我不是唯說話論或唯對象論者,但我否決扼殺分歧說話、分歧開辟對象之間的差別。抱持這類不雅點的人,若非蒙昧,等於心懷叵測。這就比如雜牌筆記本電腦廠商最愛好叫喚“筆記本電腦曾經進入同質時期”一樣,雜牌機怎樣能和IBM比擬?

    選擇C++或選擇Java,要看你小我喜好和對未來的盤算。固然只是說話上的差異,但由此決議的失業范疇切實其實紛歧樣。

    不論你走甚麼樣的技巧道路,不論你用不消它做開辟,進修C++總會帶來久遠的利益。一位熟習C++的開辟人員,假設他不是一個偏執狂的話,再進修Java或C#,都要輕易很多。

    C++不外是一門編程說話,我們老是要用它來處理現實成績,所以要進修開辟對象(好比Visual C++),懂得操作體系(好比API),熟習范疇常識(好比電力體系),控制其他軟件技巧(好比數據庫),等等。編寫真實的代碼,處理現實成績的才能,才是權衡一位法式員能否有真程度的獨一尺度。

    設計形式和同一建模說話

    設計形式(Design Patterns)和同一建模說話(Unified Modeling Language,UML)是兩個分歧的概念。前者重要目的在於供給可重用的面向對象軟件設計計劃,後者則是一種描寫軟件藍圖的尺度說話。

    固然了,可使用UML來描寫設計形式的構造。

    UML所描寫的模子可以映照成C++、C#、Java等說話代碼,乃至可以映照到關系型數據庫。映照進程可所以雙向的,普通都有響應的軟件對象(或插件)支撐。

    分歧的說話,特征有所差異,這若干會影響設計形式在該說話中的完成(方法、難易)。比喻說,假設應用C說話來描寫設計形式,那末,繼續、封裝和多態等特征就釀成了須要研討的設計形式,但在任何一門面向對象的說話中,這都純屬過剩。

    如今市情上還沒有看到象樣的以C#為手腕講述設計形式的書(我沒有看到),但這其實不打緊,倘使有興致,完整可以讀一讀《Design Patterns: Elements of Reusable Object-Oriented Software》(中文版名《設計形式》機械工業出書社)這本書,雖然它重要以C++和Smalltalk說話為講授手腕。

    設計形式自己無所謂利害,依據你要處理的目的成績,選擇恰當的設計形式。

    體系架構

    在企業級軟件開辟中,架構第一主要。架構出缺陷,體系就存在硬傷。優良的架構來自於優良的設計。這一點無須置疑。

    任何勝利的軟件,即便它沒有明白地應用建模思惟、架構辦法,但在骨子裡、潛認識中,年夜都具有優越的設計思惟和架構。

    只要寫過很多多少很多多少代碼今後,只要做過一些夠分量的企業級項目以後,才能夠對軟件架構構成清楚的熟悉。很難想像一個連幾行像樣的代碼都沒有寫過的人,對法式思惟和架構卻有著深入的熟悉。這類人,十有八九屬於空言無補之輩。

    我們時不時會看到這類情形,軟件的設計也不算太差,但法式員要末不曉得怎樣寫完成代碼,要末是代碼寫得缺少效力,或不敷強壯,乃至有時連“架構師”本身對此都束手無策。

    我們也經常聽到一些聲響,不要太拘泥於說話(技巧)細節了,要從年夜處著眼,要有年夜局不雅,架構怎樣怎樣主要,這些都是年夜真話。不外實際情形常常是,許多法式員不是太拘泥於說話(技巧)細節了,而是對說話(技巧)細節控制得還遠遠不敷。

    書本常識的主要性無須置疑,但毫不要認為讀了兩本書,本身就成了牛氣的架構師、設計師或許甚麼建模專家。

    早年的軟件開辟專一理論而缺少需要的實際指點。如今愈來愈走向別的一個極端:設計文稿愈來愈圖文並茂,美不勝收,但開辟出來的軟件卻比之前差許多。這類外面文章,意義安在?

    數據庫

    年夜多半軟件都要和數據庫打交道,並不是只要MIS類軟件如斯,數據庫常識簡直長短控制弗成的,不過應用深度和廣度有別罷了。迄今為止,我編寫的每個項目軟件,都要拜訪數據庫,有一個法式乃至同時要跟兩個數據庫打交道(Oracle和SQL Server)。

    假如你上過任何一門數據庫基本實際方面的課,或賣力看過任何一本數據庫基本實際方面的書,也許都不用再買更多的(相似的)書。二十多年以來,關系式數據庫實際之穩固,遠遠跨越C++說話的穩固:)

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved