C+之父訪談錄:我也沒想到 C+會這麼成功!

2020年11月20日18:20:04 科技 1435

CSDN編者按:強大、靈活、複雜:C ++的起源可以追溯到40年前,如今,它仍然是當今使用最廣泛的編程語言之一。為什麼C ++能夠長盛不衰?TechRepublic對C ++之父Bjarne Stroustrup進行訪談,了解在他眼中的C ++。

C+之父訪談錄:我也沒想到 C+會這麼成功! - 天天要聞

圖源:維基百科

整理 | Owen Hughes

譯者 | 夕顏

出品 | CSDN(ID:CSDNnews)

C ++的起源可以追溯到1979年,當時Bjarne Stroustrup着手開發這種語言時,它還被稱為「 C with Classes」。這門編程語言設計的初衷,是對C編程語言進行改進,增加了一些基於面向對象編程的功能。

C ++會成功我也很驚訝

Stroustrup談到:「 C ++的成功令人驚訝。我認為,C ++成功的原因在於其最初的設計目標——有效地使用硬件,再加上強大的抽象機制,以及根據實際使用情況的反饋進行謹慎的調整。」

現在,這門語言是最受開發人員歡迎的語言之一,為全球的系統和服務提供支持。

「我想用通信系統創造一個多計算機系統,這個通信系統可以共享內存,或者網絡,」 Stroustrup解釋說。

「我把重點放在軟件上。我需要編寫底層的,接近硬件的代碼,比如內存管理器,進程調度程序和設備驅動程序,來分離軟件組件,以便它們可以在溝通方式定義明確的獨立電腦上運行。」

然而,當時沒有任何一門語言能勝任這項工作,因此Stroustrup決定自己創造。他這樣描述這種理想中的語言:「 C with Classes應該具備C語言接近硬件的能力,並且有與Simula類似的抽象和代碼組織能力。」

從很早的時候開始,Stroustrup就意識到自己對這門語言沒有什麼獨裁統治的控制權。早期的C ++工作只有他和Bell Labs的幾個同事在搞,直到語言標準化開始後,這個數字才激增到幾十人。

如今,C ++標準委員會大約有400名成員,並發展了更廣泛的用戶群體,他們是這門語言的追隨者,同時也嘗試影響它的發展方向。

那麼,大家對C++如此熱情,如何保持這種編程語言的連貫性呢?「這是一個機遇,也是一個巨大的問題,」Stroustrup坦承。

「最難的是找到重點所造並保持連貫性。一旦知道了自己想要的東西,最終就會找到一種很好的技術方法來做到這一點。」

記住Vasa

1998年是C ++正式標準化的一年,也奠定了它的地位。至此,C ++已成為世界上最常用的編程語言之一,並保持至今。

但Stroustrup認為,直到十三年後C ++ 11的到來,才為這門語言的未來發展奠定了基礎。他說:「 C ++ 11使C ++感覺像是一種新語言。」

「對並發的類型安全的支持是必不可少的。C++ 11提供了一系列相互支持的功能,例如用於編譯時計算、lambda、自動類型推導和可變參數模板的[恆定表達式]函數。」

儘管C ++ 11引入了一些使語言更簡單、更快和更具表現力的新特性和功能,但卻沒有改變這門語言很難學的事實。Stroustrup也承認這一點。

「 C ++確實很複雜,很好地掌握它需要付出很多努力,」Stroustrup說。「不幸的是,人們不只是想要簡單,他們還想要一些不可能的東西:一種更簡單的語言,具有更多的功能,但不會破壞現有的代碼。」

Stroustrup對這種「困境」的回應,是C ++添加了一些功能,這些功能「使簡單的事情變得更簡單」,例如,不僅支持常見用例,同時又保持兼容性和穩定性。

對於像C ++這樣的「巨獸」或任何其他主要編程語言來說,做到這件事都是說起來容易,做起來難。Stroustrup解釋說,最大的挑戰之一是,就決定採用或忽略哪些新功能達成共識,這本身就需要大量的討論、時間和耐心。

即使那樣,也並不是所有好的功能都可以被採用。他解釋說:「我們必須抉擇,增加那些真正對人們有幫助的功能,而且很不能過多,要是所有有用的功能都添加,語言就會因不堪其重而沉船。」

就像Vasa一樣。這是一艘17世紀的瑞典大型戰列艦,由於設計欠佳,在首航時這艘巨輪就沉沒在斯德哥爾摩港口。

