简评:新的语言层出不穷,Dart, Go, Kotlin, Elixir 等等。极光日报曾经分享过一篇文章 —— 不同编程语言的学习曲线。挑战学习曲线这事儿可能太难,但有些小技巧能帮助我们快速学习。原作者 Vinicius Brasil 分享了以下几点 ~
先掌握语言,再学习框架
有些朋友倾向于学习框架,比如 Ruby on Rails。框架很多,但都是在语言的基础上发展的,掌握了基础才能更快适应新的技术。
编程挑战
在 LeetCode,HackerRank 和 Project Euler 等网站上刷题,一方面提高自己的编程能力,一方面也为面试做了准备。
充分使用 Stack Overflow 和 Code Review
编程挑战遇到问题时,你可以使用 StackOverflow,这是一个不需要介绍的网站。同时呢,积极审查自己的代码并加以优化。
阅读大量代码
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_floatsPythonic 方式:
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