0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

C++語言,已經(jīng)深深改變我們的世界

C語言專家集中營 ? 來源:未知 ? 作者:李倩 ? 2018-05-01 17:46 ? 次閱讀

摘要:Big Data , A.I., Machine Learning……新概念正在出現(xiàn),Bjarne希望C++可以促進這種變革。這些年他頻繁接觸A.I.,希望用C++幫助A.I.系統(tǒng)的使用者們更好地運作。

C++之父Bjarne Stroustrup

C++語言,已經(jīng)深深改變我們的世界。

作為一門系統(tǒng)級編程語言,C++語言就像是C語言的超集,支持面向?qū)ο蟪绦蛟O計方法的所有概念,擅長面向?qū)ο蟪绦蛟O計,還可以進行基于過程的程序設計,具有很強的普適性、移植性和穩(wěn)定性,對硬件可以直接操控。

包括火星探測器,人類基因組計劃、Google、亞馬遜、Amadeus機票預訂系統(tǒng)、OpenOffice、華爾街投行、交易所大部分交易引擎,背后都是C++語言。巔峰時期,C++語言的使用者以每7.5個月翻一倍的速度增長,程序員隊伍迅速壯大,眾多新興科技公司因此崛起。

它的發(fā)明者Bjarne Stroustrup,現(xiàn)任摩根士丹利信息技術部門董事總經(jīng)理,哥倫比亞大學計算機科學系客座教授。他出生于丹麥,在劍橋讀完博士,1979年,他開始開發(fā)一種稱為“C with Classes”的語言,后來演化為C++。

1998年,ANSI/ISO C++標準建立,Bjarne推出了經(jīng)典著作The C++ Programming Language第三版,C++完成了標準化歷程。

鈦媒體記者在上海見到了C++之父,他66歲依然經(jīng)常寫代碼,致力于更新C++的標準和體系。

Bjarne在高校從事科研工作多年,為了了解一線程序員的需求,他加入摩根士丹利:“我想看人們怎么開發(fā)軟件,遇到什么問題,找到改善C++的方向,我想創(chuàng)造一種更有用的語言?!?/p>

C++的崛起史

世界上第一種計算機高級語言是FORTRAN,誕生于1954年,隨后多種計算機高級語言出現(xiàn),比如BASIC,這是為初學者設計的小型高級語言,以及美國貝爾實驗室在1972年開發(fā)出的C語言,應用于大多數(shù)系統(tǒng)軟件和應用軟件的程序編寫。

20世紀70年代中期,Bjarne在劍橋大學計算機中心工作,使用過Simula和ALGOL,接觸過C語言。1979年,Bjame進入貝爾實驗室,開始從事將C改良為C with classes的工作,他一心想提高項目的工作效率,希望設計一種能直接操控硬件的更好的計算機語言。他說:

“一個編程語言最大的價值在于應用,IT技術可以被應用到很多行業(yè),從電話到火箭,從小到大的領域,地球上永遠有人對新應用感興趣?!?/p>

1983年,改良后的C with classes,被正式命名為C++。作為一個實用主義者,Bjarne認為任何語言的編程,首先需要非常直白,不斷做重復的實驗測試,以及程序員之間的及時溝通、頻繁交流,寫代碼并不是一個單打獨斗的事情。

C++先后經(jīng)歷了3次修訂,Bjame不斷修改,為其加入新特征。到了20世紀90年代初,人們開始為C++建立一個標準,成立了ANSI和ISO,這是一個聯(lián)合標準化委員會。

科學家Alexander stepanov創(chuàng)建了標準模板庫,即STL,它功能強大、設計優(yōu)雅,委員會將STL包含到C++標準中,擴展了C++的范圍。1997年委員會通過了標準的最終草案,1998年,C++的ANSI/IS0標準被投入使用。

標準C++被確認了,所有主流編譯器,包括微軟的Visual C++和Borland公司的C++Builder,都支持這個版本。之后它不斷迭代完善:

1990年,引入模板和異常處理的概念;

1993年,引入運行時類型識別(RTTI)和命名空間(Name Space)的概念;

1997年,C++語言成為美國國家標準(ANSI);

1998年,C++語言又成為了國際標準(ISO)。

現(xiàn)在它已成為使用最廣泛、面向?qū)ο蟮某绦蛟O計語言之一,微軟、Apple的大部分軟件、 騰訊的QQ和微信、Android底層架構、 大部分數(shù)據(jù)庫的核心代碼……它無處不在。

創(chuàng)新是不斷突破自己

每種成功的編程語言,都有其核心競爭力,有些適合瀏覽器,有些適合專業(yè)的應用軟件。在Bjarne看來,編出一種成功的語言,最重要的是保持其核心競爭力。

他經(jīng)常和一線開發(fā)應用的編程人員、系統(tǒng)開發(fā)工程師聊天,發(fā)現(xiàn)問題,再優(yōu)化功能。很多人問他:為什么C++不可以將Java Script的優(yōu)點納入旗下,提高寫入程式時的效率,增強反饋能力?

Java是一門面向?qū)ο缶幊陶Z言,不僅吸收了C++語言的優(yōu)點,還摒棄了C++里難以理解的多繼承、指針等概念,它可以編寫桌面應用程序、Web應用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應用程序等。Bjame的一個學生參考了C++的寫法,創(chuàng)造了Java。

Bjarne說:“我認為Java是自成一體的,只有你想出一種辦法把C++的核心特點和Java的核心特點結合在一起,這兩種語言才能被整合。但事實是,這是不可能的?!?/p>