「在最高管理者——國王的堅持下,沒有採納技術人員更專業的判斷,它滿載美麗的雕像和的沉重的槍支。因為超重,一陣風把它掀翻了。

C+之父訪談錄:我也沒想到 C+會這麼成功! - 天天要聞

「我反覆談論、寫到很多有關Vasa的內容,來提醒和警告那些熱衷於通過添加功能來改進C ++的人,請記住Vasa!所以目前為止,C ++還沒有崩潰。」

在Stroustrup看來,這些年C ++的生存之道是什麼?「從小處做起,闡明基本原則,明確長期目標,並根據實際使用情況的反饋來改進。」

確實,C ++誕生已經超過35年了。今天的C ++比早期的C ++更加強大和富有表現力。但是,直到今天,原始設計的痕迹仍然保留到現在。

Stroustrup說:「如今,仍有一些40年前的簡單的程序至今還在運行。」

「對於使用了數十年的系統來說,穩定性是一種重要的語言功能。事實上,許多早期的想法只有在C ++ 20中才可用。從一開始我就知道沒辦法創造一門理想的語言,所以我必須以漸進發展為目標。老實說,我不相信存在一種完美的語言的想法。怎樣就是完美了?對於誰來說?

他補充道:「改進是應對世界變化帶來的挑戰和吸納新思想的必要條件。」

實踐中的C ++

截至2020年9月,在全球範圍內,C ++是僅次於C、Java和Python的第四大流行編程語言。根據最新的TIOBE索引,它也是增長最快的編程語言。C ++是一種通用的編程語言,由於其強大的功能和靈活性而受到開發人員的青睞,這使其成為操作系統、Web瀏覽器、搜索引擎(包括Google)、遊戲、商業應用程序等的理想選擇。

Stroustrup總結道:「如果你有一個問題,需要高效使用硬件,並且要應對高複雜性,那麼C ++顯然是個好選擇。如果你並沒有這兩個需求,那使用低級但高效的語言,或者採用高階但並不高效的語言就能做到。」

然而,雖然C ++這麼受歡迎,但Stroustrup指出,很難準確指出C ++確切的用途和用處。

他說:「對這兩個問題的答案,估計是'無處不在'。」

「在任何大型系統中,通常會在較低級別和對性能至關重要的部分中看到C ++的身影。而這些系統部分,一般終端用戶,甚至系統的其他部分的開發人員都看不到。因此,有時我把C ++當作是一切的看不見的基礎。」

他還強調了開發人員調查在評估編程語言的普及度方面其實並不那麼可靠:「我們很難計算程序員的數量。Web調查通常只是計算一些「噪音」;也就是說,統計的是大家都在談論的,而不是實際用過的。」

C ++的未來

現在,Stroustrup是摩根士丹利的一名技術研究員。在這家金融巨頭中,與C ++標準的國際標準化組織(ISO)和《 C ++核心準則》的合作是他工作的一部分,但他仍重度參與C ++的開發。

最值得注意的是,Stroustrup還組織了一部分編程語言方向指導小組,這個小組會提出並討論有關編程語言未來發展的建議。他還是改進小組的一員,參與有關新語言功能的討論。

但是,在C ++的日常運行方面,Stroustrup更願意扮演幕后角色。他承認:「我會參與管理工作,但盡量少做。我不是一個很好的管理者。」

在新冠爆發之前,Stroustrup會花很多時間四處傳授知識,並通過他的書、文章和訪談向全世界介紹C ++。但由於新冠,這樣的生活暫告一段落。

「為了更好地工作,我非常需要通過交流來了解大家遇到的問題,並嘗試用我的方法幫助他們,」 Stroustrup說。

「因為新冠疫情,我得不到我急需的反饋。線上交流畢竟和現實不同,在討論設計和想法的時候,Zoom會議不如面對面的效果好 。」

COVID-19爆發也阻礙了C ++語言的下兩個迭代版本——C ++ 20和C ++ 23的發展,但Stroustrup確認,「幾乎所有」的 C ++ 20都將在2020年發佈。

「除此之外,還有關於Unicode、數字、遊戲開發和低延遲、工具、AI等方面的工作需要做。」他補充道。

「時機成熟後,我們將推出一項功能(語言和庫),並且每三年發佈一次修訂的標準。C++ 14、C ++ 17和C ++ 20會按時交付。值得注意的是,C ++的標準制定工作與主要系統的進展基本是同步的。

