如何理解評價《不找C 的工作也要學C 》這篇文章?

時間 2021-05-29 22:48:35

1樓:妖小謙

最重要的是動手,思考,來提公升程式設計能力,而不是一定要通過某種語言踩過坑才肯罷休。

而對於還在校學習的同學,如果對哪種語言都比較迷茫,也說不上對哪種語言最感興趣,我的建議就是先花一兩年的時間學習c++(大學時間充足,這期間不是單純學習其語法,而是借助這個語言做其他方面的程式設計工作,比如軟體開發,做資料結構與演算法,還要通過這個語言程式設計時,間接了解底層的東西)。最後,就給自己離畢業還一年,就要考慮從事什麼工作,涉及到的程式語言與技術,然後就往這方面努力研究。

新手最合理的學習路線就是入門程式語言(基本語法,指標,物件導向這些理解便可,但先不必死扣其語法。而如STL等做成的庫,如果你不會考慮以後做c++工作,可以不管它,工作用到它時過打算從事某與之相關的工作才學就足夠快了),然後就是利用學到的程式語言做演算法題(鍛鍊解決問題的能力),最後利用程式語言進行開發(結合解決問題的能力對學習開發對你幫助會很大。這時再結合其他的知識進行程式設計,比如通過編寫通訊程式來研究計算機網路知識,通過編寫多執行緒程式來研究作業系統的底層東西)。

最最後一步,就是靠自己工作當中的實踐咯。

每個人走的路不一樣,走的方式也不可能相同,對各自的要求也不盡相同,適合自己的便好。作者的初心是好的,但過於強迫他人走自己的路也不太好。

我覺得,「我沒時間」「我結婚」這些並不是藉口,而是他們連工作方面的問題都還沒有做到最好,再加日常也可能有一堆其他必做的事情,怎麼可能會有精力去學C++語言呢,因為這樣也許會更累。所以,這也是我在上文更願意建議在校的初學者先學習c++的原因,因為他們的時間真的是充足啊!

2樓:ks fz

應該是,不找c的工作,也要學習c..c夠簡單,也夠深入。沒有花裡胡哨的語法,卻能讓你深入了解計算機的本質。

c++就算了吧。我學c++,有本書叫深入淺出mfc,看了一半,實在看不下去。感覺做個介面怎麼這麼難?

後來看windows程式設計,感覺也沒這麼複雜,就是寫起來囉嗦。再看vb6,寫個介面如此簡單。後來.

net一路,感覺輕鬆多了。

c的申請記憶體,釋放記憶體都靠手動,機制很簡單。只要你自己注意應該沒問題。c++就不一樣了,我就得了解這個語言的機制。亂七八糟,雲裡霧裡。越是難以理解的東西,人就越容易犯錯。

不找c++工作,別學c++。它對你理解計算機執行,以及物件導向沒有任何提公升。

3樓:拉勾教育

如果不做C++的工作,還要學C++除了有興趣或者有很強的目標外,恐怕很容易放棄。

其實工作中用什麼,就學什麼最合適,理論結合實踐,效果才是最好的。

我們要掌握的是程式設計的思想,不同的語言,有不同的特點,要能夠做到根據專案選擇合適的語言和框架。

4樓:

我也覺得這篇文章沒說到點子上,而且說的東西都挺沒勁的。

我一直信奉乙個觀點:一切被工程選中的方案都是所有候選方案中最糟糕的那個。

我還記得我開始學程式設計的時候是python入門的,後來學了scheme。我以為程式語言是優美的,至少是清晰的、有道可循的。然而學C++的時候,C++用骯髒不堪的語法教育了我。

在這段時間裡,C++的語法就像惡魔一樣在我腦海裡replay。什麼std::addressof,什麼std::

propagate_on_container_move_assignment之類的。為什麼呢,為什麼會這樣呢,第一次有了自己喜歡的語言...

後來讀了D&E,又多學了些別的,多少能明白一點了。轉型醜陋的語法是為了區分開C的幾種轉型,並且讓歸屬操作明顯一點,程式設計師就可以注意到了,畢竟C中的歸屬操作太隱晦了。std::

addressof這種東西是因為包裝類會過載operator&。加不進去反射是因為C++的設計原則you don't pay for what you don't use。auto會decay的原因是如果auto預設的效果是auto&&可能會導致函式返回時懸掛引用的問題。

所以,我覺得學C++是乙個從幻想到工程的過程,C++是最工程化、最Real World的語言了。從認識到C++語法的醜陋,到接受C++語法的醜陋,到理解、甚至辯護C++語法的醜陋,多多少少是會有所成長的吧。

5樓:樓主別編故事裝逼了

從cxx11開始,我就不懂cxx了

現在cxx18,cxx20都快來了

加了一堆亂七八糟,花裡胡哨的東西,搞得人懵逼可以說對真正的實際開發用處很小,搞得整個語言臃腫難學本來cxx就是最難學的語言,被標準委員會這幫人胡搞,感覺已經沒救了我始終堅持用單繼承+stl的+C語言的方式使用cxx。

6樓:弦言碎雨

愛就學,不愛就不學。我本職工作寫嵌入式c,寫智慧型合約用solidity。但我覺得做c++ pat題比打dota好玩……沒辦法啊。。

7樓:扶餘城裡小老二

那麼由乙個幾乎受cpp影響17年的裝B飯,給你科普一下是什麼是cpp。

對於乙個男人來講,cpp應該是c = 一氧化鈣轉英文,再轉音譯中文,剩下的兩個p,是player的意思。

也就是說3個player一起參加的活動。。因為一人為本的話,肯定我是主體,c是行為的描述,p是賓客。

你說要不要學。

你活著地球上,你肯定避不開8848的珠穆朗瑪峰。

那麼你在程式設計界,你能避開cpp嗎?

很多人都預計C++語言會在誕生起的二十年後迅速走向消亡,但實際情況是、其仍然保持著旺盛的發展態勢。基本上,沒有其它哪種語言能像C++這樣以卓越的速度表現處理複雜任務。如果大家關注某些嵌入式領域、如果大家接觸過影象處理任務、如果大家使用過某些電信應用程式、如果大家涉及到某些金融類應用程式,就會發現C++仍然佔據著統治地位。

當然,如果僅僅將注意力集中在應用程式或者類似領域,各位可能感受不到C++的存在——這些也並不是C++的主要施展平台。相反,谷歌、Amazon、搜尋引擎等真正對於效能提出較高要求的領域才是C++的活動空間。(忘記誰說的了。

)上面這基本都是別人說的。

我個人覺得,排行榜前20的語言,都得學學。其實他們都是西方思想的一脈相承。

沒有什麼不同。看看他們是如何分叉的,有助於我們失業後,再找到工作。

有人說我沒有邏輯。。。我就囧了。我忘記看這篇文章了。以為這句話是樓主自己說的。

8樓:纏習社

持保留意見。C++說到底只是乙個工具,快速而高效地開發出滿足需求且易於維護擴充套件的程式才是程式設計師存在的目的。而C++作為乙個工具來說,明顯太複雜了。

當然有些時候為了效能、歷史遺留而不得不需要C++的話,學習它是自然而然的事情,但大可不必把它拔高到不得不學的地步。

要說真正全能型的語言的話,個人推薦js。開發伺服器有node.js, web端有angular js和react js, 移動端有react native和ionic, 桌面端有electron。

學好了這一門語言與周邊技術,絕大部分的開發工作都可以做了。這點對創業型的小公司尤其重要。

9樓:Juanjie Xi

也來湊個熱鬧。其實真不是不用c++也要學c++,而是不管你用什麼語言,都應該嘗試學其他語言,學習他們的思路,生態,最終使自己程式設計水平提高

10樓:

《沒有Rust的工作也要學Rust》

不是黑,我很贊同作者要表達的意思,把C++換成Rust,道理其實都一樣。

只不過Rust更加現代,少更多歷史包袱,更適合為了學習而學習。

至於其他大神說學什麼語言都一樣,那其實還是有區別的,學Rust和學C++就不一樣,你能從Rust裡那學到什麼是更精細的記憶體管理,也能領略來自於Haskell那樣現代型別系統的威力。

另外對於領域知識,確實是語言無關的。但是不要忽視一門語言給開發者的影響,以及乙個嚴重的問題:80%的人不懂得如何學習(二八定律,別問我要資料)。

比如:寫Ruby三年的人竟然還有不少人認為學Rails這門「語言」(kidding me,語言?)就夠了。

