為什麼知乎使用者 vczh 不建議初學程式設計的人把 C 作為入門語言?

時間 2021-05-10 19:15:10

1樓:

那當然是直接去問vczh為什麼啦!這種問題本身就很奇怪,不是從需求出發。就好像問英語適不適合作為初學外語的入門語言一樣無厘頭。

我要是準備搞嵌入式,不從c入門難道還先學python不成?

這世界上有很多人不知道自己想要什麼?只會一味糾結這個好不好,那個行不行?對你沒用的東西,何談好不好?

2樓:tulip kung

他是怎麼想的,我還真沒法臆測,但我贊成他的論點。這可能是哲學問題,感興趣可去搜搜 mit 與紐澤西仔。計科專業,我建議以具有更高表現力的語言作為入門,最好能比較方便地使用更多不同的程式設計正規化進行編碼。

新手學 c,乙個學期也做不出像樣的東西,極大打擊興趣。個人推薦 racket,要啥有啥。等進一步到作業系統級時,再來考慮 c 吧,沒準到時還能用racket寫c呢。

3樓:東方碩

乙個工具好不好,取決於你想用它幹什麼。

學什麼程式語言,取決於你想往什麼方向發展。

C不符合部分人類的直覺,學起來可能會事倍工半,但學C語言的好處是,貼近底層,更容易理解計算機體系。

如果你想做嵌入式、想做後端、想從事一些至少會用到底層的開發,如果你想要對CS有根本上的理解,那C語言這部分你繞不過去,遲早得學。

如果你想要做個網頁、搞搞設計、轉產品經理或者是管理,又或者技術上偏向統計、機器學習等方向,那你也可以不用學C。

重點不在於哪一種工具好不好,而在於你想要往什麼方向發展。

這就好比,學工科你能不學三門基礎數學麼?但是如果學文科還學這個,那圖什麼?

4樓:lu luce

世上本沒有路,走的人多了也便成了路。

但是偏偏有人在走完了前人開創的路以後,非要把路刨了,讓後人無路可走。或者不建議後人走自己成功的路。但是,他的這種又壞又蠢的想法是不會實現的。畢竟人人都見到他從這條路走過。

vczh自己就是靠大學的時候,學習C語言,自己搞編譯器。之後成功登陸美國的。現在他不推薦別人走這條路。真是令人噴飯。

正相反,我倒是建議初學程式設計的人把 C 作為入門語言?畢竟你連個指標都搞不明白。後面更加複雜的計算機概念,就更加吃力了。

作為大部分軟體的程式語言,C語言的每乙個語法特徵都是需要在初學階段扎扎實實搞清楚的。

5樓:愛吃土豆的橙子

因為時代不同了啊,過去似乎是其他語言還不是很成熟,而現在不是這個樣子了。各語言都是相當成熟的,畢竟前輩就在面前。我們為什麼不去學習一下呢?

C是一門很好的語言,但是別忘了,它很基本(基本這個詞一出現就知道難了),越是基本的東西,它就很難搞,更別說對與初學者,一上來就接受這種考驗實在是難受。

而現在為何大部分高校還是堅持C語言呢?看看教授課程的老師吧,年齡都上來了,新鮮的血液遲遲不來。說的狠一點就是不想學習,老師們的資料實在是老,還不好好做更新。

像我們學校雖然是個一本但是我們院的老師對於新的知識似乎不再那麼熱情,整門課程都陷入了理論書面階段,也就是ppt,ppt

我們缺少的是對語言的介紹101課程,我們有計算機組成原理但是就是沒有對語言進行介紹的課程,這門課程的任務就是介紹程式語言中共通或者有特色的部分,比如變數,迴圈等,這門課程的使命就是緊跟時代,不斷更新, 盡量介紹一下語言的特性以及應用方面。

6樓:lorking

我覺得,想在計算機上有深入的發展,還是應該學c的。別的語言太高階了,已經把計算機得底層體系,完全抽離了。個人認為,成體系的知識,更容易融會變通,記憶更深刻。

而且,c語言本身並不難,各門語言的經典書籍,我還沒見過比c更薄的呢,所以挺適合初學的人。c語言難的是由於本身簡單,而實際工作的內容通常是複雜的,為了彌補本身語言的不足,各種靈活的使用和技巧,及邏輯的複雜性,而初學的話,並不涉及這些問題。

7樓:氨酚咖匹林片

實用主義和精英的碰撞

個人認為你乙個學寫程式的連c碰都沒碰過,用多了Python遇到瓶頸之後再翻回來學c是不正確的,學c不是讓你用c,而是真正了解計算機是怎麼幹活的,你應該怎麼學習計算機語言

8樓:Smith John

相當贊同

