| 日期 | 修改人 | 修改內(nèi)容 |
|---|---|---|
| 2023年2月12日 | 北極的大企鵝 | 添加了C語言的新比喻 |
前景提要
- 很多初學者面臨的最多的問題就是編程語言的選擇問題,一旦你接觸編程,無論任何人都會給你提到一個問題,說你要選擇一門編程語言學習,才能在后續(xù)的計算機學習中取得成績,但是,每個推薦的人,又不會直接告訴你選哪門語言,就算說了,也會告訴你每門語言都有什么好處,都適合做什么,編程語言的火熱程度,編程語言的優(yōu)缺點,編程語言的.....(一場大型的銷售現(xiàn)場),而其實初學者對于編程語言的選擇并不想要知道這些,他們一般會考慮的問題是哪個更簡單,哪個好學,哪個能讓我盜取別人的QQ號 .....
編程語言選擇面臨的問題
零基礎(chǔ)的理解可能不一樣?
- 在很多時候,你理解的零基礎(chǔ)和你老師的理解可能不一樣,你認為的零基礎(chǔ)是你對這個事物的認知還處于混亂,理解不深刻,無法憑借已有的知識推導出未知的答案,這樣描述比較抽象,那么舉個例子,你覺得自己不會編程就是計算機零基礎(chǔ)了,你的老師認為你今天聽了一節(jié)計算機的課,無論是什么,無論你學了多少,你會了多少,你能反饋出多少,你都不是零基礎(chǔ),你不會寫代碼,但是,你學了一節(jié)專業(yè)課,你就已經(jīng)不是外行的人了,你不是零基礎(chǔ),你是基礎(chǔ)差,大學老師往往認為大家聽了一次哪怕一分鐘,也是計算機專業(yè)的人了,不能說自己零基礎(chǔ),但事實往往相反,很多人學了四年,也就掌握了一些計算題目的方法和一些專有名詞,其實對計算機的理解,計算機的應(yīng)用,很多時候不一定比一些其他專業(yè)的人知道的更多,比如裝系統(tǒng)這件事情就有很多計算機專業(yè)的人依然不會,系統(tǒng)出了問題,學計算機的還要去花錢請售后師傅為他做個系統(tǒng),這種情況也是常見狀態(tài)。
真的零基礎(chǔ)很多時候,是真的從小沒接觸,大學剛剛知道有這么個事兒,然后,大學也沒有努力的自己加深理解,加深學習,只是靠老師在課堂上講講術(shù)語,講講計算,講講考試的,其實,寫不出代碼,確實可以給自己貼上真零基礎(chǔ),這是對于編程寫代碼的零基礎(chǔ)而不是對于計算機操作的零基礎(chǔ),畢竟你們打游戲,看電影還是很熟練的!
真正初學者編程語言選擇面臨的問題
| 序號 | 問題 | 描述 |
|---|---|---|
| 1 | 難易程度怎么樣? | 這里的難易程度,不是對已經(jīng)有一門編程語言入門的人來講的難易程度,很多介紹的機構(gòu),個人,教授都是以自己已經(jīng)會了編程的評價標準來衡量的,已經(jīng)會了編程有了基礎(chǔ)的人看待問題的思維邏輯已經(jīng)系統(tǒng)化了,跟真的零基礎(chǔ)的人理解事物的概念是不同的,雖然我是一個會編程的人,但是,作者進行了深入思考和回顧自身初學時遇到的痛點問題,進行了反向思維推導,來看待這個問題,作者的標準就是初學者是否具備計算機基礎(chǔ)知識,這個基礎(chǔ)知識就比較多了,并不是你會打個游戲,你會看個電影,用個百度就是你有基礎(chǔ)知識了,基礎(chǔ)知識本身就很多,作者認為計算機專業(yè)最難的也是基礎(chǔ)知識,抽象的基礎(chǔ)知識很多數(shù)據(jù)結(jié)構(gòu),操作系統(tǒng),在計算機領(lǐng)域都叫做基礎(chǔ)知識,但是,它們也是最難的,就算從事多年的計算機開發(fā),依然需要反復研讀和理解的基礎(chǔ)知識,所以,是否掌握基礎(chǔ)知識的評價標準確實是可以驗證你對編程入門的難易掌握程度。 |
| 2 | 環(huán)境配置是否復雜? | 這個問題真的是累哭了多少開始信心滿滿的初學者,本來懷著百分之二百的熱情來加入編程隊伍,結(jié)果一上來你不是教我怎么寫出可以搞定一切qq賬戶的代碼,而是來個一個莫名奇妙的環(huán)境變量配置,很多小伙伴滿臉黑人問號的問what,這就好比你本來去跟小哥哥/小姐姐去相親,結(jié)果去了不是相親,而是先講講財產(chǎn)怎么分割,離婚后孩子歸誰一樣,讓人即莫名其妙又無可奈何,初學編程的小伙伴有多少人被環(huán)境變量搞得痛苦哀嚎呢?只有他們自己知道. 所以,一門語言是否有個復雜的(相對初學者)環(huán)境變量配置也是很多初學者痛苦的源泉,他們不想去做環(huán)境配置工作,因為經(jīng)常出現(xiàn)一些他們無法搞定的問題,因此,這個問題也成為選擇學習編程語言的一個難度門檻. |
| 3 | 是否可視化界面? | 這也是勸退更多初學者的一大難題,也是編程入門的一項基礎(chǔ)工作,一門語言一開始就用一個黑漆漆的運行界面,讓很多初學者都很畏懼,畢竟大家在多年的使用計算機的習慣中,已經(jīng)被微軟的可視化界面征服了,形成了使用可視化界面的習慣,如果一門語言的開發(fā)是使用一個黑漆漆的運行界面,也會使得一些小伙伴迅速放棄,并自我催眠認為這門語言學起來好困難啊! |
| 4 | 編譯器操作復雜度? | 很多初學者平時知識瀏覽瀏覽網(wǎng)頁,看看視頻,對于一款專業(yè)的軟件的使用一般都很困難,畢竟很多人無法熟練的使用word排版,制作精良的ppt和生成優(yōu)美的excel表格圖標,現(xiàn)在讓他們使用一款全英文的編譯器,對于那些英語不是很精通,不喜歡英語的初學者,一下就像一座大山一樣壓倒了他們對于編程語言的選擇,所以,編譯器是否操作復雜也是要作為選擇編程語言的一個重要參數(shù)指標. |
| 5 | 學習的時間成本? | 大家總是對很多事務(wù)存在著開始新鮮,久處厭煩的狀態(tài),因此,能不能是一門短時間學會的編程語言,也是成為對于編程語言的選擇的一個指標,這個時間成本可以參考很多培訓機構(gòu)的時間表,他們的官網(wǎng)或者咨詢會告訴你培訓多久能學會這門語言,一般的都是半年左右,壓縮了課程,每天要學習八個小時以上,這樣也會拖得很多初學者失去了昨日的熱忱,因此,能否快速的學會一門編程語言,也是成為了編程語言選擇的要素 |
| 6 | 相關(guān)性學習時間的長短? | 有些東西就會分散初學者學習主語言的注意力,這就跟你同時學多門課程分散注意力一樣,比如既學數(shù)學又學物理,對于理科思維好的人是錦上添花,但是,對于理科思維不那么活躍的人來說就是痛苦,同樣的就是既學文言文又學英語,也是對于另一些人同樣的痛苦,這也會或多或少的拖慢一個初學者對于主要編程語言的學習,有時會起到促進作用,而其他的時候就是滯待作用。因此,選擇一門編程語言的時候,要去了解其要學習多少相關(guān)性的知識,這些相關(guān)性的知識可能跟當前學習的編程語言無關(guān),比如學習Java的整套,除了Java還要學習MySQL,Linux,git,Redis,JSP .... 這些就跟學習Java本身是無關(guān)的,你不會因為不會寫MySQL而寫不出Java本身的代碼,但是,你要學習建立一個網(wǎng)站,又必須學習MySQL,這就會分散你學習Java的注意力,因此,你要探究一個編程語言是不是存在眾多的分散你注意力的輔助語言,這也是一門語言選擇的條件之一. |
編程語言難易程度問題
形成編程思維的人和沒有思維的入門者的區(qū)別
- 對于已經(jīng)入門的編程者來說,所有編程語言初識都是易于學習的,因為他的思維已經(jīng)被編程改造成了適合編程的思維,他學習所有相關(guān)內(nèi)容都會迅速的反應(yīng)出相關(guān)的思維并進行相關(guān)的操作,這就像你要做9除以3,你能快速得到結(jié)果3,那么,這件事你是怎么做到的呢,是因為你背了99乘法口訣表,那為什么你會99乘法口訣表,因為你學習了乘法,那么你為什么會乘法呢,因為你學習了加法,你知道3+3+3等于9,那么再向前推倒,你在學習加法之前學了什么,學習了數(shù)數(shù),你能從1數(shù)到9,你知道數(shù)數(shù),所以,你清楚加法,加法推導乘法,乘法有基礎(chǔ)口訣表,因此你能快速熟練的得到3,這個問題可能很多人沒有想過,或者沒有在意,人家問你,你就回答就是3啊,多簡單,而忽略了你的思維成長過程,而編程初學者就是那個可能剛剛用鉛筆練習寫1,寫了一篇的孩童,然后你問他,9除以3等于幾,你告訴他得三,但是,他無法做到再求出6除以2等于幾,因為他既沒有一步步的成長性思維,也沒有形成固化思維,他只能背會一個結(jié)果,因此,會編程的認為所有編程語言都很簡單,而入門者還沒掌握到規(guī)律,很多問題對于他們來說就是天方夜譚.
你無論跟他們講什么簡單,他們也只是剛剛學會寫數(shù)字1,和數(shù)數(shù),怎么能強求他們給你高級計算的答案.所以,無論你覺得c語言是多好的入門語言,還是php是世界最好的語言他們也感受不到,就像一個人跟一個女生或男生處對象,他必然能說出這個人的優(yōu)缺點,而對于沒跟這個人處對象的人來說,他完全感覺不到,他覺得這個人跟其他人沒什么區(qū)別,都是普通的人而已.
語言難度問題劃分

這張圖應(yīng)該很多選擇語言的初學者都看過,它的含義到底是什么呢,含義就是越靠近底層的語言越困難,這個困難指的是對于人類的識別難度來說的,而越靠近上層的方向就會越簡單,這個簡單指的是人的理解和閱讀來說,比如最底層的機器語言就是一串0101,給你20個零一,你能迅速明白什么意思,還是給你一個單詞Add,你更能理解其是什么含義,這件事對于普通人來講就不言而寓了,因此,面向?qū)ο蟮恼Z言,才成為更好學的編程語言,但是,很多語言在語法上也是互相借鑒(抄襲的),很多語法和格式也是類似或相近的,因此,一個人掌握了這個思維方式,他看其他語言長得像,那必然也是可以看明白的,就像有個人他們家族都有一個特色,左眼睛大,那么,你遇到一個左眼睛大的人,在不考慮其他類似的家族的情況下,你首先會想這個人是不是跟左眼大家族有關(guān)系,因此,一門語言入門,就會很多門語言通用,比如最最經(jīng)典的C語言,C++就是對C語言進行了借鑒,因此兩者在很多語法上是類似的,Java(另一個名字C++--)又是借鑒了C++,因此語法也是類似的,相近的還有Python/JavaScript/Php,因此,他們可以統(tǒng)稱為類C語言,這也是為什么學校推薦學習C語言,你把他們借鑒的祖先都學會了,那你學那些兒子孫子,不也是手到擒來,因此,你會發(fā)現(xiàn),那個C語言很好的同學,C++也會學的很好,Java也會很好,Python也會很好,而一個C語言學的不好的,其他語言一般也會很好,畢竟這些語言是一脈相承的,很多共同點,那么你有一個點沒學會,那么后期可能就在眾多類似的語言的相同地方栽跟頭.
編程語言的難易程度只是相對于人類來講的,比如你對這門語言的理解,跟你的生活是否相近,越跟你的生活相近,那么你思考其他越不費勁,越遙遠,你理解越困難,但是,對于計算機而言,只有效率和空間的區(qū)別,而沒有理解的問題,所以,選擇編程語言的本身關(guān)鍵問題就是:
你個人能夠快速的理解的編程語言,就是最好入門語言
C語言并不適合所有初學者入門
- 這里提出一個跟其他機構(gòu),學校和開發(fā)者相反的觀點,為什么這么講呢?因為很多初學者和入門者就是從C語言開始放棄的,一看C語言就放棄了,而且不是少數(shù),是大多數(shù),每年,每個班級,不通的專業(yè),是入門C語言編程放棄的人數(shù)一定是大于C語言入門成功的人數(shù),為什么會發(fā)生這件事情呢,不是說這門語言很好嗎?很容易學習,很容易理解嗎?
究其原因筆者認為可能就像人的體質(zhì)不同一樣,不是一門強大的語言,就一定能讓所有的人成為強大的編程者,初學者入門編程應(yīng)該選擇的是適合自己的一門語言,而不是所有人都選擇一門語言.
C語言本身是一門強大經(jīng)典的語言,這就像微積分是數(shù)學里一個很好的概念和解題方法,但是,不是所有人都能學精通他吧,大多數(shù)人還是覺得它好難吧!同理C語言速度快,占用內(nèi)存小,語言靈活,語法簡潔,優(yōu)點多多,但是,并不是所有初學者能夠一入門就領(lǐng)悟到這些,并且可以快速使用吧!
編程入門的前提條件是熱愛與興趣,并不是所有人都能對黑漆漆的界面產(chǎn)生百分之三百的興趣吧!
C語言適合基礎(chǔ)好的小伙伴學習,那么,什么是基礎(chǔ)好,這個標準是什么呢?那大概就是在學習C語言之前要學習一些課程比如:數(shù)據(jù)結(jié)構(gòu),操作系統(tǒng),計算機組成原理,算法,程序設(shè)計,如果對上述知識或多或少掌握或知曉一些的小伙伴,確實看到C語言也沒什么難度,但是,對于那些連操作word,excel都費勁的小伙伴,你讓他學習C語言真的是一種痛苦,因此,對于基礎(chǔ)課程掌握很好,概念通曉,原理熟知,計算快速的小伙伴C語言真的像它的優(yōu)點一樣能夠閃閃發(fā)光惹人愛,而對于那些基礎(chǔ)不是很好的小伙伴可能要做一些其他的選擇.
程序=算法+數(shù)據(jù)結(jié)構(gòu),如果數(shù)據(jù)結(jié)構(gòu)理解的不透徹,對于c語言中的數(shù)據(jù)類型理解起來就很費勁,尤其是讓你對每個變量定義數(shù)據(jù)類型,那真的是讓初學入門者十分蒙圈的問題,因此,想學習好C語言,又基礎(chǔ)不好的小伙伴,在學習C語言的時候,其他是在學習四門功課:數(shù)據(jù)結(jié)構(gòu),算法,程序設(shè)計和C語言,這樣入門的小伙伴多么困惑啊!
所謂"天下武功出少林",C語言就是編程語言中的少林寺,但并不是所有的少林弟子都是武學宗師,你看看虛竹在少林那么多年,也沒學成什么,出了少林反倒成了武學高手,還是后期的天龍?zhí)旎ò?因此,也許你是另一個虛竹,就要走出來,看看其他的編程語言.
c語言對于初學者難在哪里?
| 難點 | 描述 | |
|---|---|---|
| 專業(yè)術(shù)語 | 很多想要入門的初學者都會在這一步上徘徊很久,找到一門入門書籍,每個字都認識,放在一起就是不知道什么意思,歸根到底就是專業(yè)術(shù)語的儲備不夠,就像你讀一篇英語文章,有你認識的單詞,有你不認識的單詞,何在一起必然你也很難連貫的理解整個句子的含義,熟悉專業(yè)術(shù)語就像理解眾多單詞一樣,只不過這次不是記住單詞,而是記住名詞解釋. | |
| 翻譯 | 很多初學者學了編程,但是,看到編程題目很難將漢字轉(zhuǎn)化為程序,究其原因就是難以將漢字的表達方式轉(zhuǎn)化為程序的代碼形式,這個就像你讀數(shù)學題目,要找到已知量和未知量,而程序需要找到什么是變量,什么是值,在哪里變化,而這種操作,本博主認為就是在翻譯自然語言到程序語言的過程. | |
| 數(shù)據(jù)結(jié)構(gòu) | 由于這門語言是一種強類型的語言,因此,你要想很好的使用必須能夠清楚的知道一個量到底是什么數(shù)據(jù)類型,而這個類型就要學習一門課程叫做"數(shù)據(jù)結(jié)構(gòu)",因此,學習前還要理解數(shù)據(jù)結(jié)構(gòu),才能很好的使用這門語言. | |
| 語法 | 語言號稱是語法簡介,但是,這門語言的語法靈活性很高,因此,變化的方式很多,很多初學入門者很難快速的找到語法規(guī)律,同樣一個題目,可能有多種編寫方式,而初學者對于這種變化是很難快速直觀的感受到的. | |
| 數(shù)組 | 這個概念可以跟數(shù)學的集合概念相互映襯理解,同時還要有線性代數(shù)的基礎(chǔ),畢竟數(shù)組的很多操作都是在遵循線性代數(shù)的規(guī)律,線性代數(shù)學的好的小伙伴,在這里還是能夠很好的駕馭 | |
| 算法 | 這個概念在數(shù)學中叫做解題步驟,在計算機領(lǐng)域又進行了自己的定義和抽象化的描述,因為計算機的同一個題目很多時候,有多個解法,所以一般算法是不固定的,這樣很多初學者就會產(chǎn)生困惑,到底應(yīng)該怎么做這個題目,一個題目可以用for循環(huán),可以用while,可以用do while,那么我該用哪個,也是初學者很困惑的問題 | |
| 內(nèi)存溢出 | 這個問題也是經(jīng)常遇到的,因為這門語言比較靠近底層,因此,需要研究內(nèi)存的問題,就要學習操作系統(tǒng)這門核心課程,因此,很多初學者也是不甚理解 | |
| 指針 | 這可以說是C語言的靈魂也不為過,但是,指針的操作又涉及了很多內(nèi)存,內(nèi)存地址的問題,這些問題也是要理解一些計算機組成原理和操作系統(tǒng)才會更好的理解概念,因此,有這兩門的基礎(chǔ),還是會更好的理解這個概念. | |
| 結(jié)構(gòu)體 | 結(jié)構(gòu)體本身就是在現(xiàn)有的數(shù)據(jù)類型不夠的情況下,自定義一個數(shù)據(jù)類型,這里也需要有數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)傍身,你才能快速理解使用. |
- 以上就是筆者在入門C語言的時候發(fā)現(xiàn)的問題,當前抱著一本c語言入門的書籍,真的產(chǎn)生了上述的困惑,這里分享一些,可能很多小伙伴還有其他的問題,歡迎討論,作為一個想要入門C語言的小伙伴,盡力解決上述問題,才能更好的入門C語言.
面向?qū)ο笳Z言的推薦
如果你是上述入門C語言困難,又想學習編程語言的小伙伴,那么,可能面向?qū)ο蟮恼Z言也是一個不錯的選擇,C語言是一個面向過程的語言,看看剛剛的圖片可以知曉,它是比較接近底層的,因此,他比面向?qū)ο蟮恼Z言更加難學,因此,入門語言的小伙伴,你可以選擇相對C語言更簡單的面向?qū)ο蟮恼Z言,比較經(jīng)典的是C++/Java/Python,難易程度也是可以這么排列的
C++<Java<Python如果你對學習C語言入門比較有陰影,那么,可以選擇在外型上比較差異大的Java,但是,Java需要配置環(huán)境變量,Python也需要配置環(huán)境變量,好在現(xiàn)在有很多網(wǎng)頁上直接運行代碼的方案,可以解決初學者對于環(huán)境變量的配置困難,但是,網(wǎng)頁版的環(huán)境無法實現(xiàn)輸入功能,這也是一大困難,因此,最好還是能夠熟練掌握環(huán)境變量的配置.
Python是目前很多985高校推薦的入門編程語言,斯坦福大學也是用這門語言教學入門,可能一些高校發(fā)現(xiàn)了C語言對于初學者的困難程度和痛苦,Python相對于C語言需要經(jīng)常強調(diào)數(shù)據(jù)類型來說,它是一門弱類型語言,你不用關(guān)注每個變量的數(shù)據(jù)類型是什么,這對于數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)不好的小伙伴,簡直就是一個福音,因此,對于數(shù)據(jù)結(jié)構(gòu)不好的小伙伴,選擇Python入門編程,無疑也是一種快樂.
前端開發(fā)語言和后端開發(fā)語言
前端和后端在很時候是相對的,這里做個簡單的模糊比喻,比如你的計算機是一個臺式機,你從顯示器看到的內(nèi)容可以理解為是前端,你的機箱主機就是后端,因此,簡單的理解就是可以看到的內(nèi)容就是前端的輸出結(jié)果,而你一般看不到的就是后端的內(nèi)容.
所以如果喜歡可視化界面,做什么都可以直觀的,快速的看到的小伙伴,在編程語言入門的選擇的時候,就可以考慮從前端入門,這種方式的難度又比從后端入門更加簡單快速了.
這里推薦的前段入門編程語言選擇就是HTML+CSS+JavaScript,這三個也被叫做網(wǎng)頁三劍客,如果能夠?qū)W會這三個也是屬于編程入門,JavaScript相對于后端多數(shù)開發(fā)語言都是更加簡單,便捷的,沒有數(shù)據(jù)類型的復雜概念,能夠快速在網(wǎng)頁上看到結(jié)果,對于很多習慣可視化的入門者都是友好的,對于零基礎(chǔ)的小伙伴也是一個好的入門方案,而且,JavaScript也是類C語言,學過后,再看C語言,你就會發(fā)現(xiàn)你能看懂很多了.
編程語言選擇總體推薦
| 序號 | 重點 | 描述 |
|---|---|---|
| 1 | 難易程度怎么樣? | 前端難度<后端難度 面向?qū)ο笳Z言<面向過程語言 高級開發(fā)語言<低級開發(fā)語言<機器語言 |
| 2 | 環(huán)境配置是否復雜? | 前端環(huán)境 < 后端環(huán)境 < 系統(tǒng)環(huán)境 |
| 3 | 是否可視化界面? | 前端開發(fā)語言的可視化程度大于后端開發(fā)語言的可視化程度 |
| 4 | 編譯器操作復雜度? | 后端開發(fā)語言的編譯器操作復雜程度大于一些前端開發(fā)語言的編譯器(比如HTML是記事本難度就比其他集成編譯器簡單很多) |
| 5 | 學習的時間成本? | 前段開發(fā)語言的入門學習時間少于后端開發(fā)語言的入門時間 |
| 6 | 相關(guān)性學習時間的長短? | 網(wǎng)頁三劍客學習的相關(guān)性時間學習少于整套后端語言的學習時間 |
入門初學者對于語言初期到底要的是什么
| 序號 | 重點 | 描述 |
|---|---|---|
| 1 | 代碼能夠運行起來 | 對于一個入門初學者,不需要深入全面的了解各種知識原理,最重要的第一步,是讓自己寫的代碼都能夠跑起來,跑起來能夠帶來信心,跑起來能夠帶來力量,跑起來能夠支撐你繼續(xù)努力的學下去. |
| 2 | 能夠處理簡單的小問題 | 在代碼跑起來的時候,一定會遇到這樣的,那樣的問題,比如少寫了個分號,少寫了個括號,單詞拼寫錯誤,這種常見的問題,自己能夠找到并且改正,也是進步的原動力,這就涉及到認真,眼神好和會讀報錯信息 |
| 3 | 會使用百度工具 | 很多初學者入門之后,能夠發(fā)現(xiàn)問題,能夠找到問題,但是,解決問題能力還不夠,因此,要學會使用百度,很多初期的問題都是可以在百度上找到的,每次遇到問題,也要記錄總結(jié),才能不斷進步 |
| 4 | 熟練安裝編譯器和配置環(huán)境 | 這個難倒無數(shù)初學者的問題,真的是做個開發(fā)者必備的技能,所以,要把它的屬性點點滿,首先找到一個圖文并茂,步驟清晰詳細的安裝文檔,然后,比對安裝的編譯器版本,看看其可視化的界面是否跟文章基本一致,然后,按照文章的步驟仔仔細細一步步執(zhí)行,很多時候就是細節(jié)出了小問題,因此要單獨拿出一部分時間,就是反復的做安裝這個工作,安裝和配置環(huán)境真的是一個孰能生巧的事情,就跟你組裝模型一樣,反復多做幾次,十次每次都認真做,一定能夠?qū)⑦@個問題解決的 |
| 5 | 選擇一門語言入門后,一定要把它完整學完 | 很多初學者選擇一門語言后,今天看兩個覺得好簡單,然后,明天遇到困難了,就去學別的簡單的內(nèi)容了,這樣是不對的,無論選什么語言,都要認認真真從頭到尾完整的學完一整套,遇到不會的可以記錄下自己的問題,很多前期的問題,都會在整套學完得到解答,不要死扣一個概念原理不放,初期的時候,由于知識儲備不夠,生扣一個概念和原理,是不明智的,就像考試遇到不能馬上解答的題目,老師也是建議你先跳過,如果時間充裕在最后過來思考一樣,計算機的學習也是遵循這個原則,先整體后局部,整體系統(tǒng)學過,再反過來思考曾經(jīng)的問題,就會形成知識覆蓋,因為學習了更高級的知識,所以,初級的知識問題就會迎刃而解,你學會了二十以內(nèi)的加減法,讓你做十以內(nèi)的加減法,肯定是手到擒來. |
總結(jié)
條條大路通羅馬,有人出生在羅馬,所以,面對同一個問題,站在不同的角度,不同的資源,不同的邏輯思維,所得到的結(jié)論,會存在千絲萬縷的差異,因此,編程語言入門也是這樣的,要根據(jù)自己的實際情況出發(fā),具體問題,具體分析,你記憶力不是超級好,學習新事物的能力不是一級棒,沒關(guān)系,你換個方式方法,依然是王者,沒有最好的解決方案,最適合自己的就是最好的,C語言是強大,是鼻祖,是權(quán)威,但是,也不是保證人人都可以學會的語言,如果你走C語言入門學不同,學不懂,學著費勁,那干嘛不找一個更輕松,更便捷的解決方案,C語言就像武功中的獨孤九劍,可以解決計算機里所有的問題,可是你是個連劈砍都沒學會的人,給你劍譜你也看不懂學不會,不如給你一份初級劍法入門,等你學會一套劍法,再去領(lǐng)悟高深的劍法,豈不事半功倍,權(quán)威的是好的,但不一定是適合你的,就像給你馬云一樣的創(chuàng)業(yè)的資金,你也不一定成為第二個馬云,成功只能借鑒,不能雷同,入門編程只能選擇自己合適的,不能靠人云亦云,同樣在一個教室上課,同樣一個老師,還有打滿分和不及格的,你就能說不及格的同學一定不如打滿分的同學嗎,那只是不及格的同學在這個方面不擅長,沒準不及格的同學打游戲一個虐五個,打滿分的同學打游戲一個打不過呢,所以要善于發(fā)現(xiàn)自己的長處,不斷找尋適合自己的,才是學習和理解一切的最好方案,選擇比努力更重要.
實屬個人觀點,覺得喜歡的可以關(guān)注,點贊加收藏,您的支持就是所有愛好者的前進動力.