如何学习新的编程语言或框架
掌握语言,然后学习框架。
解决编码挑战。
尽可能多地使用 StackOverflow 和 Code Review。
阅读大量代码。
安装一个 linting 工具。
按照惯用方式编码。
建造一些东西!
不要放弃。
绝地提示:while(true) => study()
每天都有新的编程语言诞生。Dart、Go、Kotlin、Elixir 等等!突破学习曲线可能很困难,但有一些技巧可以帮助你顺利通过。
您可以采取一些步骤来加速学习过程并提高您对所学习的编程语言或框架的熟练程度。
掌握语言,然后学习框架。
有些人倾向于学习像 Ruby on Rails 这样的框架,却不了解这门语言,也就是 Ruby。这是一个很大的问题,尤其是在 Rails 上,它把 Ruby 当作一种 DSL(领域特定语言)来使用。
解决编码挑战。
有很多网站,比如 LeetCode、HackerRank 和 Project Euler,可以帮助你达到流利程度。你将学到更多关于语法、库和逻辑的知识。这也是准备面试的好方法。
尽可能多地使用 StackOverflow 和 Code Review。
当你开始解决编程难题时,你总会遇到各种问题。为了解决这些问题,你可以使用 StackOverflow,这是一个无需介绍的网站。
秘诀在于 Code Review,这是一个 StackExchange 社区,与 StackOverflow 是同一个网络。Code Review 的重点在于让你学习的语言的专家对你的代码进行评审。快来看看初学者专区,加入这个很棒的社区吧!
最近我在那里请求了代码审查,如果您想查看,请单击此处。
阅读大量代码。
GitHub 是克服学习曲线的必备工具。在那里,你可以找到你正在学习的语言的生产代码。如果你有信心做出贡献,那就更好了。
安装一个 linting 工具。
Linters 是一种代码分析工具,可以标记 bug、惯用语法错误、代码风格错误等等。Linting 工具会标记错误以便你修复,这正是你学习代码的地方。对于 Ruby,我使用 RuboCop 作为 Linter。
按照惯用方式编码。
我在学习 Python 的时候,把 C# 的知识迁移到了 Python。这的确是学习一门新编程语言的好方法,但还不足以达到流利的程度,因为你无法学习该语言惯用的编程方式。
为了说明,请看一下以下 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 方式(惯用 Python)相比:
def matrix_of_floats(matrix_of_anything):
return [[float(a_ij) for a_ij in a_i]
for a_i in matrix_of_anything]
要学习如何惯用地编写代码,您必须阅读大量专业人士编写的代码。
建造一些东西!
这个最好。学习编程语言的主要目的是用它来构建一些东西。我学习 Ruby 的时候,用 Rails 框架搭建了一个博客、一个待办事项应用、一个维基百科的克隆版,还有一个烂番茄评分的网站。
构建某些东西将会改善你学习的各个方面。
不要放弃。
克服学习曲线可能真的很难。你需要时间和专注才能达到目标。不要放弃,因为你可能比想象中更接近成功。如果你遇到困难,请寻求帮助。有很多资源可以参考。
绝地提示:while(true) => study()
我认识一位程序员,他学习 C# 已经 20 多年了,每天都在探索 C# 和 .NET 的新知识。他就是Antonio Maniero,StackOverflow 上葡萄牙语最有影响力的成员。
事实是:我们永远不可能学会一门语言的所有内容,而这正是让我们每天不断学习更多知识的原因。
你可以擅长某件事,成为其中的参考,但总会有更多的东西需要学习。
愿原力与你同在!留下评论,分享你学习新编程语言的其他技巧。
文章来源:https://dev.to/vinibrsl/how-to-learn-a-new-programming-language-or-framework-1af7