說個實話,現在c艹20都在吸收其他語言的精髓,為了什麼?就是為了降低入門門檻。在當今環境下,程式設計不應該只侷限在小圈子裡面發展,而是大眾化和普及化。

普通人在工作中遇到一些可以自動化解決的東西,寫個小程式可以極大地提高工作效率。就好比電子辦公軟體一樣,現在去上班,職位基礎要求應該會Word Excel PPT吧。作為入門,拿c語言出來,上來就和人講編譯鏈結,記憶體位址,把人都嚇跑了。

看看現在國外的很多大學的第一門程式設計課都換Python了。

個人覺得,學習c語言最好的時間點應該是學習組成原理的時候。

9樓:

C語言並不是初學程式設計的理想的入門語言,但是這並不意味著C語言不能作為初學程式設計的入門語言。或者換一句話來說,就是選擇什麼程式語言(我說的是主流的高階語言,common lisp或者x86彙編甚至那些奇葩的語言不算)對於程式設計入門來說其實並不是最最重要的事情。

入門程式設計最主要的是個人的學習興趣、態度和意願;是否有正確的學習方法和得到系統而專業的指導;以及適當的練習;在實踐中的領悟。至於用什麼樣的語言,什麼樣的電腦,什麼樣的開發環境,在什麼地點學習程式設計,這些其實都不是很主要的。

10樓:那個老高了

新手光學個C,最大的問題是,啥也幹不了。

隨便學個別的,都能做點能用的東西出來,c基本是不行。

要寫linux程式吧,你還得學linux系統,gcc,makefile,甚至vim等一堆分散你注意力的東西。

寫windows吧,得學vc、windows api、.net啥的一堆。

web程式就更是不靠譜,難道還能寫cgi麼,最簡單的就是寫個php的擴充套件,但你還得學伺服器配置,再學個php,然後把c擴充套件怎麼寫搞清楚。

移動端就更扯了,也就能寫些庫,但你想讓這些庫跑起來,你需要先學會移動端開發。

想想乾脆弄微控制器好了,先啃基本計算機組成原理、開發套件之類東西。

最後發現,學了一堆語法、演算法、編譯原理,結果只能在命令列輸出個迴圈看看熱鬧。。。。

這就是傳說中的從入門到放棄,適應不了現在的快節奏啊。

現在都恨不得這個月學了下個月就賺錢了。

11樓:hitsmaxft

真要硬核學習, 為什麼不搭塊開發版, c 和彙編混編, 各種暫存器記憶體位址,IO埠操作起來, 深入了解計算機體系結構?

初學程式設計還是了解作業系統就夠了.

c 這種直接對底層打交道的, 是不推薦作為入門語言的.

12樓:

簡單粗暴的劃分,程式語言可以分成兩類:適合學習和教育的語言和適合解決工程問題的程式語言。顯然,C語言是後者。

BASIC語言當年是很多人包括我第乙個學習的程式語言。類似的還有Pascal。現在個人比較推薦Python作為入門語言。

13樓:普通社畜張文遠

個人看法因人而異,

並沒有某乙個人說什麼作為入門程式語言就合適

事實上,任何一門程式語言都是值得學習,或者說值得深入演技的。

一下只是對於C語言的一些看法:

C語言裡面的很多東西是比較底層的,但是不至於太過抽象。

不至於像是組合語言讓你完全看不出一點門路,也不至於像少兒程式設計拿一些簡化的東西草草了事。

其中一些離奇操作,可以讓你對計算機的思考方式有一種更好的認識,這就是面相過程的語言的魅力所在。

但是C語言作為一門程式語言,在更新和優化方面,確實有很多不足。

比如goto,指標,這些東西在工程應用中說很危險的,但是有些場景卻是能極大提速的奇淫巧技。

事實上,初學者需要做的不是評判一門程式語言的好壞。

而是腳踏實地的,一步一步的把這個入門的程式語言學好,學精,學到這門程式語言中所表達出的邏輯,優勢等。

這才是學習程式語言的正確姿勢

14樓:菲洛特斯拉

這不是顯然嗎。。。

輪子哥的套路是指望你從做專案開始回頭倒逼學習。

c的學習中遇到的問題在目前的環境中對新手直接上專案百害而無一利。

要我我也不建議。

15樓:

可以不是c入門,但要長久做程式設計專業工作,c還是要學,其實是和c相關的計算機原理,離原理最近最簡單的語言,非c莫屬,如果你根本不接觸原理也不做涉及原理的工作,c可以不學。

16樓:starwlstar

如果你是非計算機專業的,用程式設計做工作輔助的,可以不學c,也不用深入研究計算機作業系統。

如果你是計算機專業的,請你學c,請你深入理解計算機系統,深入理解函式棧虛擬記憶體核心態程序執行緒切換……

17樓:陳斌

