我為什麼要學編程(程序設計)

我的思考

這件事我想了很久,實際寫這篇文章我已經開始了一段時間了,我一直在問自己,我為什麼需要學編程呢?包括我妻子也在問,你怎麼突然想起學編程了?說起原因,應該要從我參加「新生大學」開始說起。 在加入之前想學一些嵌入式系統的開發,但發現應用較窄。後來聽了幾節課並看了一些介紹文章,並問了一些前輩,決定先易後難,從Python開始,此語言入門比較容易,而且應用也非常廣泛。如做數據分析,搭網站,網路爬蟲等。特別是看了一篇一個女孩怎麼通過網路爬蟲預測微博的轉發數,最後成功預測到最接近的數從而得到笑來老師的大獎。獎勵倒是其次,我更看重的是分享出來的分析過程,深有感觸。除入應用到了一些統計概率方面的知識,最核心的是成功抓取了微博的轉發速等數據。特別是看了李笑來老師從40歲之後學編程,還順帶完成很多創業。不佩服都不行啊!

以下是李笑來老師的分析,摘錄如下:

1.程序設計也許是目前地球上最容易變現、最被高估、可事實上卻實際上並不難以獲得的技能。

從趨勢上來看,不僅目前如此,將來還會如此,並且變現容易程度與高估的幅度都會被進一步拉升 —— 不信咱就找個代駕開車坐在后座看唱本走著瞧。 還有個理由是,

2.程序設計的學習難度被有意無意地過分高估了。

人們向來有把學不會的技能神秘化的傾向,也許是因為只有這樣心裡才舒服,覺得自己學不會正常一點。但,程序設計這個領域,實在是被過份高估了(其程度比第二語言習得領域還要高出許多許多),乃至於很多人只是因為被誤導了才望而卻步,根本不是做不了做不好的原因。這個領域裡的每一項技能,都會讓習得者有這樣的慨嘆,「這樣簡單的東西竟然這麼有用!」 或者 「連這麼簡單的東西我都沒學會的話,實在是太可惜了!」

最後一個理由是,

3.這是個最能全方面養成、鍛煉、提升個人學習能力的學習項目。

在計算機這個領域的頂尖範圍里,集聚著人類的精英,他們設計了一個又一個的方法論去優化自己的工作環境,優化自己的工作流程,優化自己的產品,沒完沒了地改善,沒完沒了地更迭…… 也就是說,在計算機這個領域裡,有大量的概念與方法論都是走在最前沿的。學習程序設計,並不是膚淺地學一門編程語言,設計一些函數,更重要、更本質的是學習計算機科學家們用來改變世界的思考方式、行為模式。

以下是我自己的總結的原因:

1.為更好的學好英語,因為英語學習的訣竅在於用。

閱讀原版書、英語新聞,英文寫作是在用英語。學編程也要用到大量的英語直接編寫,最好,最優秀的文檔都是英文寫的,如最知名的GitHub社區。這個過程是用英語去解決一個真正地實際問題,那麼就會有很好的動力去學好英語。

2.磨鍊自己從零開始到優秀的學習過程。

我本人是零基礎的,雖然很早接觸到計算機,但因為種種原因並沒有去學習過編程。編程學習的過程需要大量的「刻意練習」,需要用到「注意力」,需要有重大的意義,需要動用自己的元認知能力等等。能讓我體會到在另外一個領域怎麼樣做到優秀,這也是我為什麼要寫這篇文章的原因。

3.最終爭取成為一名全棧工程師。

如笑來老師的分析,全棧工程師(同時具備前端和後台能力)80%的時間在深度思考,20%的時間在寫代碼。思維的方式及推理過程比去寫代碼更重要。這種能力的提高又可以影響到其它知識的學習。

4.通過編程,可以用來解決實際問題。

編程可用用來解決實際問題,而且可以馬上反饋結果,比學其它東西更能堅持下去。如數據分析,建自己的網站等,科學計算等,可以得到更好的機會,碰到這個領域的高手,也有可能最終自己創業,結合自己之前的結構(硬體)知識,再加上軟體知識可能就更加全面一些了。
推薦閱讀:

想從事遊戲製作/設計行業,需要學哪些編程語言?
你只管努力,剩下的交給時光---一個南方姑娘的2016北漂之旅
男友他媽的媽見到女友他媽的爸叫什麼?
一個Windows應用程序,例如大型遊戲,除了exe文件外,其餘的文件都是些什麼文件?有什麼內容?
計算機程序如何識別音色?

TAG:自學編程 | 編程入門 | 程序 |