簡評:新的語言層出不窮,Dart, Go, Kotlin, Elixir 等等。極光日報曾經分享過一篇文章 —— 不同程式設計語言的學習曲線。挑戰學習曲線這事兒可能太難,但有些小技巧能幫助我們快速學習。原作者 Vinicius Brasil 分享了以下幾點 ~
- 先掌握語言,再學習架構
有些朋友傾向于學習架構,比如 Ruby on Rails。架構很多,但都是在語言的基礎上發展的,掌握了基礎才能更快适應新的技術。
- 程式設計挑戰
在 LeetCode,HackerRank 和 Project Euler 等網站上刷題,一方面提高自己的程式設計能力,一方面也為面試做了準備。
- 充分使用 Stack Overflow 和 Code Review
程式設計挑戰遇到問題時,你可以使用 ***,這是一個不需要介紹的網站。同時呢,積極審查自己的代碼并加以優化。
- 閱讀大量代碼
GitHub 是個好東西。從經典的代碼中學習代碼的規範與好的編碼習慣。例如 快排的三數中值法。
- 安裝合适的編譯器插件
Linters 是代碼分析工具,用于标記錯誤,你可以用它檢查自己的文法錯誤并加以分析。
- 知識遷移
學會對比不同的語言的代碼各自的特性,找出相同之處,提高自己的學習效率。
比如說這段 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]
- 實作一些東西
在功能實作的同時找到程式設計語言的樂趣,給程式設計語言找到具體的應用場景。
- 不要放棄
程式設計的學習是一個漫長的過程,程式設計的學習是無法窮盡的,我們要做的就是在學習的過程中找到我們的樂趣。
原文連結:How to Learn a New Programming Language or Framework