所以,您已经决定要为您的曲目添加特定的编程语言。 怎么办?
在本文中,我概述了12项研究技巧的建议。 请记住,每个人都学得不同。 其中一些技术可能会对您有效,而其他技术可能根本无法满足您的需求。 如果您开始感到陷入一种策略,请尝试另一种策略,看看它在哪里。
1.将它与类似语言进行比较。 当您第一次看到关于语言的第一个教程或在其中阅读代码时,请尝试猜测语言的每个部分将做什么并检查您是否正确。 如果记笔记有助于您综合信息,请抓一张纸并记下三个列表:
看起来很熟悉的东西,看起来像你期望的那样;
看起来很熟悉,却做出意想不到的事情;
以及看起来全新的事物。
例如,如果我使用来自Python和C背景的Rust代码进行此练习,我会在第一个列表中为范围添加花括号! (在第二个列表中看起来像boolean not ,但实际上是Rust中的宏定义),并在第三个列表上键入签名语法。
如果您持有初始列表的副本,一旦您更熟练,您可以使用它来反映您通过语言的进度,并提醒自己在尝试向其他人教授语言时,哪些概念似乎不熟悉。
2.阅读语言的官方文档。 如果您希望在开始使用之前吸收大量信息,那么您可能会从阅读语言的参考资料中受益。 不过,如果他们让你入睡,不要担心; 参考文档通常被编写为通过搜索而不是记忆。
3.搜索网络。 搜索网络是了解特定错误和一般最佳实践信息的好方法。 当您收到错误消息时,请搜索对此错误而言看起来很独特但对您的代码不唯一的部分错误消息。 例如,如果错误显示“第53行错误:无效参数异常”,则搜索语言名称和字符串“Invalid argument exception”以查找最佳结果。 请记住在错误消息中逐字记录的内容中包含引号。
您还可以在网上搜索有关解决语言中特定问题的最佳实践的博客文章。 在评估搜索结果中出现的博客文章的质量时,请在决定如何认真听取他们的建议时查看作者的公共代码组合以及帖子上的日期。
4.与社区互动以获得支持。 虽然博客文章和新闻文章有很多通用的信息,但您尝试编写的特定代码片段总是存在细微之处。 不要害怕发帖到邮件列表或加入IRC或懒散的频道寻求帮助。
要提出有助于回复的问题,请确保在正确的位置提出要求。 许多语言都有“初学者”邮件列表或聊天频道,专门针对可能经常被问到的问题。 当你提出一个问题时,一定要总结一下你正在尝试做什么,你尝试过什么,以及发生了什么。 尝试为专家提供足够的上下文来理解您的问题,而无需相关的细节。 提出问题后,请务必坚持一段时间,听取建议或回答您的查询可能产生的后续问题。
5.写玩具程序。 为了一次练习一个新概念,很少有任务能够打造一个仅使用该概念的玩具程序。 您可以专注于使代码尽可能干净和惯用。 如果您将Project Euler或Rosetta Code拼图解决为玩具程序,您通常可以将您的解决方案与其他人针对相同语言的同一问题进行比较。
6.用该语言编写生产就绪代码。 虽然玩具程序是第一步,但在更现实的环境中使用语言可以帮助您探索其现实生活中的优势和挑战。 考虑将熟悉的,相对较小的,经过良好测试的程序移植到您的新语言中,以探索其在现实生活中的应用。
7.阅读一本关于语言的书。 如果有几本书可用,请比较他们的评论,并考虑哪个作者的背景与您自己的背景最相似。 许多电子书都可以在线免费获得。
在购买有关某种语言的书籍之前,请检查它的发布日期以及其示例所涵盖的语言版本。 如果您使用的是旧书,请务必尝试使用它所假定的语言版本的示例。 在线研究,了解自该书出版以来语言的变化。
8.观看讲座和课程。 如果您的语言是在在线课程中讲授的,则视频可能是公开的。 除了学术讲座之外,还可以考虑寻找有关语言的录制研讨会,会议讲座和播客。 当你只是在看电视时谈论你的新语言是学习日常生活的好方法。
9.阅读示例代码。 大多数关于编程语言的书籍都包含代码片段。 您还可以在博客和Rosetta Code中找到示例代码。 运行代码示例,修改它们,并尝试预测修改将导致的行为。
10.阅读生产代码。 在您的语言中查找各种形状和大小的项目的一种方法是在GitHub上搜索它。 按最分叉或最多星级的回购排序,您的前几个点击将包括该语言最受欢迎的开源工具。 如果您正在尝试了解开源项目的设计,那么通过邮件列表或IRC与社区进行互动会很有帮助。 而你甚至可能会发现一些错误。
11.找到好的工具。 在使用新语言时,请向更有经验的用户询问他们的开发环境。 您可能会发现,一个特定的文本编辑器或IDE对新语言的支持通常比您习惯使用的语言更好。 研究在新语言的生态系统中管理依赖关系,格式化,模糊测试和单元测试代码的选项。
12.保持你的热情。 开始使用新语言很容易,但要真正精通它通常需要花费数年的时间。 在此过程中庆祝您的成功,并与追随您的脚步的学习者分享您学到的知识,以保持学习编程的爱好变成一件苦差事。