也有人向他反饋:希望C++操作更簡單,再增加幾個新功能。Bjarne嘗試過丟掉一些老舊的功能,為C++瘦身,讓它變得簡單,但是幾乎每次都失敗。

因為C++幾乎每個功能都被使用過,那些用過或開發(fā)過這個功能的人,不想舍棄這些代碼,Bjarne希望未來設計一些功能,建構新的分析系統(tǒng),讓電腦自動篩選出老舊過時的代碼,用戶可以一鍵更新。

Bjarne還在不斷突破:“我一直想打造一個完美的系統(tǒng),我希望C++更可靠、快捷、簡便,但是我還沒成功,C++是非常大的分布性的系統(tǒng),未來還會更多版本?!?/p>

推動C++不斷發(fā)展的動力,來自其背后龐大的應用,硬件正在變得越來越現(xiàn)代化,C++語言的挑戰(zhàn)之一是:如何跟上硬件發(fā)展,與時俱進。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 編譯器
    +關注

    關注

    1

    文章

    1602

    瀏覽量

    48895
  • C++語言
    +關注

    關注

    0

    文章

    147

    瀏覽量

    6931

原文標題:C++改變了世界,未來還要助力人工智能、大數(shù)據(jù)、機器學習的研發(fā)

文章出處:【微信號:C_Expert,微信公眾號:C語言專家集中營】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關推薦

    C語言C++中那些不同的地方

    C語言雖說經(jīng)常和C++在一起被大家提起,但可千萬不要以為它們是一個東西?,F(xiàn)在我們常用的C語言
    的頭像 發(fā)表于 12-07 14:29 ?773次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>和<b class='flag-5'>C++</b>中那些不同的地方

    C語言C++運用

    。是世界上使用最廣泛的編程語言之一。C++ 之父 —— Bjarne Stroustrup隨著物聯(lián)網(wǎng)技術的發(fā)展,C/C++ 技術在網(wǎng)絡通信(
    發(fā)表于 11-25 10:47

    C++編程語言的應用領域有哪些

    軟件的架構方法。從這個層面上講,C++的影響已經(jīng)不僅僅是一門編程語言這樣簡單。今天,我們來看一看C++
    發(fā)表于 12-15 06:58

    c++程序設計語言題解

    c++程序設計語言題解是與Bjarne Stroustrup的《C++程序設計語言》一書配套使用的習題解答,為從《C++程序設計
    發(fā)表于 09-05 16:00 ?121次下載
    <b class='flag-5'>c++</b>程序設計<b class='flag-5'>語言</b>題解

    CodeWarrior C and C++ and Assembly 語言參考設計

    本文是英文版的,介紹了CodeWarrior C and C++ and Assembly 語言參考設計,在您的設計中或許有用:
    發(fā)表于 06-22 15:33 ?74次下載

    CC++語言參考手冊

    CC++語言參考手冊
    發(fā)表于 06-19 11:12 ?21次下載

    C++的“深度”與“廣度”來探究其復雜程度

    C++是一種高深莫測的語言,這是眾所周知的。它的復雜度,我們可想而知。下面讓我們一同與作者,走進C++
    的頭像 發(fā)表于 01-15 15:48 ?3287次閱讀

    C/C++編程語言學習難點及語言

    一般學C++前都要學C,所以通常叫它們C/C++。C/C++歷經(jīng)40余年,也是經(jīng)久不衰的號稱“永
    發(fā)表于 08-15 10:24 ?2215次閱讀

    C語言C++相互調(diào)用

    接口的問題,比如最常用的C++調(diào)用C的接口來完成相應的外設驅(qū)動接口。 我們知道C++幾乎是完全兼容C的,不同的編譯
    的頭像 發(fā)表于 01-18 11:05 ?3176次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>與<b class='flag-5'>C++</b>相互調(diào)用

    C語言C++到底是什么關系

    首先C++C語言本來就是兩種不同的編程語言,但C++確實是對C
    的頭像 發(fā)表于 06-20 11:28 ?4335次閱讀

    C++語言的發(fā)展

    今年的CPP North C++大會上,谷歌宣布了一門新的編程語言Carbon,并稱其將是“C++的繼任者”。
    發(fā)表于 08-15 14:22 ?560次閱讀

    C語言 / C++基礎面試知識大集合

    點擊上方名片關注我們C語言C++相關的面試題一直比較少見一些,沒有Java方向?qū)懙娜四敲炊?,這是一篇C
    的頭像 發(fā)表于 05-26 10:38 ?700次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b> / <b class='flag-5'>C++</b>基礎面試知識大集合

    如何選擇創(chuàng)建c語言c++

    選擇創(chuàng)建 C 語言C++ 都需要綜合考慮多個因素。在決定使用哪種語言之前,我們需要對這兩種語言
    的頭像 發(fā)表于 11-27 15:58 ?455次閱讀

    vb語言c++語言的區(qū)別

    VB語言C++語言是兩種不同的編程語言,雖然它們都屬于高級編程語言,但在設計和用途上有很多區(qū)別。下面將詳細比較VB
    的頭像 發(fā)表于 02-01 10:20 ?1522次閱讀

    c語言,c++,java,python區(qū)別

    C語言、C++、Java和Python是四種常見的編程語言,各有優(yōu)點和特點。 C語言
    的頭像 發(fā)表于 02-05 14:11 ?1359次閱讀