快速學習新技術的幾條建議
面對現在更新迅速的新技術,如何快速掌握,以滿足工作的需要,是大部分開發者所面臨的問題之一。它或許影響著你未來職業生涯的發展。 Hanneli Tavante近日在Our Daily Codes網站上發表了一篇文章《Tips for learning a new programming language (when you already know one)》,正是針對該問題展開。開發者或許可以從該文中找到問題的解決之道。下面為該文的譯文。
當開發者們開始一個新專案,或者想轉變成一個新的團隊,往往需要學習新的語言、工具和框架。
我有一些同事,因不得不用他們不太瞭解的技術工作而備受煎熬。他們表示這樣做很沒安全感,也不可能掌握新工具的所有詳細資訊。經過多年的軟體開發,我所瞭解的重要一點是,你不需要100%的瞭解所有語言和框架。在小專案中,你可能會用到一些特殊的技術,而這些在你的一生中僅可能用這麼一兩次,你也不可能因為狂愛該技術而鑽研它的全部內容。所以在這種情況下,你只需要瞭解工作中所必須的那部分技術即可。
我並不是說你不需要深入瞭解任何技術。我認為你應該精通兩、三種語言,對其他語言基本掌握即可,尤其是你工作環境經常變化的情況下。當你不得不學習新的語言,以按時完成工作時,你首先需要開啟思維學習“基本的部分”,不要學習該技術的100%。你不需要成為所有技術的專家!而且,通常當你已經很好地掌握兩、三種語言後,就可以很容易掌握新語言的基本技術。
有些人曾問我:“有沒有快速學習新語言的方法?”。以我看來,並沒有萬能公式,但我通常會按以下簡單步驟來學習任何語言中的基本技術。
基本上,我首先要做得是安裝該語言所需的最簡單執行環境。例如,在Mac上用Ruby程式設計,我將下載安裝程式,並通過IRB在終端上使用Ruby。這是使用該語言的最簡單方法。下一步要做的是,編寫一些基本的程式——建立並列印變數、建立並呼叫函式。該過程上是十分重要,它們可以幫助你熟悉語言的結構。假如你所學的語言遵循面對物件(Object Oriented,OO)原則,接下來你可以採用以下步驟:
正如你所看見的,這些步驟運用到一些基本的物件導向原則——建立一個類、新增屬性與方法、建立物件。我們還可以利用TDD(測試驅動開發)對該過程進行改進——提前寫好測試程式碼可以幫助我們更快地學習和記住新的語言。所以有了下面的學習過程。
基本上,在應用OO技術之前,先寫測試程式碼,觀察未通過測試部分(紅色顯示),編寫最簡單的程式,觀察通過測試的部分(綠色顯示),在OO原則的基礎上對程式碼進行重構以獲得更完美的程式碼。
(注:我通常採用這樣的測試驅動開發原則:編寫測試程式碼—>觀察紅色顯示部分—>作出最簡單修改,使紅色部分轉變為綠色—>進行重構。)
接下來是學習類和物件之間的關係、繼承、多型性及其他OO原則。以我個人來言,上述步驟十分有效。當然,如果我使用某些函數語言程式設計語言,那針對OO的步驟也就無法使用了。此外,結對程式設計也不錯。當你正嘗試學習某種語言,找一個簡單的問題,如Fizz buzz,和一個對該語言有經驗的開發者通過結對程式設計實現它。
如果你確實喜歡某種新語言,那可以考慮繼續深入學習。如果並不喜歡它,至少你可以利用它完成工作。(編譯:陳秋歌 審校:夏夢竹)
原文連結:Tips for learning a new programming language (when you already know one)
相關文章
- 學習新技術的10個建議
- 給新晉技術團隊Leader的4條建議
- 怎樣快速學習一門新技術
- 給計算機專業學生的幾條建議計算機
- 諮詢顧問學習的幾點建議
- 新技術下的政府入口網站群建設建議網站
- 如何學習新技術
- 如何快速的學習一項技術?
- Linux學習中我的10條建議和技巧Linux
- 如何高效的學習掌握新技術
- 學習 OpenStack 的新指南和教程的六個建議
- 快速學習 Spring Boot 技術棧Spring Boot
- 給新程式設計師的10條建議程式設計師
- Java學習建議Java
- FLEX學習建議Flex
- 特斯拉AI主管給你的33條深度學習訓練建議AI深度學習
- MySql資料庫最佳化的幾條核心建議MySql資料庫
- 思考、學習新技術的原則和方式
- 給技術人員一些技術以外的建議
- 50條大牛C++程式設計開發學習建議C++程式設計
- Linux學習建議Linux
- 給新手學習MySQL的建議MySql
- 零基礎快速學習Java技術的方法整理Java
- 學習建議,大資料元件那麼多,可以重點學習這幾個大資料元件
- 學習網路新技術要心中有數--那一層的技術
- web前端核心技術JS要怎麼學?給轉行或是自學的朋友提些學習建議Web前端JS
- 怎樣學習一個新的架構技術架構
- [技術] CDM技術分析和產品選擇建議
- 學習ASM技術(四)--條帶化原理和rebalanceASM
- 蓋神(蓋國強)ORACLE學習之路及對DBA的幾點建議Oracle
- MySQL不建議用UUID做innodb主鍵的幾條原因MySqlUI
- 產品幾何技術規範 學習筆記筆記
- 學習Java程式設計的建議Java程式設計
- Oracle學習的一些建議Oracle
- 前端學習有哪些建議?前端
- Java學習有什麼好的學習建議麼?Java
- Java學習從入門到精通的學習建議Java
- 給參加校招的同學三點建議 | 掘金技術徵文