c是一門語法簡單,又接近本質的語言,可以作為入門語言,用的爽的話繼續用,不爽的話把C就改造成你喜歡的little C,better C等的新C.偷懶的話就用現成的c#,rust/haskell等等

18樓:

可以根據未來發展考慮是否用c語言入門,但是這並不是乙個關鍵問題,你的水平和你拿什麼語言入門關係真的不大。

很多簽了大廠的同學很多也是c入門的,所以可以多了解一下各個語言應用場景,考慮一下入門語言,但不必過多糾結。

19樓:徐欣

不建議初始學C入門的多了去了,但凡有點認知的都知道C/C++不適合入門

新來的小朋友日常就是先把指標置空,再delete

指標作為C/C++最牛B的東西,新手根本沒法理解,還不如先去python上搞點簡單好玩的提公升下自信。

20樓:

題主你還是見識少啊。。

畫那張圖的人本身就是個半吊子,所以只能參考一下,不能全信啊。。

現在以我看來,入門語言要選那種有好的入門教材與「配套設施」,方便教學的語言,其他因素都是次要的。

所以現在我一般教女的 Python,男的讓他自己看書學 Racket

21樓:李遙

其實我覺得C和彙編是最好的入門語言

要說圖靈完備,很多遊戲裡都有內建的機制能做到,但是你不能說玩那些遊戲就算會程式設計了。你只有或多或少像作業系統一樣很底層地和硬體打點交道(最少要操作unmanaged memory)並完成有一定複雜度的任務才能算開始學程式設計了。程式設計的第一步是用低階方式操作電腦,不是寫演算法

22樓:

我覺的C很適合作為入門語言。

可以讓初學者望而卻步,尤其是譚書,乙個i++,++i就考你千萬遍。

程式設計師越少,程式設計師整體工資就越高,所以C語言成功的擊敗了多數潛在同行。

23樓:guoking

個人親身經歷,現身說法。我2023年還是個對計算機和程式設計一竅不通的菜鳥。看了《電腦科學導論》和《電腦科學概論》兩本書,對計算機的原理有了了解。

就開始學C。大概一周左右,就能用C語言實現基本的資料結構了。

所以,程式設計入門有兩條道。第一條,計算機原理,有所了解,學C。第二條,直接學其他貼近人思維模式的語言,面向實戰。

這兩條路不相上下。雖然第二條不需要學計算機底層的東西,但是有很多要猜的東西,不是很透徹。第一條,開始學計算機基礎要下點功夫,但是弄懂以後,學C就感覺心裡很有底,能夠構建乙個統一的自洽的解釋體系。

還有,我個人覺得,學哪種語言快,貌似和個人的思維模式或者思維習慣有關。如果乙個人的思維習慣更接近那門語言創始人的話,就會學的快。

導論:《電腦科學導論(原書第3版)》([美]Behrouz Forouzan)【摘要書評試讀】- 京東圖書

概論:《電腦科學概論(原書第3版)》([美]戴爾,[美]劉易斯)【摘要書評試讀】- 京東圖書

就是這兩本書對照著看,獲益匪淺。我貼鏈結是為了說明方便,當然你也可以在別處購買。不一定非要在京東。

知乎使用者vczh如果寫書賣,寫什麼比較好?

笨方法學知乎把妹 100天自製知乎把妹法 知乎把妹法完全自學手冊 關於知乎把妹法的一點見解 輪子Talk之人生元把妹 輪子哥的把妹私房菜 知乎把妹法從入門到精通 知乎把妹詳解 昌維 知乎把妹權威指南 知乎把妹prime 知乎把妹prime plus 知乎把妹從入門到精通 知乎高階把妹教程 細說知乎把...

為什麼知乎大V輪子哥vczh 沒有 個人認證 和 優秀回答者 標識?

原因很簡單,因為他就不是 優秀回答者 不僅不是,他和與他類似的知乎帶V們在這個平台上 創作 低質回答 內容,是知乎逐漸 貼吧化 的主要原因之一。 陳萌萌 想了想輪子哥的程式設計能力,再想了想我的程式設計能力。唔 這是什麼樣的精神?這是特麼的他不是在玩Hitman就是在刷知乎的精神呀! 騎著毛驢去上班...

為什麼知乎上 winter 趙劼 vczh三人常常被相提並論?

輪子到處刷,很多回覆的東西還毫無意義,當然問問題的問的也不好隨便幾句廢話搞幾十個贊幾百個贊,弄的你的時間線上全是這玩意取關?沒用,照樣頂上來 拉黑?對不起,知乎沒有遮蔽功能,該看你還是看你來知乎是想看點什麼有趣有用的東西 不是看灌水的 你這叫無可奈何接受這群人裝x的存在感 你說鬧心不鬧心 這三位,在...