「讓C ++保持連貫性,並作為一個穩定的開發平台,這一點非常重要。」

本文為CSDN翻譯文章,轉載請註明出處。

https://www.techrepublic.com/article/c-programming-language-how-it-became-the-invisible-foundation-for-everything-and-whats-next/

科技分類資訊推薦

從聊天機械人到協作夥伴:AI智能體如何重塑企業工作 - 天天要聞

從聊天機械人到協作夥伴:AI智能體如何重塑企業工作

Scott White至今仍對人工智能從新奇技術轉變為真正工作夥伴的速度感到驚嘆。僅僅一年多前,這位Anthropic公司Claude AI產品負責人目睹了早期AI編程工具甚至無法完成一行代碼的窘境。如今,儘管並非專業程序員,他卻能親自構建
小米 16 系列迎最新爆料,Pro 系列鏡頭模組大改,橫向延伸全尺寸設計 - 天天要聞

小米 16 系列迎最新爆料,Pro 系列鏡頭模組大改,橫向延伸全尺寸設計

近日,包括數碼閑聊站在內等多個消息源,就下一代旗艦新機紛紛進行了最新爆料,其中小米 16 系列也在近日迎來了最新消息。根據最新爆料來看,小米 16 系列將會在以往的標準版、Pro 版、Ultra 的基礎上新增一款 Pro Max 型號。但一一對應來看,新款的小米 16 Pro 即對標標準版 , 為大家熟悉的 6.3 英寸小尺寸旗艦機型。而 1...
魅族 22 系列手機本月到來,提供全新開模小尺寸旗艦版本 - 天天要聞

魅族 22 系列手機本月到來,提供全新開模小尺寸旗艦版本

伴隨着時間來到 7 月,各大手機廠商的新機更新計劃有所放緩,不過根據多方爆料來看,「小廠代表」 星紀魅族旗下的魅族 22 系列將會在本月與大家見面。目前魅族 22 系列仍然十分 「神秘」,欠缺主要的配置爆料與外觀圖片作為參考。但根據部分什麼爆料者的消息來看,魅族 22 系列將會全新開模,並提供小尺寸旗艦版本可供選擇...
vivo X300 Pro 更多細節曝光,大 R 角直面屏,新款大底主攝方案加持 - 天天要聞

vivo X300 Pro 更多細節曝光,大 R 角直面屏,新款大底主攝方案加持

今天數碼博主數碼閑聊站在與網友互動中,透露了一款搭載聯發科天璣 9500 的 「大杯」 工程機的最新進展。參考爆料內容與評論區互動來看,預計為 vivo X300 Pro。除搭載聯發科天璣 9500 外,據悉該機一大變化之處在於屏幕部分,根據最新消息來看將會搭載一塊大 R 角直屏,不再採用曲面屏或微曲面屏設計。而這也將成為下一代...
數據驅動,柔性智能建造平台助力高效管理 - 天天要聞

數據驅動,柔性智能建造平台助力高效管理

長沙晚報掌上長沙7月1日訊(全媒體記者 劉嘉)6月30日,由長沙市智能建造產業鏈推進辦公室與中建五局三公司聯合承辦的「創新驅動 智建未來」科技活動舉行。該活動不僅展示了長沙在智能建造領域的創新成果,也為行業高質量發展提供了可複製的實踐經驗。
以前不敢想,機械革命搭配出4959元的RTX5050本,還有2.5K屏 - 天天要聞

以前不敢想,機械革命搭配出4959元的RTX5050本,還有2.5K屏

最近RTX5050本開始大面積登場,很多消費者也想知道,廠商到底能搭配出什麼樣配置?結果機械革命沒有讓大家失望,搭配出一個6199元的新品,補貼後價格4959元,再一次刷新新顯卡筆記本的價格新低。同時,其配置還不是很潦草,還是很平衡的,讓我們來看看。這款本配置了R9 7845HX處理器,12核心,24線程,台積電5nm工藝,Zen4...
中國移動三大核心布局 助力南亞東南亞數字經濟新發展 - 天天要聞

中國移動三大核心布局 助力南亞東南亞數字經濟新發展

【來源:雲南網】6月30日,由雲南省人民政府和雲南省工業和信息化廳聯合舉辦的面向南亞東南亞數字合作推介會在北京舉行,中國移動副總經理陳懷達出席,中國移動數智化部副總經理陶濤發表主題為《建設跨境數據交易高速公路,服務數字信息大通道建設》的演講