譚浩強的C語言書害了多少學編程的同學?給編程小白的一些建議

2021-02-08 c語言程序設計

學編程,多少人一上來就拿著譚浩強C語言這本書開始啃,然而啃著啃著發現不僅難學,而且學了還不知道能幹嘛?

image

於是很多人就在這本書上重複:學習-放棄-重新撿起-放棄-重新撿起-放棄,最終得出結論:編程太難學了,開始懷疑自己的天賦和智商;每次別人給我說這句話的時候,我都是一臉問號臉???


學編程真的難嗎?那為什麼有的人一個月就能上手做項目呢?是天賦的差距嗎?是智商的差距嗎?不,都不是!學不會那是因為你根本就是在瞎學。你知道編程是分語言的嗎?你知道C語言是最難學也是最難有成就感的語言嗎?你知道每門語言都有自己獨特擅長的領域嗎?你知道做一個網頁需要具備哪些知識嗎?知道該按怎麼樣的路線去學習,上手更快嗎?自學編程,最忌諱的就是盲目,靠著自己外行的那點見識,一上來就學C語言;小編就吃過這個虧,自學了一年C語言,最後啥都不能幹。後來有人帶我學習C#,很快,一個月我就能上手開發桌面程序了(當然這裡有C語言給我打下的一些基礎的功勞,但是譚老師那本書學起來真的看不到頭,沒有成就感,很容易受挫而放棄);


從自學轉行到現在已經過去幾年了,這期間,一個人摸索,小編走過很多彎路,吃過很多虧,白學了很多知識,浪費了很多時間;小編將自己自學編程的一些經驗和這些年對編程的理解都寫在自己的專欄裡,在這裡你能知道自己該按怎麼樣一個路線去學習,該學哪些不該學哪些,了解編程語法的原理,掌握語法的核心。 本文後半段,就給大家介紹一下,作為一個小白應該按照什麼步驟學習才能快速入門?為什麼說譚浩強的C語言那本書真的害了不少自學編程的同學?說這句話的時候我沒有任何對譚老師的不敬,書是十分經典的好書,即使碼代碼這麼多年,每次翻看仍然會有不一樣的收穫;但是,它真的不適合作為一個新手編程入門的書籍(需從事C/C++工作的例外),作為編程知識體系的書籍倒是極好的;有的朋友可能就是單純對做網頁頁面感興趣,他拿個C語言死啃,指針繞的頭都大了,你說他這是幹啥?學的是很辛苦,可到頭來離自己目標依舊遙遠,倍感受挫。方向不對,一切都是徒勞; 很多初學編程的同學就是倒在這本書上的,經歷學習->放棄->重新撿起->放棄->重新撿起->放棄這樣痛苦的過程;依據鄙人自學入門以及這麼些年編程的經驗,總結自學快速入門5步曲:1、首先,學習編程前,你得去了解當前IT界都有哪些應用領域,以及各領域的流行程度。說白了,也就是搞明白學了編程你想幹嘛?是開發一個網站?還是做一個爬蟲爬一些福利妹子圖片?亦或是做一個小程序?讓學習變得有目的;如果說,你是想做一個網頁,你一上來就就拿著C語言啃,啃完你會發現頁面仍然寫不出來,而人家卻只學習一周就能寫出漂亮的頁面;每個細分的領域都有最適合最受歡迎的程式語言:


2、有了目標後,你需要去了解要進入該領域,需要具備哪些知識(也叫技術棧),規劃好一條清晰的學習路線;在我的專欄裡,我以流程圖的方式,按四個階段為大家指定了清晰詳細的學習計劃,見下圖:

3、在對自己感興趣的領域有了整體的認識後,就是開始進入學習階段;首先選擇一門技術棧中最合適的語言,學會其基礎語法;如Python你就學Python的書籍,Java就學Java的書籍,不要直接去啃C語言這個硬骨頭;程式語言對於初接觸者是一個全新的東西,前期肯定會不適應,學的比較吃力,可能會有些語法點學的模稜兩可。那是因為,很多的書籍都是強行灌輸語法,很少講原理,此時你需要的是一個人能給你把陌生的、複雜的語法用最簡單易懂的語言從原理上分析給你聽(市面上很少有這類書籍),這樣你就能很快的掌握;


4、學習基礎語法需要多練習,特別是程序結構設計(選擇、分支、循環、迭代)需要熟練掌握。然後就是開始學習項目框架,比如Java做網站的spring框架、Python爬蟲的Scrapy、PySpider等;框架都是支持自己的程式語言,通過框架我們可以很輕鬆的構建自己的項目;以Java的spring框架為例:


5、基於框架,通過實戰項目來練手,這樣在項目過程中持續學習,技能提升和知識擴充是最高效的;




