為什麼說用了10年C 的程式設計師也不敢說自己精通C ?

時間 2021-05-08 18:51:32

1樓:TheBadZhang

隨時都能出來我不知道的新東西,也不是一本書能夠寫全的比如今天突然知

T&&是通用引用

const & 可以引用左右值

2樓:

C++標準變化太大了,你看看C++14,比C++03改變了多少,用modern C++鼓勵的方式寫的程式跟traditional的比起來有什麼不一樣

3樓:陳磊

語言是解決問題的,不是炫技的,懷念mfc那個時代,後來泛型氾濫後,一切就都變成小眾圈子裡追求技術虛榮心的工具了,我當年也天天看stl原始碼剖析這些書,總覺得自己很厲害,其實現在想想真的只是虛榮心而已

4樓:Ponkux

我剛寫C++的時候也覺得這就是C with class而已,挺簡單的。

直到我接觸了stl,template,boost……

還是自己太年輕。

5樓:

相關: 7年C艹使用者, 專注跨平台因為C艹什麼都能做, 反而什麼都很複雜

.比如個人一直在擼的C艹的跨平台開發框架: https://

可以用C艹來快速擼UI, 從xml直接序列化UI元素等, 實現了反射, 遞迴序列化, 指令碼語言的自動繫結, 等等一般只有動態語言能實現的高階玩法

.但是為了實現這些, 造了很多輪子, 包括:

* 為解決過載函式的反射而造了 name mangling 的輪子

* 為解決繼承層次深導致 dynamic_cast 慢的問題, 連 dynamic_cast 的輪子都造了一遍

.你用別的語言會需要去關心這些麼? 這大概就是C艹難的地方:

為了實現某個新特性, 不得不引入更多的新特性, 填了乙個坑, 結果又挖了 10 個坑有沒發現? 現在 C艹的標準就是一直這樣, 導致整個體系越來越複雜, 外加本來就足夠複雜的 template

6樓:道窮則變

C++是乙個多范型語言,相當於雜糅在一起的若干語言。

C++的規範相當龐大,有數不清的各種特性,大量的未定義與實現定義行為。有96,11,14,17等多個不斷演進、複雜度/表達力遞增的規範版本。

對C的相容性帶來了額外的複雜度。

不同的編譯器/標準庫對規範的支援各有不同。

C++的標準庫相對較小,導致了各種龐雜而質量不一的應用庫。

C++的好處在於表達力、自由度、效能,適合知道自己在幹什麼的程式設計師。

7樓:Claire

程式是死的,人是活的。

天外有天,程式設計師這個圈子,有能耐的誰都不服誰。

誰敢公開說自己精通,擅長,那麼分分鐘被打臉。

說到底,什麼叫做精通?無所不能?還是寫碼無錯?還是有錯能調?

沒有人定義,自然也就不好裝逼。

對了,我吃了二十多年飯了。還是不敢說自己精通品食。哪位敢說?_(:з」∠)_

8樓:

看了這麼多答案,看來這C++就像海大富的《化骨綿掌》一樣學習三五十年才能略有小成!陳近南也是看了3年《C++ Primer》,然後練了30年C++才有的成就,然後被幾個學python的人給吊打了。

9樓:禮義廉

首先你得說明什麼是精通,就是精通的下限是什麼?是所有語法都溜的飛起還是對底層的邏輯結構瞭如指掌?

最後附加一句,我不喜歡造輪子^_^

10樓:Outman

因為當程式設計師的都認為自己比較厲害,然後乙個人說自己更加厲害的時候打心眼兒裡會很不服,所以嘛c++這麼大的方向隨便找個地方問你而且把你問住還不簡單,然後很多人因為自己當年被問住了長心眼兒了,然後再去想辦法問別人發洩一下。到最後人人都不敢說精通c++了

11樓:

精通的標準不一樣,會點皮毛就吹噓自己精通的有的是。有些人就是改不了吹牛的毛病。我就覺得實際上精通C++的估計不超過200人。

因為我覺得精通的標準是能寫出Effective C++ , More Effective C++, Modern C++ Design,Exceptional C++ , More Exceptional C++這樣書的人或者具備這個水平的才叫精通。

12樓:蘇遠

因為精通C++這個梗已經被玩壞了。

