已經使用了C語言十幾年了,今天還在寫C語言代碼,C語言算是很多編程語言祖師爺了,已經取得了巨大的成功但還是很多人對于C語言存在很大的偏見,覺得C語言里面很多語法別扭,特別是指針的使用讓很多人吃盡了苦頭,工作十幾年前前后后玩過幾種編程語言,c++,java等比較來看還是C語言簡單些,C語言的難點整體來看也就那幾個
1.指針用法
2.函數
3.遞歸
4.內存管理
指針和回調函數以及內存管理都有緊密的關系,所以一旦指針概念突破不了很難全面理解透徹,因為指針靈活方便,但造成了多少不方便之處,有多少人在卡在指針上,記得剛學C語言那陣子,指針概念學的差不多了,覺得自己無往不利了,就開始從圖書館了借了一本linux內核解讀,差不多有1000多頁,心想既然linux內核都是C語言寫的,基礎知識點都掌握的差不多了可以看一些大項目了,由于書開始做了大量的注釋基本的概念還是能看懂,結果看到90多頁就有點頂不住了,堅持了幾天徹底放棄了,才知道這里面道行很深,不是看懂了概念就能什么就能搞明白,于是老老實實回來繼續研究基礎了,學習任何一種編程語言都需要有一個循序漸進的過程,遇到困難堅持不下去在心里永遠覺得很難,后來做了幾個嵌入式項目之后,再去看這本書感覺已經大不一樣了,但還是有看不懂的。
后來接觸C++項目,又會發現C語言的和C++根本沒法比,會覺得C語言簡直簡單太多,詭異離奇、缺陷重重這個詞更加適合放在C++上面,C語言比C++溫柔多了,而且C++語法細節還在不停的更新,給人一種永遠學不完的感覺,很多初學者開始學習發現能編譯過去就是一種幸福了,有多少人卡在泛型編程上不能自拔,不太建議剛學編程的小伙伴直接直接切入學習C++,容易打擊到學習編程的自信心,當然初學循序漸進的學習也是可以的,可以先從面向對象編程語言的基本概念開始,然后慢慢切入到泛型編程里面,C++雖然難卻是很多架構師的最愛,而且做的時間越長感覺越長。
java是一門入門簡單但要成為高手很難的編程語言,可能入門幾個月就能搞定,越做發現里面的套路越多,高級語言的主要點在框架思想上,因為很多語法細節都集成了工具或者庫里面,如何把這些工具或者庫集成在一起,然后中間添加功能不影響主體功能,性能還不會下降太多,真是需要一個長期積累的過程。
任何一種語言都有其難理解的地方,想學好編程就要懂得克服其中困難,從最基礎的語法開始一點一滴去積累,慢慢從項目中磨礪折騰,時間長了自然就能有了框架思想。
希望能幫到你。