自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

深度剖析C++復雜性問題

開發(fā) 后端
下文主要介紹關(guān)于C++復雜性的一些想法,在郵件里面總結(jié)了一下C++的復雜性來源,感覺思路清晰了許多。

C++復雜性里面這樣的情況很多見:知道了語言實現(xiàn)的底層機制,卻不知道語言特性本身的意義在什么地方,C++的復雜性是根本原因”是個有漏洞的推理呢?

正如“Why C++”的一位讀者批評的,我在文章里面沒有寫明到底哪些是C++的“非本質(zhì)復雜性”。當然,我自己憑感覺就能知道,而接觸C++一段時間的人大致也能知道,但新手乃至非新手則對我所謂的“非本質(zhì)復雜性”根本沒有一個具體的認識,這就使得那篇“Why C++”脫離了原本的意圖——面向所有C++使用者和學習者。

同樣的原因,在寫了“你應當如何學習C++”一文之后,當孟巖先生邀請我給《程序員》寫一個系列的文章,介紹一下我在接觸C++的過程中的態(tài)度和認識轉(zhuǎn)變時,我雖然非常高興的答應了,但直到現(xiàn)在3個月過去了還是顆粒無收。

為什么?因為我覺得真正本質(zhì)的問題沒有被清晰的觸摸到;所以直到現(xiàn)在我都沒有動筆,免得廢話說了一大堆,除了能被當成小說讀讀之外,對真正考慮是否要學習乃至使用C++的人未必有什么實際用處。

然而,這么個念頭一直都放在潛意識里面。前一陣子和Bjarne通信,談到了關(guān)于C++復雜性的一些想法,在郵件里面總結(jié)了一下C++的復雜性來源,感覺思路清晰了許多。。而這篇文章要達到的目的,正是傳達對C++的復雜性的一個具體而明確的認識,有了這個認識作為支持,我們便可以推導出學習C++的***(實踐者)的方法。

底線是:如果把C++中的諸多不必要的復雜性去掉,留下那些本質(zhì)的,重要的語言特性,簡化語言模型,消除歷史包袱。即便是C++的反對者也許也很難找到理由說“我還是不用C++”。

在我看來,一個真正從實踐意義上理性反對使用C++的人只有一個理由:C++的復雜性帶來的混亂抵消乃至超過了C++的抽象機制和庫(在他的特定項目中)帶來的好處。 值得注意的是。

這里需要避免一個陷阱,就是一旦人們認定了“C++不好”,那么這個理由就會“長出自己的腳來”,即,就算我們拿掉C++的復雜性,他們可能也會堅持還是不用C++,并為之找一堆理由。

我假定你不是這樣的人。不過,也許最可能的是他會說:“問題是我們今天用的C++并非如此(簡潔),你的假設不成立。”是的,我的假設不成立。但雖然我們無法消除復雜性,我們實際上是可以容易地避開復雜性,避短揚長的。這也是本文的要點,容我后面再詳述。

那為什么我說“C++的復雜性是根本原因”是個有漏洞的推理呢?因為,要讓人們在使用一門語言去做事情之前耗上大量時間去學習語言中各種復雜性,除了語言本身的復雜性的事實之外。

還有一個重要的事實,那就是學習者的態(tài)度和(更重要的)方法。而目前大多數(shù)C++復雜性學習者的態(tài)度和方法是什么呢?——在真正用C++之前看上一摞語言書(日常編程八輩子都未必用得到)。而為什么會存在這樣的學習態(tài)度呢?這就是真正需要解釋的問題。實際上,有兩方面的原因。

C++復雜性里面這樣的情況很多見:知道了語言實現(xiàn)的底層機制,卻不知道語言特性本身的意義在什么地方。本末倒置。為什么?書害的。二,這類書當中介紹的所有情景加起來其實只屬于那20%(二八法則)。

甚至20%都不到的場景(究竟是哪些書,后面會介紹,我不便直接列出書名,打擊面太大,但我會把我認為essential的書列出來)。這就是為什么我說“八輩子都用不著”的原因。

【編輯推薦】

  1. C與C++中標準輸入實現(xiàn)方式上的一點區(qū)別
  2. C++編譯器如何對Const常量進行分配存儲空間
  3. C++類庫設計的基本構(gòu)思與方法
  4. 玩轉(zhuǎn)C++語言的幾種方法
  5. 如何更好的進行C++代碼編制
責任編輯:chenqingxiang 來源: CSDN
相關(guān)推薦

2010-01-13 18:49:54

C++的復雜性

2010-01-21 17:30:12

C++復雜

2010-01-13 15:41:02

C++的復雜

2010-01-12 10:28:58

C++復雜性

2010-01-12 10:57:16

C++的復雜性

2010-01-11 10:19:57

C++開發(fā)工具

2010-01-28 16:31:54

C++類型

2010-01-15 10:32:21

C++語言

2010-01-26 14:46:42

C++語言

2010-01-26 17:16:33

C++應用程序

2010-01-13 10:16:42

C++軟件

2010-01-28 14:54:01

C++資源管理

2010-01-11 17:43:23

C++程序設計

2010-01-13 11:14:06

C++虛表

2010-01-27 09:31:39

C++Test測試

2010-01-12 15:03:33

C++代碼

2015-11-30 11:14:59

C++對象池自動回收

2010-01-14 17:42:47

CC++

2020-09-04 06:32:08

緩存數(shù)據(jù)庫接口

2010-01-21 14:07:14

CC++聲明
點贊
收藏

51CTO技術(shù)棧公眾號