絕大多數三五年的程式設計師平時工作中都是從GitHub搬個磚。也許他們都知道基礎很重要,但是所用的語言確實太高階了,離底層很遠,搬磚也很方便,漸漸就變成了舒適區,也就變成了成長的瓶頸。而學新的語言,是乙個很好的開始。

很簡單的道理,學C++或Rust,對於一直使用GC語言的朋友,勢必會近距離的接觸到底層記憶體管理的知識。新的語言也帶來新奇感,也是一種學習動力。

11樓:銀杏林守望者

贊同這個觀點,但是不完全贊同文章。

軟體開發上,不管做什麼,做深入了都必須有c/c++的功底,哪怕是做js。

但是為了這個特別去深入的學習c++,並無必要。反而應當用c好好練習一下演算法和資料結構。至於c++,了解一下oo部分,了解一些泛型就行了。

更深入的個人覺得除非用c++作為第一開發語言,其它的並不重要。和c相比,到了今天,c++實在太龐大複雜了。比如,用標準庫實現的String,好像c++是獨乙份。

12樓:

「我是數學老師,不是語文老師,所以我不要學語文」

我是英語老師,不是日語老師,你覺得我一定要學日語嗎?

我是開汽車的,不是開飛機的,你覺得我一定要學開飛機嗎?

啥? 你說它們和 "其他語言和C++"不等價?

那你覺得"數學和語文"與"其他語言和C++"能等價??

我不知道為啥很多人喜歡強行模擬 ,我都替這掛文章的作者感到尷尬

13樓:汪志成

挺有道理,但是作者格局有點小啊。其實不僅是C++,對任何技術都一樣。找工作和學什麼別混在一起。

有追求的程式設計師很明白學什麼對自己的長期發展有用,而不是對自己找工作有用。短期看你們沒啥差別,時間一長你就會發現拍馬都趕不上人家了。話說回來,那些有潛力成長為大神的程式設計師會發愁找工作嗎?

14樓:Rich

看到最後》頭髮花白的乙個老頭,去某公司解決問題,什麼也不帶,兩手空空,坐在電腦前,以迅雷不及掩耳之勢玩轉著黑不溜秋的螢幕(linux,unix),幾下子,問題解決,報酬上萬...

還說不是為了功利去學?

15樓:Edwin

C++有很多別的語言沒有的細節,如果不做C++工作,不用學C++|語言只是工具,關鍵要提高工程能力,工程能力提高的最快的途徑就是你現在做的專案,切勿捨近求遠。

當然,如果學C++是會學到東西,但是不要忘了,學什麼語言都能學到東西。學C++才能學到的東西,對其他語言也未必有用。

建議:初入職場的程式設計師不要學和工作專案無關的技術,多花時間專心搞好自己當前的技術棧,除非你想跳槽。

工作了一段時間的,估計我也建議不上人家。

快三十,工作(IT)不算差,家境也可以,為什麼找不到女朋友?

Xiamoon 首先題主要擺正找女朋友的心態,找女朋友並非只為了回家過年,但既然你有這個目的,那說明,這個女朋友是用來結婚過一輩子的。那麼 1 寧缺毋濫,這是最基本的要求。因為你要找的是將要陪你過一輩子的人,不再是乙個小打小鬧,不開心就分手的那種。如果要過一輩子,相信我,你得找乙個三觀一樣的。就是當...

如何理解C 中的 reinterpret cast?

LoveCandy 顧名思義,就是把記憶體裡的值重新解釋。本質上記憶體裡存的都是01位串,至於這些位串是什麼意思全看怎麼解釋。舉個例子,32位系統,int是32位,指標也是32位,我既可以把乙個32位的值解釋成乙個整數,也可以解釋成乙個指標。至於究竟能不能這樣解釋,由程式設計師負責。而reinter...

如何理解C 中的move語義?

zr scat 上面有人已經解釋的很清楚了,我這裡補充說明一下 1,move語義必須和RAll結合起來才能安全使用,因為move涉及到堆記憶體的管理權的轉移,如果不RAll,多轉移幾次,你完全都不知道指標現在歸誰管理了。2,move語義轉移的move建構函式中指定的堆空間使用權,而不是物件,也就是說...