首先C++做為提出超過25年的標準,很多方麵已經跟不上時代發展了。最突出的矛盾就是C++嚐試涵蓋過多應用領域,卻沒辦法讓大家脫離繁瑣的語言標準本身。下麵分幾個方麵討論一下:
1. OOP
C++作為第一個實用的OOP Language為行業進步做出了輝煌的貢獻(所謂實用主要是相對於smalltalk),不過C++的OOP畢竟很不純。我個人覺得可以用波爾的原子模型來類比,即大致上建立了可行的模式,但是當需求觸及邊界的時候模型就開始失效。用C++來做大項目,程序員很難專注於OO Modeling本身,需要了解太多所謂的C++ gotchas。當項目進入維護階段的時候這種語言標準本身的先天不足更是噩夢一般的煩擾。
之前的人們是沒有選擇,不過現在立項的新項目大多尋求Ruby, Python之類的腳本語言來做複雜的OO Modeling,輔以C來做核心的數據結構和算法實現。比如Google就遵循C+Python的模式。
2. 語法
C++的語法嚴重偏向imperative。在20年前是沒有任何爭議的東西,不過現代語言都需要在imperative和declarative之前取得一定平衡。具體到使用上,C++太容易出所謂的human mistake,這也使得C++的維護非常困難。當然了,C也是純粹的imperative,不過C是門簡單的小語言,而且有明確的應用場合(核心數據結構/算法優化,嵌入式開發,操作係統底層,驅動等等),而C++應用無所不含卻又很真正難適應需求。所以C的生命力一直頑強。
3. 易用性
這個和語法相關,當然也和別的語言特性相關。總的來說初學者不容易上手是公認的,而且熟練程序員也不容易出效率。
總的來說新項目用到C++的越來越少,cutting edge的用到的就更少了。如果不是在已有code base上開發,大家現在都不傾向於選C++。這就是為什麽我判斷C++已經死的差不多了。就算是0x的幾個諸如smart pointer的標準出來,也很難讓C++再一次具備競爭力。
我也不太曉得你的判斷依據,不過我先說好了
所有跟帖:
•
你說得似乎都在點子上, 應該是高手。 我不太寫程序。
-亂彈-
♂
(0 bytes)
()
05/12/2009 postreply
19:22:59
•
你說的很好。一看就知道是個高手。可是,盡管
-戲雨飛鷹-
♀
(233 bytes)
()
05/12/2009 postreply
20:24:43
•
說明一下,我不崇尚C++。
-戲雨飛鷹-
♀
(0 bytes)
()
05/12/2009 postreply
20:29:27
•
感謝兩位花時間看我的閑話
-累死算了-
♂
(758 bytes)
()
05/13/2009 postreply
10:52:51
•
你的閑話,讓我這個連菜鳥都不如的草包子很受啟發。
-戲雨飛鷹-
♀
(252 bytes)
()
05/13/2009 postreply
12:58:57
•
很多都說不上是我自己的話
-累死算了-
♂
(0 bytes)
()
05/13/2009 postreply
18:26:31
•
上個帖子不小心發空了
-累死算了-
♂
(246 bytes)
()
05/13/2009 postreply
18:29:28
•
thanks a lot.
-戲雨飛鷹-
♀
(0 bytes)
()
05/14/2009 postreply
04:07:23
•
才發現有字似乎被濾掉了
-累死算了-
♂
(63 bytes)
()
05/13/2009 postreply
21:12:53
•
回複:我也不太曉得你的判斷依據,不過我先說好了
-我愛C++-
♂
(227 bytes)
()
05/13/2009 postreply
16:21:15
•
我認為你舉的例子還是有些曆史原因
-累死算了-
♂
(203 bytes)
()
05/13/2009 postreply
18:47:33
•
純屬討論
-我愛C++-
♂
(1230 bytes)
()
05/14/2009 postreply
10:44:45
•
我們展開來討論一下
-累死算了-
♂
(2325 bytes)
()
05/14/2009 postreply
17:40:55
•
可以開個主貼討論。蠻有意思的。
-亂彈-
♂
(0 bytes)
()
05/14/2009 postreply
18:23:30
•
畢竟不是專門板塊,回帖裏灌灌水沒什麽,開主貼就不合適了
-累死算了-
♂
(0 bytes)
()
05/14/2009 postreply
18:25:42
•
I highly recommend u make a new thread
-戲雨飛鷹-
♀
(234 bytes)
()
05/14/2009 postreply
18:53:09
•
不過,現在的職壇跟以前不大一樣了:失業的人太多了。討論技術的話題少了。。
-戲雨飛鷹-
♀
(128 bytes)
()
05/14/2009 postreply
19:00:20
•
typo: 不敢
-戲雨飛鷹-
♀
(0 bytes)
()
05/14/2009 postreply
19:04:06
•
回複:我們展開來討論一下
-我愛C++-
♂
(1058 bytes)
()
05/14/2009 postreply
21:39:02
•
我也說著玩吧:)。一個產品的存在與否,最終要由市場說的算。
-戲雨飛鷹-
♀
(678 bytes)
()
05/15/2009 postreply
04:56:20