"學編程"到底是學什么?


 

"學編程"到底是學什么?

 

只有程序員需要學編程嗎?

今天,學習編程的大部分還是程序員和期望成為程序員的朋友。編程在大眾眼中還是一種專門的職業技能,學了,是用來找工作的。

 

 

不過,作為一個積年的老程序員,作者認為:在不是很久遠的將來(也許三五年,也許十來年之后),編程將從職業技能逐步蛻變為通用技能

我們可以類比“識字”這個技能來看——

百十年前,大多數老百姓都不認識母語文字。當年具備了“認得字”這一技能,就可以獲得比大多數人工作環境更優越,報酬也更高的職位。那時,識字無疑一種職業技能。 但到了今天,識字率已經逼近100%,具備此技能已經不再是任何職場加分項。相反,如果在今天不認字,那恐怕注定只能從事低端工作了。

未來,編程將成為人人都會做的事情,職場中的一員,除了要具備聽說讀寫本國語言的能力外,還得能夠讀寫代碼。而職業寫代碼的人,將越來越少。

類似的技能還有:

駕駛——汽車工業發展起來后,職業司機會越來越少,駕駛逐漸成為人們的通用技能。

即使一時無法達到社會全員編程的地步,至少正在朝着這個方向發展——

越來越多的互聯網行業非技術崗從業人員,比較典型的像產品經理(PM),都在自學編程。

 

 

如果大家留意一下兒童教育的話,不難發現:兒童編程已經成K12教育領域的一匹絕塵黑馬,在短短幾年中異軍突起,大有進入主流教育體系的勢頭。

編程的核心是什么?

從語言特征(詞匯、語法等)的角度來講,最復雜的編程語言遠比最簡單的自然語言簡單得多

我們學習各種自然語言是為了日常生活與人交流、收發信息,學習編程語言又是為什么呢?

是為了用編程語言描述事物、概念,以及它們之間的相互關系和運行方式,將大千世界轉化為計算機能夠理解的電信號,驅動硅晶金屬構造的計算機部件去完成任務!

 

 

編程的核心在於通過各種各樣的算法去實現具體的業務邏輯,把繁雜的過程抽象化、可計算化。

從純粹軟件的角度講,甚至可以說:算法 + 數據 == 計算機程序。

受過計算機科班教育的人一定上過一門課:數據結構,這門課是計算機科學的基礎,它的核心內容就是各式各樣的算法,它們是幾代計算機科學家從解決現實問題中提取出的套路——這些才是編程的核心。

簡單而言,"學編程"就是學習用編程語言編寫算法!

研習算法,修煉內功

計算機技術從誕生起就處在飛速發展之中。編程語言從無到有,從少到多,從最初的01代碼,機器語言到后來百花齊放的高級語言,此消彼長,興衰交替。

各種工具、框架更是日新月異,各領風騷三五年乃至三五月就被淘汰者成百上千。但是經由現實問題中提煉出來的經典算法,卻經得起時間的考驗

這些經典算法是計算機發展過程中世界上最聰明的一小撮人千錘百煉出的,解決某些模式問題的方法和策略。

 

 

這些方法和策略基於人類幾千年文明史的思維基甸,又經歷了最嚴格的數學分析和驗證,本身既是人類文明的結晶,同時又是一種有效的思維訓練

用數值表達現實事物,用運算描述任務目標,再通過算法處理數據找到達到目標的最優化路徑——這個思維的形成過程,遠比學會模型本身更為難得。

經過這種思考訓練內化出的思維能力,完全可能成為學習者相伴終身的助力。

 

 

··

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM