新聞中心
【獨家特稿】如果Bjarne Stroustrup(比雅尼·斯特勞斯特魯普)從A&M大學(xué)工程學(xué)院離職,他的簡歷上只需一句話就會有一群頂級軟件公司向他拋出橄欖枝:

創(chuàng)新互聯(lián)從2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目網(wǎng)站設(shè)計、網(wǎng)站建設(shè)網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元成縣做網(wǎng)站,已為上家服務(wù),為成縣各地企業(yè)和個人服務(wù),聯(lián)系電話:18980820575
開發(fā)頻道年終巨獻(xiàn):架構(gòu)師最怕程序員知道的十件事
“Bjarne Stroustrup,C++編程語言的發(fā)明者”。
Bjarne 1950年出生在丹麥,對于軟件開發(fā)界,丹麥不僅是一個童話王國,還是群星閃耀大師頻出的地方。Delphi和C#之父Anders、Ruby on Rails創(chuàng)始人DHH都是丹麥人。1975年,Bjane獲得丹麥奧胡斯大學(xué)的數(shù)學(xué)和計算機(jī)科學(xué)碩士學(xué)位,又于1979年獲得英國劍橋大學(xué)的計算機(jī)科學(xué)博士學(xué)位。
貝爾實驗室
此后20余年,Bjarne一直就職于貝爾實驗室Large-scale Programming(大型程序設(shè)計研究部)實驗室。貝爾實驗室的工作可以大致分為三個類別:基礎(chǔ)研究,系統(tǒng)工程和應(yīng)用開發(fā)。Bjarne就職于開發(fā)部門,這是貝爾實驗室最大的部門,負(fù)責(zé)設(shè)計構(gòu)成貝爾系統(tǒng)電信網(wǎng)絡(luò)的設(shè)備和軟件。
[[7666]]
C++之父Bjarne Stroustrup
這是一段難得的經(jīng)歷。上世紀(jì)七八十年代,貝爾實驗室一直站在計算機(jī)科學(xué)和應(yīng)用軟件開發(fā)的前沿,C++之前,這里是Unix系統(tǒng)和C語言的發(fā)源地。
1970年,在貝爾實驗室工作的Unix之父Ken Thompson將BCPL語言(BCPL是劍橋大學(xué)1963年改造自ALGOL 60的語言)進(jìn)行了修改,Ken Thompson為它起了一個有趣的名字“B語言”,并用B語言寫了第一個UNIX操作系統(tǒng)。
1972年,貝爾實驗室的D.M.Ritchie在B語言的基礎(chǔ)上最終設(shè)計出了一種新的語言,他取了BCPL的第二個字母作為這種語言的名字,這就是C語言。
自1978年貝爾實驗室正式發(fā)布C語言以來,C以簡潔緊湊的風(fēng)格,面向過程的編程方式,豐富的數(shù)據(jù)結(jié)構(gòu)和強(qiáng)大的底層控制能力獲得迅速發(fā)展。到上世紀(jì)80年代,C語言已經(jīng)成為最受歡迎的編程語言;許多著名的系統(tǒng)軟件, 如DBASE Ⅲ PLUS、DBASE Ⅳ 都是由C 語言編寫的。
作為貝爾實驗室開發(fā)部門的架構(gòu)師,Bjarne體會到科學(xué)的嚴(yán)禁和苛刻,見證了C語言誕生和繁盛的過程;更重要的是,他感受到一門編程語言不僅對項目組的內(nèi)部工作起到作用,對整個軟件開發(fā)界甚至IT產(chǎn)業(yè),都產(chǎn)生推動作用。
面向?qū)ο蟮倪M(jìn)化與實現(xiàn)
“沒有銀彈”。C語言當(dāng)然也存在一些自身無法解決的問題。C語言的缺點主要表現(xiàn)在數(shù)據(jù)的封裝性上,這一點使得C在數(shù)據(jù)的安全性上有很大缺陷;C語言的語法限制不太嚴(yán)格,對變量的類型約束不嚴(yán)格,影響程序的安全性,對數(shù)組下標(biāo)越界不作檢查等。從應(yīng)用的角度,C語言比其他高級語言較難掌握;此外,作為C語言的一大特色,指針可以說是C語言優(yōu)于其它高級語言的一個重要原因。就是因為它有指針,可以直接進(jìn)行靠近硬件的操作,但是C的指針操作也給它帶來了很多不安全的因素
除了上述原因,現(xiàn)實世界的業(yè)務(wù)需求也在隨著IT業(yè)的發(fā)展發(fā)生著翻天覆地的變化。人們需要新的軟件分析和實現(xiàn)方法;此外,對于開發(fā)人員,他們一直被軟件開發(fā)的效率問題困擾,軟件如何得到更好更高效的維護(hù)?如何讓已有資源的得到更好的復(fù)用?
答案是面向?qū)ο蟆C嫦驅(qū)ο蟪绦蛟O(shè)計在某種程度上通過強(qiáng)調(diào)可重復(fù)性解決了這一問題。向?qū)ο蟪绦蛟O(shè)計可以被視作一種在程序中包含各種獨立而又互相調(diào)用的單位和對象的思想,這與傳統(tǒng)的思想剛好相反:傳統(tǒng)的程序設(shè)計主張將程序看作一系列函數(shù)的集合,或者直接就是一系列對電腦下達(dá)的指令。面向?qū)ο蟪绦蛟O(shè)計中的每一個對象都應(yīng)該能夠接受數(shù)據(jù)、處理數(shù)據(jù)并將數(shù)據(jù)傳達(dá)給其它對象,因此它們都可以被看作一個小型的“機(jī)器”,或者說是負(fù)有責(zé)任的角色。
C With Class
問題是,這項理論在實際的應(yīng)用開發(fā)中,只有70年代的Smalltalk語言能夠通過內(nèi)建的功能支持(30年后的今天依然將Smalltalk視為面向?qū)ο笳Z言的基礎(chǔ));現(xiàn)有的主流編程語言在設(shè)計和實現(xiàn)方法上都傾向于過程和函數(shù),底層的編譯器無法解釋對象這一概念。
Bjarne在上世紀(jì)80年代初期在C語言的基礎(chǔ)上,實現(xiàn)了內(nèi)建支持面向?qū)ο蟪绦蛟O(shè)計方法的C with Classes。一開始C++是作為C語言的增強(qiáng)版出現(xiàn)的,從給C語言增加類開始,不斷的增加新特性。虛函數(shù)(virtual function)、運算符重載(operator overloading)、多重繼承(multiple inheritance)、模板(template)、異常(exception)、RTTI、命名空間(name space)逐漸被加入標(biāo)準(zhǔn)。
#T#80年代末,C++開始以一門面向?qū)ο笳Z言的高級語言的獨立姿態(tài)出現(xiàn)在程序員面前,大家被面向?qū)ο蟮木幊趟枷氪騽?,發(fā)現(xiàn)原來需求中的問題可以如此脈絡(luò)清晰,程序設(shè)計也可以如此簡單高效;更重要的是,C++在效率和平臺方面并不比C差(C++與C的效率往往相差在正負(fù)5%之間,有人認(rèn)為在大多數(shù)場合C++ 完全可以取代C語言)。面向?qū)ο蟮木幊趟枷腴_始席卷整個開發(fā)領(lǐng)域,標(biāo)準(zhǔn)模板庫(STL)和微軟的VC++平臺推波助瀾,C++開始流行起來。
經(jīng)過十年的發(fā)展,1998年C++標(biāo)準(zhǔn)委員會成立,國際標(biāo)準(zhǔn)組織(ISO)在這一年頒布了C++程序設(shè)計語言的國際標(biāo)準(zhǔn)ISO/IEC 1488-1998。C++成為具有國際標(biāo)準(zhǔn)的編程語言,通常稱作ANSI/ISO C++。1998年是C++標(biāo)準(zhǔn)委員會成立的第一年,以后每5年視實際需要更新一次標(biāo)準(zhǔn)。
作為20年盛行不衰的一門編程語言,C++目前還占據(jù)這編程語言排行榜前三名的位置。Bjarne Stroustrup寫下了它的早期定義并做出了首個實現(xiàn),在C++流行之前,Bjarne選擇制定了C++的設(shè)計標(biāo)準(zhǔn),設(shè)計了C++主要的輔助支持環(huán)境,而且負(fù)責(zé)處理C++標(biāo)準(zhǔn)委員會的擴(kuò)展提案。
[[7668]]
Bjarne著作等身,其撰寫的多本書籍已成為C++的必讀書籍
而C++對整個軟件開發(fā)及IT業(yè)的貢獻(xiàn),不言而喻。憑借這些突出的貢獻(xiàn),Bjarne Stroustrup獲得了眾多贊譽(yù)和獎項:
1990年,Bjarne榮獲《財富》雜志評選的“美國12位最年輕的科學(xué)家”稱號。
1993年,由于在C++領(lǐng)域的重大貢獻(xiàn),Bjarne獲得了ACM該年度的 Grace Murray Hopper大獎并成為ACM院士(成立于1947年的ACM協(xié)會是歷史最悠久、目前世界上最大的教育和科學(xué)計算協(xié)會,成為ACM院士是個人成就的里程碑)。
1995年,BYTE雜志頒予他“近20年來計算機(jī)工業(yè)最具影響力的20人”的稱號。
目前,C++仍在它所擅長的領(lǐng)域發(fā)揮著不可或缺的作用。作為C++之父,Bjarne Stroustrup仍致力于C++標(biāo)準(zhǔn)的改進(jìn)和推廣,其著作《C++編程語言》、《C++的設(shè)計和演化》和《C++加注參考手冊》等已成為C++學(xué)習(xí)的經(jīng)典讀物。
當(dāng)前名稱:C++之父:面向?qū)ο蟮倪M(jìn)化與實現(xiàn)
文章出自:http://m.5511xx.com/article/dhiheci.html


咨詢
建站咨詢
