最適合開始程式設計的年齡是10歲開始,堅持下來,18歲之前會小有成就,並衣食無憂。例如我們要完成一項任務,需要和其他人協作,我們需要通過自然語言和別人溝通,表達我們的想法,達成一致,這樣我們才能順利完成任務。同理,程式語言也有類似的用途,他是和計算機進行溝通的橋梁;計算機從感官上理解就是一堆硬體組成的機器,和我們在工廠裡看到機械裝置一樣,例如:挖掘機、起動機、吊車等,只是用途不同而已。我們通過程式語言,可以使計算機理解我們想要幹什麼,怎麼幹。
從上面的模擬說明,我相信就算是從來沒有接觸過計算機程式設計的人,也可以理解程式語言的作用了,那麼我們要完成程式設計需要具備什麼基礎知識呢?
第一:基本的邏輯推理能力:需要掌握數學的最基本運算就可以了。
第二:識字和溝通能力:程式設計是理解需要達成的目標,然後構思完成目標的方法,這裡需要能力認字和溝通。
第三:基礎英語能力:目前主要的語言都是通過英語進行編寫的,當然使用拼音也是可以的,但是建議開始就養成好的習慣。這裡的英語能力不需要你有具備多強的英語語法能力,認識26個字母,認識並能書寫日常簡單的英語單詞即可,畢竟不是為了考試。
綜合上面需要的能力,再結合義務教育的課程內容,對比就可以知道,小學三年級就可以具備以上能力。差不多就是10歲左右,這個時候開始接觸程式設計是非常好的時機,無論以後長大了要不要從事這個行業,對於未來的人類,程式設計以及程式設計思維將是各行各業都需要的能力,對於未來是大有裨益的。
所謂的機器代替人類,其實這句話是說:機器代替沒有創造能力的人類,而不是所有人類。因為無論多麼智慧型的機器都是需要人類來創造的,具備建立機器能力的人,是不會被淘汰的,人工智慧就是軟體程式設計行業的乙個發展方向,程式設計是未來所有高階行業或職業的入門技能。
如果你是從10歲開始學習程式設計,大概有如下三個階段。
第乙個階段:熟悉程式語言階段
10~15歲,這就像是很多英語培訓機構講的一樣,8歲以前是學習英語的**時期。同樣,程式設計也是有乙個**時期,10歲左右的孩子可以開始進行一些高階的邏輯推理,同時對於新的東西容易感興趣,程式語言,說到底也是一門語言,學習語言都是盡早越好。開始學習程式設計,主要是鍛鍊學習程式語言和程式設計思維的能力,這個和學校教的數學思維是異曲同工,相輔相成的。這個階段不需要接觸過於高深的程式設計技術,主要是程式設計基礎練習為主,打好基礎很重要,也不需要學習高深的計算機理論,因為我們是從實踐中體會,然後逐漸了解和總結,不需要死磕理論。
第二個階段:孰能生巧,舉一反三
15~20歲,程式設計是乙個非常廣泛的概念,如果說前面5年學習程式設計基礎是乙個點,那麼這5年就是有點到面的過程。沒有任何乙個人可以掌握程式設計相關的所有知識點,我們通過學習更多的程式語言和技術,無非都是在通過實踐來鍛鍊自己對程式設計這件事更全面和深入的認識,同時也是加強程式設計的熟練程度。當我們在乙個點上做到非常精通後,在遇到類似的程式設計技術時,可以非常快的上手,這就好比你學會了騎自行車,然後你要去開電動車會顯得非常容易掌握。計算機程式設計技術也是如此,目前世界上有上百種程式語言,流行並常用的程式語言也有10種。我們要在這個階段拓展視野,通過學習其他程式語言,同時學習一些計算機相關的簡單理論知識,加深我們對計算機技術的理解,這個階段就不僅僅是學習程式設計技術,我們透過程式設計發現其背後支撐這一些的計算機技術。
第三個階段:成為領域專家
20~30歲,在計算機行業30歲前可以成為某個領域專家的人並不多,說到底各種程式設計技術只是達到實現軟體或系統功能的工具而已,背後使用程式設計思維去設計軟體和系統的這群人才是精英。他們首先是經歷了上面兩個階段,才有這個能力站在更高層去設計架構。在計算機行業永遠都不可能有外行指導內行的可能,因為技術門檻太高,不是隨便那個都可以做設計,並指導程式設計師開發的。要成為專家,需要在完成上面兩個階段的過程中逐漸選定乙個自己的方向,深耕10年才有這種可能。
總結就是:入門程式設計-> 拓展視野-> 深耕乙個方向。
上面所講述的是最好的規劃,但是時光不可倒流,當年你看到我這篇文章的時候,可能已經18歲了,也可能28歲了。怎麼辦?不著急,聽我我慢慢道來。有句話叫什時候開始都不晚,對於程式設計來說可能這句話要害很多人,因為如果沒有在某個最終時間點完成蛻變,你很快就要失業,成為前浪。35歲在中國的程式設計師行業確實是乙個坎,但是總有人過不去,而且是絕大多數過不去,這也是沒有辦法的事情。那麼我們最晚什麼時候開始學習程式設計,才有這種可能成為行業專家,邁過那個坎呢?
我的估算是20歲為最後期限,這個期限也是大部分大學生開始真正學習程式設計的最後期限。我們只有在不愁吃喝的時候,才有可能安心的學習。很多同學往往相反,在不愁吃喝的年紀偷懶,所有才會一事無成。如果時光可以倒流,現在那些出生社會已經工作了一段時間的人,再回到大學一定會拼命的學習。
所以20歲,不能再晚了,如果混這個行業,再晚你就算再聰明也是非常艱難;不是說你21歲就不夠聰明,而是你在同行業裡的競爭力非常靠後了,你就算非常努力也是很難超越別人,這裡講的是乙個大概率,不必拿個別特例來反駁。你可以試想一下,別人比你更早意識到自己的目標,並且付諸了努力,你是追趕,必然要更加辛苦。
另外打個假:抖音裡面廣告的少兒程式設計,不是真正的程式設計技術,那個最多算是一款適合兒童玩的遊戲而已。沒有哪個企業用那個拖方塊的方式程式設計的,只能算是遊戲,年輕的父母千萬不要花錢請孩子打遊戲,這是在害人。
專欄目錄
如何做好需求收集 來之《程式設計師》第2期
專案前期需求收集過程的效果好壞,會對軟體產品的最終質量產生直接的影響。如何收集好需求,本文作者給出了一條行之有效的實際操作途徑。什麼是需求收集?需求收集,是確定和理解不同類別使用者的需要和限制的過程,是需要高度協作的活動,是在問題及其最終解決方案之間架設橋梁的第一步,因此其重要性不言而喻。據調查顯示...
程式設計師2 3年職業瓶頸期的思考
最近專案進度稍微有些放緩,雖然自己從去年到今年有些進步,但是感覺實質性的進步還是很少,決定好好思考一下,想辦法突破這樣的局面。工作兩到三年以後,該用的元件也都用了,大部分也有了一定解決問題的能力。但是想要更高的工資就得繼續修煉。整理了一下這個職業需要的技能 硬技能包括 基礎知識的掌握 以往的專案經驗...
《程式設計師》電子雜誌第5期上線
得失之間 8月8日,立秋。不知不覺中,夏季已經過去。在感嘆時間過得太快的同時,也萌生一股欣喜之情 收穫的季節到了。失去了夏日的激情,得到了秋天的安靜 失去了似水流年,得到了生活經驗。其實得與失,在於經歷,也在於心態。我認識的一些程式設計師朋友,每天都在自己的崗位上忙碌著,加班是家常便飯。問及他們的感...