1. 程式人生 > >如何學習IT新技術

如何學習IT新技術

       To Program  is to Understand.         ----  Kristen Nyggard

       學習新技術,可以提高一個人的學習能力和適應能力,對於IT人的重要性是不言而喻的。那麼,你是否掌握了一套適合於自己的學習方法呢? 人總是太容易衝動,聽說一樣新技術,然後找來一本書,就刷刷地敲鍵盤學起來了。是否存在更敏捷的學習新技術的方法呢?只要勤于思考和探索,總會找到的。

        學習一樣新技術,首先必須充分了解它的價值。它用來做什麼? 最有價值最精髓的是哪部分? 有什麼樣的應用前景和適用範圍? 你是否有這樣的使用需求?有必要的話,還可以探索它的來源。 通常這些資訊從網上就可以獲得。 切忌連基本概況都不瞭解就直接下手去學。即使周圍的人都贊好,也有必要先做個大致的調研,權且稱之為“技術評估階段”。 

        其次,要理解其基本機制或所依賴的模型。 它依賴於什麼模型或理論基礎? 有哪些命令、工具或技術提供支援 ? 比如, MAVEN 依賴於 POM, SVN 構建於客戶端伺服器模型; 這些也可以從網上獲得大致瞭解。  

        接著, 必須想清楚學哪些部分,以及怎麼學。 有些新技術是隨著時間不斷髮展的,於是形成了豐富多樣的特性。作為初學者,最忌的就是貪多求全,巴不得所有東西都學到手。其實不然。可以按照“核心 -> 常用 -> 其它”的階段來逐步攻克該技術。

         ★  核心: 最擅長最精髓的部分, 具有不可替換性;

         ★  常用: 為了擴充套件其用途,必須使之適應常用任務,部分可替換性;

         ★  其它: 其它特性,可替換性強。

        比如,當前流行的Spring 框架,就提供了大量的特性。其核心是依賴注入和控制反轉特性、AOP功能。首先要掌握這些核心特性;其次, 適用於常用任務的部分,比如與資料庫互動,與其它工具的整合,web MVC, 事務管理等特性;其它的,比如 JMX, JMS, 任務排程等特性,在工作需要的時候再去學習。 學習新技術跟構建軟體有相同的特性。一開始不需要構建全部的特性,只需要構建最核心最常用的部分;其次,要注重可擴充套件性。 這個可擴充套件性就是人的學習能力。

        怎麼學也是非常重要的。制訂一個可行的計劃, 根據實際情況堅持學習與應用, 沒有什麼捷徑可走。行動是最重要的。

        如何學習其精髓?採用逐步深入的方式。先學會其使用,在使用的過程中體會這些功能的需求和思想; 其次,鑽研原始碼是最好的探知內部機制的方法,在鑽研的過程中結合文件說明,可以加快這一程序。最後, 還要善於總結和回顧

        To Program is to understand.  最初在《The C++ Programming Language》序上見到這句話,只覺新奇, 現在覺得尤其深刻。軟體開發活動,歸根結底,考驗的就是一個人的理解能力和領悟能力。 是否能夠理解客戶和領導的意圖,同伴的想法和建議? 是否明白自己所要做的產品和正在做的事情? 是否能夠駕馭複雜的概念和系統?對於新技術的學習,如果一個人不能理解事物背後的概念,那麼,他即使懂得一些新技術的知識技能,也難以深入地掌握和應用。

        要想真正駕馭軟體開發活動,先過“理解”關。這也就是前一篇文章中談及的“加強心智訓練”的目的所在(實際上,身體鍛鍊、加強交流、擴大見識、瞭解計算機都非常有助於增強自己的理解力)。不要讓自己僅限於操作性的技能。