相關焦點

  • 程式設計師學習C語言編程的4種方法,C語言之父的大作不容錯過!
    如果新手要學習編程,一些前輩都會建議從Python、PHP、Java開始學。不過,有些程式設計師是直接從C語言強勢入門編程的。那麼,如何學習C語言呢?下面w3cschool提供4種入門C語言的方法:0、刷題絕大多數的程式設計師學編程的時候,還是會開啟簡單粗暴的刷題模式。刷面試對於面試以及技術的提高大有裨益,刷題網站強推Leetcode、Codility、Lintcode等。
  • 自學編程學什麼語言比較好,編程學習建議
    自學編程學什麼語言比較好,編程學習建議 自學編程受到入門基礎知識的限制,不建議學習一些底層語言,比如C,C++,這兩門語言涉及到的指針,內存的知識非常抽象,很容易反措,並且這兩門語言與底層硬體密切相關,如果沒有系統的學過計算機體系結構的知識,不容易深入。
  • 譚浩強老爺子的《C程序設計》是坑?
    說的嚴重點,這本書配合一個半吊子老師幾乎毀了物理系所有人對編程的信心。造成的心理陰影直到畢業才逐漸消除。當初學c語言,大家感覺奇難無比,毫無頭緒,要花大量時間研究特sb的知識點,比如i++++i。那個老師是教物理實驗的,對c語言沒什麼理解,照本宣科而已。每節c語言課我要先預習兩個小時,然後再複習兩個小時,勉強能把書上奇奇怪怪的「知識點」搞清楚。當時剛上大一,不知道怎麼自學,也不知道有什麼好教材。
  • 程式設計師入門選擇哪一門程式語言?一定要從C語言開始嗎?
    學編程先從哪裡開始入手呢,選擇什麼程式語言會好點呢?一直以來,有那麼一部分新手程式設計師會經歷這方面的困惑,選擇一門程式語言確實是一個非常大的課題。程式設計師選擇哪一門程式語言入門?下面w3cschool給程式設計師小夥伴們分析一下這個問題:0、一定要從C語言開始?有些程式設計師會給新手程式設計師建議說,從C語言開始,通過這門語言可以一法通萬法通。他們的方法是:給你一本譚浩強的編寫教科書,好好去啃吧!
  • C語言入門書籍推薦和下載,小白自學經典
    作為一個 80 後老程式設計師,我想用我的經驗給大家推薦幾本經典書籍,讓小白少走彎路。1) 《C語言小白變怪獸》既適合對計算機一竅不通的小白,也適合有編程基礎的讀者,還可以用來進階。這本書語言幽默,生動形象,通俗易懂,給人耳目一新的感覺,但是這本書非常淺顯,並不深入,所以適合純小白入門,找到門以後也就扔了。這本書著重於語言藝術,針對純小白下足了功夫,小學生坐在馬桶上都能學會編程。說實話,我非常欣賞作者的創意和用心,國內像這樣寫書的少之又少,入門的書就應該是這個樣子。
  • 【編程妞】夜曲編程幫你擺脫C語言的煩惱~
    不會吧,不會吧不會還有人沒有掌握C語言吧?C語言,學過的人都說好還在等什麼快點行動起來吧!無論編程的大範疇,還是大學的課程或者CET-2考試,都少不了大「C」的身影!所以,免費的C語言課程,您要?還是要呢?編程入門第一課小白也能學懂、學會的編程課!學習C語言的大一的小貝殼們:快考試了還沒預習?翻遍好友也沒人借你筆記?速來夜曲助你向開學補考say no!
  • 七月程式語言榜:C語言,YYDS!
    當然,現在大多數人可能都不會再學習彙編了,這玩意吃力不討好,但是我還是建議有時間的話可以學一下彙編。倒不是說彙編多底層多多牛逼,主要是彙編其實是離計算機最近的一種語言,學彙編有助於讓我們理解計算機執行的方式,比如各種指令其實就是對應計算機在存儲、計算的特徵。
  • 即刻就業:編程學什麼語言好,程式語言有多少種,程式語言怎麼學
    隨著時代的發展計算機進入了每一個家庭,是每個家挺必不可少的工具,這樣各種科技公司也推出了各種程式語言,例如微軟的 C語言 C++ asp.net 甲骨文的 java Android; 蘋果的 OC語言 PHP JS H5 大數據 雲計算等多種語言,供我們學習參考。
  • 日常疑惑:編程學Java還是學C語言?
    這兩門程式語言都是IT行業的寵兒,Java與和C語言各自的技術特點、應用方向上有所不同,沒有伯仲之分,所以這也讓初學者們覺得很難選:應該選擇哪個做為入門語言呢?從學習的難易度上來說,java語言比C語言要簡單。
  • 乾貨:怎樣學會一個全新的程式語言?想學編程的小白必收藏!
    乾貨:怎樣學會一個全新的程式語言?想學編程的小白必收藏!如果一個人在某一些言語的舒服區待的時間長了以後,就很容易會出現自己啥都能解決的一種錯誤判斷,而這也恰巧是我想不間斷的去了解一種新語言的強大鼓勵。大多數人都會先在網絡上找一些有關的文檔然後自己慢慢學。但在閱讀文檔的時候,往往會發現一些這樣那樣的問題。語言使用冊子的影響老經驗豐富的老人總是喜歡讓新來的人去看言語手冊。
  • c語言編程軟體哪個好?c語言編程軟體下載地址
    c語言編程軟體哪個好?c語言編程軟體下載地址 2019年1月14日 HuangJiang來源:網際網路 繁體
  • 做C語言開發能拿多少錢?
    一入程序深似海,小白一問大神我該如何學習C語言,一句話,小朋友你基礎會了麼?不會基礎啥也別談,麻溜的去學基礎去。
  • 開課吧:最值得學的程式語言是什麼?程式語言通用學習方法分享!
    如果您對編程有興趣,想要以後致力於編程這個方向,那是肯定要下一番苦功夫的。說實話沒有一門程式語言是好學的,要是那麼簡單就可以學會了,那是個人就是程式設計師了。最值得學的程式語言是什麼呢?在不同時間段,程式語言受歡迎程度也不一樣,很多人盲目追風,隨著時間的推移和技術需求,老是會出一些新的程式語言,但是能不能大範圍流行起來就很難說了,小圈子裡的語言不建議學。剛入門的建議學一個大眾化的程式語言,如果你搞網站,可以學PHP,如果想編程序可以學Java,看你想從事哪個方向的工作。
  • C語言編程工具的選擇
    我們計算機專業沒有C語言這門課。其他工科專業會學C語言這門課。據我所知,其他的工科專業需要過C語言2級考試。計算機專業不用考2級、3級...這些考試。我們計算機專業學的第一門程式語言是C++。那我們當時老師上課是用什麼編程工具的?是VC++ 6.0。VC++6.0界面簡潔(簡陋),沒有多餘花哨的功能,淡白色的界面。
  • 開課吧:自學程式語言學哪種比較好?編程學習建議!
    自學編程受到入門基礎知識的限制,不建議學習一些底層語言,比如C,C++,這兩門語言涉及到的指針,內存的知識非常抽象,很容易反措,並且這兩門語言與底層硬體密切相關,如果沒有系統的學過計算機體系結構的知識,不容易深入。
  • C語言簡單編程速成
    例如,C 語言的特性之一是數組,但是它不提供字典(除非你自己寫一個)。當你學習 C 語言時,你會學習編程的基礎組成部分,它可以幫助你認識到如今的程式語言的改進及其的精心設計。因為 C 語言是一種最小化的程式語言,你的應用程式很可能會獲得性能上的提升,這在其它許多程式語言中是看不到的。
  • C語言編程工具選擇
    一、編程工具計算機處理的數據、接受的指令是二進位數據,用C語言編寫的程序需要轉變成計算機能識別的二進位,才能讓計算機工作,這個轉換過程就是使用編譯器對源程序進行編譯,雖然可以使用命令行的方式編譯源程序,但使用編程工具不僅可以編譯源程序,還可以編寫、調試等,可以簡化編程工作。
  • 學習程式語言,自學還是培訓?
    學習程式語言,不管你是培訓還是自學這都不是關鍵,最關鍵在「編程」這兩個字,說白了就是實踐,親自動手在計算機上把代碼寫出來,調試通過。我是非計算機科班畢業,從事軟體編程工作已經八年有餘,一路過來都是自學,而且不論是大一自學C語言通過計算機二級考試,還是為了賺廣告費自學Android Java開發,以及工作需求學了C#,到後來長期做的C++,都始終遵循一個學習原則「學寫結合」,且寫的時間要遠大於學。
  • 編程入門學什麼語言好?
    首先應該明確學習程式語言的目的-工作或興趣,這兩者差別比較大!如果是考慮就業問題,那麼根據2019年末的一個流行度調查,關於程式語言的排名,目前前三的分別是:Java(難)C(很難)Python(較難)
  • 為什麼要學習「 C」程式語言?
    「 C」編程是另一種程式語言的基本基礎,像java、php,C++等熱門程式語言都是「 C」編程最為底層開發,所以我們通常稱「 C」編程編程「母語」。「 C」編程是一種簡單的語言,可以更快地執行。「 C」編程還是一種極其緊湊的語言,這意味著以「 C」編程方式尋址的程序可以在不同的機器上運行。C程式語言的優勢作為中級語言,C連接了低級和高級語言的功能。C語言可用於底層編程。例如用於內核和驅動程序的腳本,它還有助於使用高級程式語言,例如用於軟體應用程式的腳本等。