天天看點

如何學習一門新語言或架構

簡評:新的語言層出不窮,Dart, Go, Kotlin, Elixir 等等。極光日報曾經分享過一篇文章 —— 不同程式設計語言的學習曲線。挑戰學習曲線這事兒可能太難,但有些小技巧能幫助我們快速學習。原作者 Vinicius Brasil 分享了以下幾點 ~
  1. 先掌握語言,再學習架構

有些朋友傾向于學習架構,比如 Ruby on Rails。架構很多,但都是在語言的基礎上發展的,掌握了基礎才能更快适應新的技術。

  1. 程式設計挑戰

在 LeetCode,HackerRank 和 Project Euler 等網站上刷題,一方面提高自己的程式設計能力,一方面也為面試做了準備。

  1. 充分使用 Stack Overflow 和 Code Review

程式設計挑戰遇到問題時,你可以使用 ***,這是一個不需要介紹的網站。同時呢,積極審查自己的代碼并加以優化。

  1. 閱讀大量代碼

GitHub 是個好東西。從經典的代碼中學習代碼的規範與好的編碼習慣。例如 快排的三數中值法。

  1. 安裝合适的編譯器插件

Linters 是代碼分析工具,用于标記錯誤,你可以用它檢查自己的文法錯誤并加以分析。

  1. 知識遷移

學會對比不同的語言的代碼各自的特性,找出相同之處,提高自己的學習效率。

比如說這段 Python 代碼:

def matrix_of_floats(matrix_of_anything):
 n = len(matrix_of_anything)
 n_i = len(matrix_of_anything[0])
 new_matrix_of_floats = []
 for i in xrange(0, n):
 row = []
 for j in xrange(0, n_i):
 row.append(float(matrix_of_anything[i][j]))
 new_matrix_of_floats.append(row)
 return new_matrix_of_floats           

Pythonic 方式:

def matrix_of_floats(matrix_of_anything):
 return [[float(a_ij) for a_ij in a_i] 
 for a_i in matrix_of_anything]           
  1. 實作一些東西

在功能實作的同時找到程式設計語言的樂趣,給程式設計語言找到具體的應用場景。

  1. 不要放棄

程式設計的學習是一個漫長的過程,程式設計的學習是無法窮盡的,我們要做的就是在學習的過程中找到我們的樂趣。

原文連結:How to Learn a New Programming Language or Framework