是一個類似于,學(xué)武功是先練《少林基本功》還是直接練《辟邪劍法》的問題。
首先,會提出這個問題的人大部分是還未接觸到編程的,可能出于對這行的“錢景” 或是 對行業(yè)的“酷炫性”產(chǎn)生的興趣,想要通過自學(xué)來入行。
這里就出現(xiàn)了分支,如果你只是有興趣,想要做出一些東西來驗證你的想法的話,可能《 Python 》《PHP》這樣的編程語言比較適合你。目的性不是很強的學(xué)習(xí),很容易因為畏難,無法解決問題就選擇放棄,所以建議還是選擇簡單一些,并且能馬上看到結(jié)果的語言來學(xué)習(xí)比較好。
這類編程語言就類似于編程界的《辟邪劍法》,你可以不懂底層,沒有基本功也能很快讓你上手,做出你印象中程序的樣子,這樣可以更好地提升你的興趣并且解決你的問題。
如果你是出于對這行的“錢景”,想要未來在這行扎根,并且有不錯的發(fā)展的話,應(yīng)該不至于因為難而放棄吧?所以以C語言入門還是不錯的。
之所以說C語言不那么適合入門,無非是因為:
C語言接近底層, 會讓你厭倦無意義的基本概念,而且做不出酷炫的東西,并且對于大多數(shù)人來說,C語言在以后工作中基本用不上。
C語言是面向過程的(這里不用爭論C語言也能實現(xiàn)面向?qū)ο?,先收?0米大刀,我是友軍),所以抽象程度相對較低,更像是需要一拳一腿練習(xí)的《少林基本功》,所以搞清楚,學(xué)C語言的目的,是為了扎實的基本功,為了更方便以后的學(xué)習(xí)。
當然,這里并不是指C語言簡單,而是說C語言更像是武功的基礎(chǔ)。《 Python 》這樣的語言也許一上來就能直接舞一套《辟邪劍法》,但是如果對于體內(nèi)真氣走向不清晰的話,一旦出問題就容易走火入魔,更甚至是只有厲害的劍招,沒有雄厚的內(nèi)力支撐,這樣的后果就是,一旦江湖再出現(xiàn)什么厲害的武功,你就只能感嘆一句“***”,然后加入爭奪秘籍的隊伍中,否則只能淪為后輩的墊腳石。
而C語言就是要你清楚體內(nèi)每一根經(jīng)脈的走向,真氣匯聚的走向,這確實很不爽。尤其是同樣初學(xué)的人已經(jīng)能夠用《 Python 》指點江山,動不動就在你身邊放個劍氣啥的。
但是相信我,只要熬過這個坎,別特么說是《辟邪劍法》了,你就是心情大好想要打一套降龍十八掌,發(fā)一套六脈神劍,也只會感嘆一句,他娘的,天下武功果然是殊途同歸啊,這就是高手和宗師的區(qū)別,也是個人價值的體現(xiàn)。

《 Python 》這種語言,有個兩三年其他語言經(jīng)驗之后,想學(xué)的話,一兩周就能快速上手,而C語言這樣的語言,你搞五年《 Python 》,難度對你來說都低不了多少,還是一個學(xué)習(xí)的過程。
天下武功出少林(此少林取自金庸大師的少林,和這個少林沒毛關(guān)系),對于編程語言更是如此,C語言作為始祖級的語言,肯定有缺點,但是這種講究一拳一腳的練武方式,是普通人成長為宗師最佳的方式之一。
你看江湖,一會來個辟邪劍法,一會來一個九陰白骨爪,偶爾降龍十八掌還來跑個龍?zhí)?,但是我少林(同上)武功依然屹立不倒,這也就是為什么我說要先學(xué)C語言,然后才考慮C++或Java還是Python還是PHP的原因,哈哈。
最后有一句話,我們共勉。
學(xué)習(xí)有提高效率的方法, 但是絕對沒有捷徑可言。