20 年「碼齡」的老程序員如何看編程發展?
如今,學習編程的人分為兩類,一類是程序員,另一類是期望成為程序員的人。
編程這個事兒,在大多數人眼中還是一種特定領域的、專門的技能,認為學的人都是需要以此謀生的。
其實,作為一個「碼齡」超過20年的老程序員,我是這樣認為的:在不久的將來(也許三五年,也許十來年之後),編程將從一個職業技能逐步蛻變為職場通用技能。
對此,我們可以類比「識字」這個技能來看——
百十年前,大多數老百姓都不認識母語文字。當年具備了「認字」這一技能的人,就可以獲得比大多數人更優越的工作環境,報酬更高的職位。那時,識字無疑是一種必備的職業技能。
但到了今天,識字率已經差不多100%了,具備此技能已經不再是職場的加分項了。相反,如果在今天不認字,那恐怕註定只能從事低端工作了。而如今的職場環境,要比之前要求的多,除了基本的電腦辦公軟體,要求會編程,也在各個互聯網公司的面試中開始蔓延開來。
類似的技能還有:
駕駛——汽車工業發展起來後,職業司機越來越少,駕駛逐漸成為人們的通用技能。
在未來,編程就會成為人人都會做的事情,作為勢必要踏入職場中的一員,除了要具備聽說讀寫本國語言的能力外,還需要能夠讀寫代碼。
不久的將來,職業寫代碼的人,將越來越少。取而代之的,編程將是每個職業人的必備技能,擁有更多技能的人,就更有拿到好offer,升職加薪的機會。
即便現在一時之間無法達到社會全員編程的地步,至少是朝著這個方向發展,未來3年或5年,編程將成為互聯網從業者的必修課。所以,在此我們要把握這個機會,勇敢的迎上新時代的機遇,只有把握先機的人,才會在未來的發展中有一席之地。
那麼編程的核心是什麼?
從語言特徵(辭彙、語法等)的角度來講,最複雜的編程語言遠比最簡單的自然語言簡單得多。
我們學習各種自然語言是為了日常生活與人交流、收發信息,那麼,學習編程語言又是為什麼呢?
其實是為了用編程語言來描述事物、概念,以及它們之間的相互關係和運行方式,將我們身處在的大千世界轉化為一台計算機能夠理解的電信號,驅動硅晶金屬構造的計算機部件去完成任務!我們學會了這門語言,用來和計算機交流,在反過來作用於自己,創造更多的價值。
編程的核心在於通過各種各樣的演算法去實現具體的業務邏輯,把繁雜的過程抽象化、可計算化。
從純粹軟體的角度講,甚至可以說:演算法 數據 == 計算機程序。
受過計算機科班教育的人一定上過一門課:數據結構,這門課是計算機科學的基礎,它的核心內容就是各式各樣的演算法,它們是幾代計算機科學家從解決現實問題中提取出的套路——這些才是編程的核心。
經得起時間考驗的通識技能
計算機技術從誕生起就處在飛速發展之中。編程語言從無到有,從少到多,從最初的01代碼,機器語言到後來百花齊放的高級語言,此消彼長,興衰交替。
各種工具、框架更是日新月異,各領風騷三五年乃至三五月就被淘汰者成百上千。但是經由現實問題中提煉出來的經典演算法,卻經得起時間的考驗。
這些經典演算法是計算機發展過程中世界上最聰明的一小撮人千錘百鍊出的,解決某些模式問題的方法和策略。
這些方法和策略基於人類幾千年文明史的思維積澱,又經歷了最嚴格的數學分析和驗證,本身既是人類文明的結晶,同時又是一種有效的思維訓練。這種邏輯思維能力,也能用於平時的生活中解決問題,當你的邏輯思維被打通,你會發現沒什麼難事,都會有解決方法。
用數值表達現實事物,用運算描述任務目標,再通過演算法處理數據找到達到目標的最優化路徑——這個思維的形成過程,遠比學會模型本身更為難得。
經過這種思考訓練內化出的思維能力,也是學習者可以相伴終身的助力。
在《編程演算法同步學》的課程中我將帶領大家,由編程學演算法,以演算法促編程。從零開始,同步學習兩方面內容:
使用 Python 語言編寫程序;
最基礎的經典演算法。
除此之外,為了幫助大家理解演算法,對於計算機的基礎運行原理也有介紹。
在大學計算機系課程中,本課程所講述的內容被拆分在幾門課里:
程序設計語言(Python)
數據結構
計算機組成原理和體系結構
不過本課沒有像一般大學課程安排那樣,將這幾部分割裂開,而是融會在一起,按下列順序進行講解:
1. 從我們熟悉的日常事物開始,講解軟體、程序、演算法和編程分別是什麼。
2. 編程兩大要素:控制流程和數據結構。
3. 幾種最常見的數據結構(數組、鏈表、樹和圖)。在此過程中,由數據結構的限制和實現引出現代電子計算機的基礎:二進位和馮諾依曼結構。
4. 進入演算法階段,從最簡單的順序查找開始,一邊講演算法,一邊講它們的編程實現。
詳細講解的經典演算法包括:
順序查找
二分查找
簡單排序
選擇排序
起泡排序
插入排序
快速排序
編程和 bug 總是難捨難分,為了系統性減少 bug ,就要講軟體工程。
講演算法就離不了策略,分治策略是快速排序的基礎,而引申自數學的遞歸則是分治策略的實現方法……
5. 結課前會給出本課之後繼續學習演算法和編程的方向與方法。祝大家學習順利,有所提高!
《編程演算法同步學》正在拼團中,原價 69 元,拼團之後只要 49 元!!省下 20 元!
掃碼下圖參與拼團
這是厲害的課程大綱
全是編程演算法知識,乾貨滿滿!
TAG:CSDN |