不知道這個梗的老外,十份簡歷裡面能有八份寫Proficient/Expert in C++。

這個東西自謙可以,真要找工作忽悠HR的時候不要心慈手軟,不然直腦筋的白人面試官真會覺得你只是「了解」C++而已。

13樓:黃恩龍

因為從學會C++開始,時間上已經過去了十年,而不是一直鑽研C++,就是為了精通C++。

語言就是乙個工具,除非你要研究出新的語言或成為語言大師,否則沒有必要去精通一門語言。

我也是10年C++的人,但我確實不敢說自己精通C++,不是我太渣,也不是因為C++太複雜。

因為我選擇了Full Stack Developer。

從彙編,C,C++,PHP,C#,python,lua,go,docker,html,js,等等等還有運維,管理,linux操作等等。

當然了,這也跟程式設計師的環境有關係,我一開始寫的是病毒外掛程式,我更理解的是系統原理,PE格式,遠端記憶體操作,視窗操作,還有加密解密等,

而不是研究C++都有什麼功能,都有什麼類庫。

想來自己最多用過幾次MFC,stl很多功能我都沒用過,那STL就是C++類庫,

所以要說精通C++ 首先你得什麼類庫都會用吧?

你看我boost庫連碰都沒碰過,所以我不敢說我精通C++。

所以你精通C++,所以你比我厲害? 噗噗。

14樓:

不要聽這些人危言聳聽,cpp的難點在於複雜多變的語法,但也帶來了非常好的靈活性!在程式設計時取你所需的就行。cpp懂了,學其他真的好快!!好容易!!

15樓:江右37度

C++3年一小變,5年一"大便",這種玩法導致的結果就是,親娘都不認識這還是不是C++了,

老的C++程式設計師要麼已經轉型,要麼就在轉型的路上。

16樓:趙大維

本來自己寫c++很費勁,所以,我只要把自己用的地方整明白就行,對像我之類的學渣,只要不是憑著c++工作,只要會用個別模組,把自己的目的達到就行,追求極致會浪費你撩妹子的時間。

17樓:飄逸的h

熟悉了c++大部分語法,經過幾個專案的薰陶(甚至自己做)、再學習幾個開源庫,了解多執行緒、c++記憶體模型、一些演算法和設計模式這些,基本就可以了,這就算乙個不錯的程式設計師了吧,去哪個行業都會較快的拿起來的(c++程式設計)。至於精通,不理解,我覺得在自己行業能信手拈來就是精通,即使看見乙個不會用的方法,但是你可以用自己的方法替換出來就可以。當然了,偶爾你可能還是忘了某個語法、某個容器、某個函式、甚至不知道一些函式,我覺得也沒必要都記住。

18樓:KiwiZhang

c++只考慮滿足程式設計的靈活性要求。忘記了靈活性表明多樣性,多樣性表明複雜性,複雜性表明軟體難以維護。乙個人用十種花式方法,十個人就是一百種做了同樣的工作。

而且程式設計師都喜歡炫技,而不願意做文件,當第十乙個人來,他就要在沒有文件的情況下,搞明白100種方法。

這不是shability什麼是?

19樓:

中文常用漢字不超過3000,語法一天內就能學完,你見過幾個說自己精通中文的。

英文常用單詞不超過3000,語法一天內也能學完,你見過幾個說自己精通英語的。

語言死在單詞(指令)和語法,但不死在表達,更會因為庫擴充(即人類語言的歷史、新聞引用)而不斷變化。

另外,這世界也不需要幾個精通語言的人。除非它要寫編譯器。

20樓:

為什麼要精通cpp?

你在用cpp的時候是在幹啥?

寫程式是用手寫嗎?

不,是用腦子在寫

所謂的程式設計思維,這才是重點

就拿武俠世界裡的武功來舉個栗子:

cpp好比降龍十八掌

程式設計思維好比內力

沒有內力加成的降龍十八掌

就算你練的再熟

終究不過是個花架子

而如果內力深厚

只要稍微會一點招數

那摘花採葉皆可傷人了

21樓:

確切說是精通各種C++編譯器的各個版本裡面的坑

另外C++支援的正規化多,特性多,所以奇技淫巧太多了,一般來說要說得上是精通,那奇技淫巧必須是玩得很6666了

