快速學習新技術的幾條建議
面對現在更新迅速的新技術,如何快速掌握,以滿足工作的需要,是大部分開發者所面臨的問題之一。它或許影響著你未來職業生涯的發展。 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)
相關文章
- 給計算機專業學生的幾條建議計算機
- Linux學習中我的10條建議和技巧Linux
- 如何快速的學習一項技術?
- 自學 JAVA 的幾點建議Java
- 學習 OpenStack 的新指南和教程的六個建議
- MySql資料庫最佳化的幾條核心建議MySql資料庫
- 特斯拉AI主管給你的33條深度學習訓練建議AI深度學習
- Java學習建議Java
- 給技術人員一些技術以外的建議
- 如何快速應用機器學習技術?機器學習
- MySQL不建議用UUID做innodb主鍵的幾條原因MySqlUI
- 跳槽的幾點建議
- web前端核心技術JS要怎麼學?給轉行或是自學的朋友提些學習建議Web前端JS
- 給新手學習MySQL的建議MySql
- 如何權衡實習轉正和秋招?我想給你這幾條建議
- 機器學習建議機器學習
- 零基礎快速學習Java技術的方法整理Java
- 學習建議,大資料元件那麼多,可以重點學習這幾個大資料元件
- [技術] CDM技術分析和產品選擇建議
- 怎樣學習一個新的架構技術架構
- 產品幾何技術規範 學習筆記筆記
- 如何以零基礎快速學習Linux運維技術?Linux技術Linux運維
- 學習Java程式設計的建議Java程式設計
- Java學習有什麼好的學習建議麼?Java
- Java學習從入門到精通的學習建議Java
- 痞子衡嵌入式:關於做技術的工作態度方面的幾點建議
- 怎麼樣才能快速學習人工智慧技術?人工智慧
- 前端學習有哪些建議?前端
- 怎樣才能快速學習Linux技術?高效學linux運維Linux運維
- 深度學習技術實踐與圖神經網路新技術深度學習神經網路
- 如何快速有效的學習 Python ?阿里高階開發工程師給出建議Python阿里工程師
- 避開NullPointerException的10條建議NullException
- 神器 Nginx 的學習手冊 ( 建議收藏 )Nginx
- 關於學習的一些建議
- 【Zigbee精華教程01】Zigbee無線組網技術入門建議與學習路線
- 不再碎片化學習,快速掌握 H5 直播技術H5
- 學習筆記:快速成長的幾點方法筆記
- 成都Java學習入門建議Java
- 程式碼簡潔的十條建議