无论您是第一次学习编程,还是学习您的第 50 种语言,您都可能会问:“学习编程的最佳方法是什么?” 我调查了数十位自学 Rust 编程的人,作为我在 2016 年 OSCON 演讲 的一部分,并询问了这些自学成才的专家,他们会给其他人什么建议来学习一门新语言。 我发现,尽管他们的背景各不相同,但我的所有受访者都分享了构建新编程技能的五种通用方法。
1. 通过实践学习。
预测代码运行时会发生什么,或许是编程的本质。找出修改一段代码后会发生什么的最佳方法是在更改前后运行它,并比较结果。
通过实践学习也将帮助您磨练故障排除技能。如果您能够在教程的每个步骤中运行您正在学习的代码,您可以轻松猜测修改将如何改变其行为,然后检查您的猜测是否正确。预测语言的行为是编程的本质:您决定希望程序做什么,编写您预测会产生该结果的代码,然后运行它以查看您是否正确。
2. 坚持练习。
您已经知道,频繁练习对于培养任何新技能至关重要。但是您是否知道,如果您学习的新事物涉及软件,则这一点更为重要?由于编程语言及其周围的工具在不断改进,因此您的学习时间的一部分将用于简单地跟上您的新语言和生态系统的新闻和发展。
此外,坚持练习,在您确信掌握其基本概念之前,仅使用新语言的单个主要版本。随着新语言功能的添加,完成给定任务的最佳实践通常会发生变化。这意味着,如果您在语言的不同主要版本之间跳转,您将不得不处理关于何时使用该语言的各种功能的相互矛盾的建议,以及尝试学习它们!虽然即使您首先学习了语言及其工具的许多不同版本,最终也肯定有可能精通该语言,但增加的复杂性会减慢您的进度。
3. 从基础开始。
让孩子在学会平衡自行车之前尝试骑摩托车,只会让他们注定失败。同样,跳入需要您尚未掌握的技能的任务是让自己在新语言中获得极其沮丧体验的好方法。
如果您正在从书本或教程中学习,请选择适合或低于您自己经验水平的学生的书本或教程。当您是编程新手时,新材料的数量似乎令人难以承受。但是学习后续语言会更简单,因为您已经理解了变量赋值、比较和控制流等基本概念。
在您尝试从头开始编写整个应用程序之前,首先从基础知识开始,熟悉该语言、其包管理器以及您需要的编辑器插件和测试工具。
4. 尊重语言的差异。
许多语言都有人们在其中编码的惯用模式。虽然将旧语言的习惯用法强加到新语言的代码中是可能的,但您应该尝试学习更灵活的编码风格。用新语言的“本质”编写代码将使其他人更容易阅读、评论和帮助您改进。
您可以通过阅读用新语言编写的流行的开源代码来学习新语言的习惯用法,并通过阅读专家的博客文章和文章来探索它们的哲学。随着您的进步,考虑请更专业的程序员审查您的代码,并提供关于代码可读性的反馈。
如果您对新语言的独特功能或习惯用法感到困惑,请不要害怕提问。通过尊重和不带评判地提问,您将获得最佳答案。“我是这门语言的新手,我注意到似乎每个人都做 X 而不是 Y。我在哪里可以了解这种模式背后的故事?” 可能会让您得到一个引人入胜的历史轶事,而“X 没有意义,您应该做 Y”可能会引起同样不宽容的回应。
5. 构建您喜爱的东西。
您不必像书本或教程一样构建相同的玩具项目,仅仅因为专家建议这样做。如果您只是为了学习一门语言而构建一些代码,它可以是任何东西。选择一个您感兴趣和愉悦的项目可以帮助激励您花更多时间学习,想象和提出更好的问题,并在遇到挑战时不断前进。
您对学习新语言的成功还有其他建议吗?请在评论中告诉我们。
2 条评论