編程其實並不難

編程其實並不難!

要編程並不需要到大學計算機系裏去學很多艱深的理論,經過適當的指導與訓練,一個高中生就可以參加到軟件項目團隊中,並寫出具有相當質量水準的程序!

爲什麼會有那麼多的人把編程視爲很高深的東西?

爲什麼我國那麼多的軟件企業深感合格的程序員是如此難找?

我想,造成這個怪圈有兩個重要的原因。

一是學生學習方法與態度的問題。由於對軟件開發這一工作本身缺乏正確認識,許多學生形成了一種浮躁的功利型學習方法,表現爲盲目地跟風學習各種當前流行的新技術,但大都只是三個月熱度,由於欠缺毅力和不具備紮實的理論與實踐基礎,對這些新技術無法深入把握,淺嘗輒止,“坐而論道”,討論時可以“滔滔不絕”,一到動手則“原形畢露”。許多人沒有想過:現在流行的“新”技術,難道就會一直“流行”下去?曾經風光一時的 Foxpro 和 PowerBuilder ,國內曾有許多人(包括本人在內)投入大量的時間去學習與掌握,可沒過幾年,還有幾個項目是用這兩種技術開發的呢?所以,如果要“追”新技術,也只能去學預計兩到三年後社會急需的技術,這就需要學習者有超前的眼光。但軟件技術進步實在太快,很少有人能夠準確預測出幾年之後會流行什麼。所以,與其“臨淵羨魚”,不如“退而結網”,選擇一項自己喜歡的領域,從理論到技術,紮紮實實地用兩到三年時間去學好它,在學習過程中培養出“捕魚”的本事。有了這種自我學習的基本能力與素質,還擔心出海捕不到魚嗎?

有一些學生投入相當多的時間與金錢去參加種種有着各種動聽承諾的電腦培訓班,指望別人能夠幫助自己成爲技術高手,卻不知真正的高手大都是“自學成才”!

造成怪圈的第二個重要原因就是計算機教育問題。目前高校中的計算機教育並不能大批量地培養出合格的軟件開發者,學生在四年本科期間計算機理論學了不少,對培養編程能力卻重視不夠,缺乏實踐的結果是理論也掌握不好,學生的計算機水平被煮成了“夾生飯”。

編程是有規律的,讀者能不能迅速成爲一名具備相當水平的程序員,關鍵在於對編程規律與必備知識基礎的把握程度。

最重要的是要掌握原理。在開發過程中所進行的各項具體活動與工作步驟,其背後都是有道理的,理解清楚了這些道理,在整個軟件開發過程中該做什麼,不該做什麼,先做什麼,後做什麼,也就心中有數了。

編了這麼多年的程序,我意識到其實學習軟件開發技術的過程就是一個學會做事方法的過程。例如,在開發軟件時,要“分而治之”、“步步爲營”、“先局部後整體”、“合理安排開發次序”、“養成良好的編程習慣”等,這不僅僅是程序設計的技巧,也是做好編程之外許多其他工作所需要的。

在學習與掌握軟件技術這一過程中,可以鍛鍊一個人的許多基本素質,如思維周密、意志堅強、學習能力、創新精神等。如果一個人能在競爭空前激烈的 IT 業憑藉着高素質站穩腳跟,那麼,可以很有把握地說,如果他轉向其他行業,同樣是一個優秀的人才,也會闖出自己的一番天地!

只有被理解了的知識才是真正有用的知識,無法理解的知識是毫無用處的。知識的獲取與掌握是有其客觀規律的,一般而言,具體的知識易於理解,而抽象的知識則難於把握,在學習過程中,應遵循“具體 → 抽象 → 具體 → ……”這樣一個無限循環的過程。

如果某人對一門學科所知不多,卻指望他能通過理論學習迅速地把握這門學科,這就違反了人類認識世界的客觀規律。可惜的是,目前中國教育體制中普遍採用的讓學生重點學習抽象理論而忽視具體實踐的做法,造成了大批的學生既沒學好理論,也沒打好必要的實踐基礎。

因而,只有建立在實踐基礎之上的理論學習纔是真正有效的學習。因此在整個計算機技術的學習過程中,應該把開發實踐作爲一條主線,由它串起所有的知識點。這樣由點匯合成線,由線至面,才能構成雄厚的知識體系。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章