當前位置:編程學習大全網 - 編程語言 - Google對C++的影響有多大

Google對C++的影響有多大

習C++,未讓充滿期待

C++門前景軟件編程語言C++C語言基礎發種通用編程語言應用廣泛C++支持種編程範式 --面向象編程、泛型編程程化編程新式標準C++14於20148月18公布其編程領域眾廣用於系統發引擎發等應用領域至今止受廣程序員受用強編程語言,支持類:類、封裝、重載等特點廢少說C++,事非工作優秀C++工作元工資往往秒殺Java等程序員

二 習C++其實簡單沒想難

編程塌糊塗能力行態行總覺編程C++難遇點問題各種糾結助或者喜歡習C++夥伴非努力買面各種書籍網看各種視頻教程稅半斤八兩能自說我曾經努力我能說呵呵其實些習都太落早淘汰種習習效率非低往往戰鬥沒力堅持

讓我給家指點迷津吧現習C++面先進習看互式直播視頻教通電腦現場聽課問題場問師許 塊明白課看視頻放才高習種習模式誰能做我想加群前面組:四三七位於間位置組:五零八組:七九四按照順序組合起能發現習新陸需要都需要付毛錢需要

三 C++發展歷史簡單介紹

C語言所要起名C主要參考候門叫B語言設計者認C語言B語言進步所起名C語言;B語言並前A語言B語言作者紀念妻妻第字母B; C語言發展頂峰刻現版本叫C with ClassC++早版本C語言增加class關鍵字類候版本C都希望C語言增加類概念;C標準委員決定版本C起新名字候征集種名字采納其意見C語言++運算符體現C語言進步所叫C++立C++標準委員;

美AT&T貝爾實驗室本賈尼·斯特勞斯特盧普(Bjarne Stroustrup)博士20世紀80代初期發明並實現C++(初種語言稱作C with Classes)始C++作C語言增強版現給C語言增加類始斷增加新特性虛函數(virtual function)、運算符重載(operator overloading)、重繼承(multiple inheritance)、模板(template)、異(exception)、RTTI、名字空間(name space)逐漸加入標準1998際標準組織(ISO)頒布C++程序設計語言際標準ISO/IEC 1488-1998C++具際標準編程語言通稱作ANSI/ISO C++1998C++標準委員立第每5視實際需要更新標準標準更新2009目前我般稱該標準C++0x遺憾由於C++語言於復雜及經歷演變直現(2009)Visual C++ 2010 CTP發環境編譯器完全符合標準

另外目前習C++言認門獨立語言;並依賴C語言我完全C語言直接習C++根據《C++編程思想》(Thinking in C++)書所評述C++與C效率往往相差負5%間所認數場合C++ 完全取代C語言(我單片機等需要謹慎利用空間、直接操作硬件要使用C語言) [編輯本段]語言  根據Effective C++第三版第條款描述現C++由四語言組:

1、C語言C++支持C語言幾乎全部功能語與C語言僅極微妙差別(括號表達式左右值性具體請參考C++標準文獻)

2、面向象C++C++首先作門面向象語言聞名特點再詳述

3、泛型編程語言C++強(容易失控)模板功能使能編譯期完許工作提高運行期效率

4、STL(C++標準模板庫)隨著STL斷發展已經逐漸C++程序設計或缺部其效率能比般naive代碼低些其安全性與規範性使受歡迎 [編輯本段]語言發展 

 C++語言發展概三階段:

第階段80代1995階段C++語言基本傳統類型面向象語言並且憑借著接近C語言效率工業界使用發語言占據相份額;

第二階段19952000階段由於標準模板庫(STL)Boost等程序庫現泛型程序設計C++占據越越比重性同由於Java、C#等語言現硬件價格規模降C++受定沖擊;

第三階段2000至今由於Loki、MPL等程序庫代表產式編程模板元編程現C++現發展歷史新高峰些新技術現及原技術融合使C++已經今主流程序設計語言復雜員

C++入門  C++種語言僅僅語、特性、標準類庫已經門非高深課程所始習候必須先要打基礎市面Visual C++書雖其能花1-2章介紹C++基本特性絕讓入門初者習C++應該選擇針C++語言本身書籍能針Visual C++、MFC或者Windows API

習C++應該由易至難循序漸進前經說習C++前應該習C語言事實必須C++C語言雖關系仍兩種同語言習C++前習其編程語言處使習C++速度更快畢竟計算機語言概念都相通於零基礎初者說則應該靜要急躁要C++高手容易必須要花努力

入門教材選擇主要看習者自身情況已經習高級語言經歷推薦使用譚浩強《C++程序設計》註意04版06版本書閹割版面向象雖說CC++相似前面已經說CC++應該作兩種語言習所06本內容稍微欠缺點譚浩強04版本書內容比較規整條理清晰其高級語言基礎估計半能C++概況解譚浩強師書已經全各高等院校教科書比較受認

零基礎始C++推薦使用潘嘉傑《易C++》本書2008新書聽說讀書候寫本書網載免費電版本書主要針初者講比較趣比較提起習興趣所沒基礎初者選本書錯想要快高手能看本書夠至於看完入門書應該看些高層書比The C++ Programming LanguageC++ Primer同向STL、MFC、API等各向發展別語言興趣能看看C#JavaC++語概念都類似 [編輯本段]C++設計原則  ? C++設計靜態類型、C同高效且移植用途程序設計語言

C++設計直接廣泛支援種程序設計風格(程序化程序設計、資料抽象化、面向象程序設計、泛型程序設計)

C++設計給程序設計者更選擇即使能導致程序設計者選擇錯誤

C++設計盡能與C兼容籍提供CC++平滑渡

C++避免平臺限定或沒普遍用途特性

C++使用帶額外銷特性

C++設計需復雜程序設計環境

於保證語言簡潔運行高效等面考慮C++特性都庫(STL)或其形式提供沒直接添加語言本身關於類題C++父《C++語言設計演化》 做詳盡陳述 [編輯本段]C++Hello World程序  使用兼容C89標準(稱ANSI C)編譯器面程序顯示Hello, world!結束運行:

(事實並符合98標準[ISO C++]C++程序且數編譯器程序能運行若要比較舊編譯器編譯該程序應iostream改iostream.h)

#include

int main()

{

printf("Hello, world!\n");

return 0;

}

使用兼容C++98標準(ISO/IEC 14882-1998)編譯器面程序:

#include

int main()

{

cout << "Hello, world!" << endl;

return 0;

}

使用兼容C++ STL編譯器應:

#include

using namespace std;

int main()

{

cout<<"Hello,world!"<<endl;

return 0;

}

根據ISO C++規定main函數形式能

int main(void)

{

...

}

int main(int argc,char * argv[])

{

...

}

盡管Visual C++ 2003前Microsoft Studio編譯器

void main()

{

...

}

支持並確標準寫使程序代碼喪失跨平臺特性 [編輯本段]C++程序員數量  析機構EvansData定期發員展調查其調查結與Stroustrup提C++擴張說相違背EvansData數據顯示C++工具發員整發界所占比例由1998春76%降至2004秋46%

Forrester新調查顯示C++、微軟VisualBasicJava眾公司產品體系首選語言100家公司調查顯示C/C++、VisualBasicJava產品體系使用比例別59%、61%66%

傳統認C++相於目前些新潮語言Java、C#優勢於程序運行性能種觀念並完全深信點說明並沒充解理解C++某某語言同持種觀念通受某種誤導(罪魁禍首些財氣粗公司)於些公司言隱藏C++同某某語言間核差別現數程序員太關差別性能加強化隨著CPU性能快速提升性能問題已所關叫李代桃僵涉世深程序員相信於公司陰謀逞

般認使用Java或C#發本比C++低能夠充析C++些語言差別發現句立條件條件:軟件規模復雜度都比較超3萬行效代碼(包括器產代碼)句基本能立否則隨著代碼量復雜度增加C++優勢越越明顯造種差別C++軟件工程性JavaC#談軟件工程候C++實際已經悄悄軟件工程性提升前所未高度點數忽視並且公司竭力掩蓋

語言軟件工程壞依賴於語言抽象能力面向程面向象語言抽象能力質飛躍實踐發現面向象解決所軟件工程問題於精英逐步引入、並拓展泛型編程解決更高層軟件工程問題(實際面向象泛型編程起源都追溯1967由於泛型編程更抽象所應用遠遠落於面向象) [編輯本段]C++語言應用  哪些程序用C++寫:

主流3種操作系統Windows,Linux,Unix,內核都用C語言匯編寫層高級特性用C++寫

C++父Bjarne Stroustrup列舉C++應用:

Amazon.com:Software for large-scale e-commerce

Apple: OS X is written in a mix of language, but a few important parts are C++. The two most interesting are

AT&T:The largest US telecommunications provider.

o provisioning systems

o systems for rapid network recovery after failure

Autodesk: A large number of major number of application in the CAD domain

Ericsson:o server platform.

o TDMA-CDMA HLR

o GSM-TDMA-CDMA mobility gateway

Google: web search engine, etc

HP: Here is a tiny fraction of HP's C++ apps:

o C, C++, Fortran90 compilers, and linker for the new HP IA64 platform (these add to more than 1 million lines of C++ code).

IBM: o OS/400.

o K42: a high performance, open source, general-purpose operating system kernel for cache-coherent multiprocessors.

Intel:o Vtune performace analysis software

o compilers and optimizers

o lots of chip design and manufacturing software

JPL (Jet Propulsion Lab, NASA): Mars rover autonomous driving system (incl. scene analysis and route planning). C++ on Mars! Also lots of supporting software "on the ground" (i.e. Earth).

Microsoft:o Windows XP

o Windows NT (NT4 and 2000)

o Windows 9x (95, 98, Me)

o Microsoft Office (Word, Excel, Access, PowerPoint, Outlook)

o Internet Explorer (including Outlook Express)

o Visual Studio

o SQL

Mozilla: Firefox browser and Thunderbird mail client (open source)

MySQL: MySQL Server (about 250,000 lines of C++) and MySQL Cluster. Arguably the world's most popular open source database

Nokia: o Mobile Communications radio-station/internet bridges: FlexiGGSN (Gateway GPRS Support Node) and FlexiSGSN (Server GPRS Support Node).

o MSC/HLR

Sun: o The HotSpot Java Virtual Machine is written in C++

Symbian OS: rationale: "[...] using C++ for all system code, from the kernel upwards." This is one of the most widespread OS's for cellular phones

KDE from linux is written in C++.

telephone systems: I think it would be almost easier to list the systems which aren't written in C++

  • 上一篇:怎樣能自學網頁設計呢
  • 下一篇:新疆農業大學機械設計及其自動化這個專業的具體內容是什麽?
  • copyright 2024編程學習大全網