22樓:地山

精通C++的本質在於熟知編譯器的實現和因此造成的種種bug。因為這個語言叫C++,bug就不叫bug了,而叫做特性,熟悉乙個邏輯的五種寫法哪一種會觸發bug,就不叫做沒事兒找事兒,而叫做專案經驗。

23樓:海涅心理

如果你把乙個女孩子作為女神對待,似乎不會對你有什麼幫助。

尤其當你看到你戰戰兢兢的時候,她已經和乙個比較猥瑣的人親密的走在一起。:)

首先,精通這個詞的含義還是比較廣泛的。

如果你所說的精通是能夠掌握它的所有規則和應用場合,似乎沒有必要,也不可能。

畢竟有些東西是在特定場合才使用的。

如果你的精通指的是知道它是怎麼一回事,為什麼要這樣。

那麼看看Bjarne Stroustrup的經歷,也許能幫助你弄明白為什麼他要搞C++

他都做了什麼?當時的軟體危機是怎麼回事?

如果你知道他為什麼這麼做,也許就能推理出他應該怎麼做。

C++不過是他的想法的實現。

也許這個時候,你可以做的更遠一點。

如果你只是在C++裡面看它,大概總也看不清楚。

如果只是把它作為乙個程式語言呢?

如果把programming language只是作為實現computer功能的一種工具呢?

如果把computer只是作為乙個幫助人們擴充套件能力的工具呢?

關注++, 而不是C

關注Information, 而不是Technology

那麼這個時候,換個角度講:

C++ 83年首次提出。基本上也就是Bjarne Stroustrup大學畢業10年之後。

為什麼你不用10年的時間去弄出來自己的語言呢?

也許這個目標太大,畢竟大家都把他當神一樣看待,不敢平視。

不過,說到最後,你是否想過:

接下來的人生裡是否值得繼續探索這個C++?

技術真的是你終極的追求嗎?

暴風科技漲停35天,他的開發者們是在10年時間來了解c++嗎?

或者通俗點,

你買車是為了了解它的構造,還是看看說明書就開車去你想去的地方?

你是為了崇拜它,還是用它來實現兩點之間的快速移動?

24樓:sjjf sjjf

如果經典的語言本身都是凝練簡潔的,不會使得使用者花費太多精力關注語言本身,比如lisp,比如c……

就像雕琢一件作品一樣 ,一把錘子一把刻刀可能就足以了,只需要極少的訓練就能成功使用,讓使用者把精力放在設計上,

而cpp 就像一件複雜的電動工具…… 你花個幾年也未必能玩清楚這些使用方法……需要記住你的目的是設計而不是研究某個語言的用法……

為什麼說 最優秀的程式設計師大部分是C程式設計師?

圓胖腫 因為大多數人的智商理解不了lisp或者haskellc相對容易懂,因為tangible 這就猶如其實最優秀的科學家從來都是數學家,但是處境喜劇裡面出現的往往是物理學家一樣 太抽象的東西,一般人理解不了 新聞炒作的也是諾貝爾獎,其實論難度,菲爾茲獎明顯比諾貝爾獎要難一點諾貝爾獎也是靠理論物理撐...

非程式設計師說程式設計有什麼難的,作為程式設計師,該怎麼回答這個問題?

張大大 工資高因為產業紅利,網際網路時代。你覺得複雜因為你是外行人,比如建築金融晶元工業自動化並不比程式設計師簡單,只不過是夕陽行業或者行業的賺錢能力差成本高罷了,如果程式設計師真的難,就不會有滿大街的程式設計師了,難的都是有真本事的高手,少數,一般都是普通的程式設計師打工仔而已,熟能生巧,如果你們...

為什麼有人說 程式設計師用 Windows 的就面壁去,Ubuntu 和 Debian 都是及格,Mac 70分 Windows OS X Ubuntu ?

因為 親不敬,熟生厭 年輕一代的程式設計師的經歷大多是 從小用Windows打遊戲,窮學生時代響應開源號召,熱血滿滿的去用Linux,上班後賺到錢覺得新鮮用Mac。 這就好像用 iPhone 的人瞧不起用華為 三星等的,城裡人瞧不起鄉下人 長得漂亮的瞧不起長得一般的,某種程度上是歧視和高傲的表現。人...