12 个学习新的编程语言的方法

程序员是一个需要不断学习更新的职业。如果,你决定要为你的 “技能树” 再添加一门特定的编程语言。那该怎么办呢?

在这篇文章中,老九君给小伙伴们整理了 12 项关于学习技术的建议。记住每个人学习的方式都不一样,其中一些可能对你十分有用,而其他的则可能无法满足你的需求。如果你开始担心一个策略,请尝试另一个策略并看看它哪里适合你。

1

将其与类似的语言进行比较

当你首次观看有关该语言的第一个教程或阅读代码时,请尝试猜测该语言的每个部分将会做什么,并检查你的判断是否正确。 如果记笔记可以帮助你整合信息,请拿起一张纸并记下三个列表:

  • 看起来很熟悉的东西,并且做了预期中的事
  • 看起来很熟悉的东西,但做了意料之外的事
  • 看起来完全是新的东西

例如,如果老九君要用来自 Python 和 C 背景的 Rust 代码进行此练习,那么在第一个列表中,我会放上用于表示范围的花括号(看起来像是布尔类型的非,但实际上是 Rust 中的宏定义),则放在第二个列表,类型签名语法(type signature syntax)放在第三个列表。

如果你保留着初始列表的副本,一旦你更熟练,可使用它通过语言反思你的进展,并提醒自己在尝试向其他人讲授该语言时,有哪些看起来不熟悉的概念。

2

阅读语言的官方文档

如果希望在使用之前吸收大量信息,从阅读语言的参考资料中可能会受益。不用担心它们会对你催眠,参考文献通常是用于查找使用,而不是用来记忆。

3

使用互联网搜索

网络搜索是一个很好的方式,可提供有关特定错误和一般最佳做法的信息。当收到错误信息时,应搜索信息中看起来是错误的独一无二的部分,但不是代码唯一的部分。

例如,如果错误提示 "Error on line 53: Invalid argument exception(错误在第 53 行:无效的参数异常)",以语言名称和字符串 “Invalid argument exception” 这样的组合搜索,以找到最佳的结果。记住要将错误信息中的所有引用内容都包含在内。

还可以在网络中搜索有关解决语言中特定问题的最佳做法的博文。评估搜索结果中显示的博客帖子的质量和决定认真采用他们的建议时,请查看作者的公共代码组合以及发布日期。

4

与社区接触

虽然博客和新闻文章具有大量有用的信息,但是你尝试编写的特定代码片段总会有些微妙之处。不要害怕在邮件列表中发帖以寻求帮助。

当提出问题时,请务必先总结准备做什么、已做过的东西以及发生的情况。尽量为专家提供足够的上下文来了解问题,但不需要无关紧要的细节。提出问题后,请务必坚持一段时间来听取建议或会回答你的疑问可能产生的后续问题。

5

编写玩具程序

一次练习一个新的概念,很少有任务可打败只使用某个概念的玩具程序。你可以将重点放在尽可能让你的代码清洁和惯用性上。如果你将解决 Project EulerRosetta Code puzzle 作为玩具程序,则可以将你的解决方案与其他使用相同语言编写的解决方案进行比较。

6

使用该语言编写 “生产就绪(Production-Ready)” 的代码

玩具程序是一个很好的第一步,但在更逼真的的环境中使用一门语言可帮助探索其现实使用中的优势和挑战。考虑将一个熟悉的、相对较小的、经过良好测试的程序移植到新的语言,以探索其在现实使用的应用。

7

阅读一本关于这门语言的书籍

如果有好几本有用的书,比较它们的评论,并考虑哪位作者的背景和自己的最相似。现在有很多电子书可以免费在线阅读。

在购买有关该语言的书籍之前,请先查看书籍出版的日期以及其示例所涵盖的语言版本。如果使用的是较旧的书籍,请务必使用其所使用的语言版本的示例。还要在网上调查一下,以了解自出版以来语言发生了怎样的变化。

8

观看讲座和课程

如果你学习的语言在在线课堂中有讲授,那么视频应该是公开的。除了学术讲座之外,还可以考虑寻找录制讲座、会议谈话和有关该语言的博客。当在看视频时,谈谈你的新语言是一个将学习融入日常生活很好的方式。

9

阅读示例代码

大多数关于编程语言的书籍都会包含代码片段。你也可以在博客和 Rosetta Code 上找到示例代码。运行示例代码、修改它们,并尝试预测修改后会发生那些情况。

10

阅读生产代码

查找有关该语言所有类型和大小的项目的一种方法是在 GitHub 上搜索它。按最受欢迎或最具影响力进行排序,你的热门搜索将包括最受欢迎的开源工具。如果想要了解开源项目的设计,可通过邮件列表或 IRC 来与社区进行互动。你甚至可能会发现一些 bug。

11

寻找好的工具

当使用新的语言时,可向其更有经验的用户请教,询问他们的开发环境。你可能会发现,一个特定的文本编辑器或 IDE 对于新语言的支持比你习惯通常使用的要好。调查在新语言生态系统中管理依赖关系、格式化、模糊化和单元测试代码的选项。

12

保持你的热情

入门新的语言很容易,但变得真正精通它通常是一个需要多年的旅程。庆祝一路上你的成功,并与追随你脚步的学习者分享你所学到的知识,保持着学习编程的兴趣。

原文发布于微信公众号 - 老九学堂(xuetang9)

原文发表时间:2017-04-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器学习算法与Python学习

Python是如何怼翻其他编程语言而窜上宝座的

来PK啊! 谁怕谁啊! 在过去的两年间,Python一路高歌猛进,成功窜上“最火编程语言”的宝座。 ? 更可怕的是,这把火不仅仅是在程序员的圈子里越烧越旺,甚至...

3098
来自专栏程序员互动联盟

【编程技巧】如何学习一门编程语言

如果你有兴趣创建电脑程序,手机app,网站,游戏或者其他的软件,那么你应该很想学习怎么去创建它。程序是通过编程语言创建的,编程语言可以让程序运行与某个机器上,可...

3306
来自专栏BestSDK

看完Python 简史,你就知道他为啥这么火了

Python 的起源 Python的作者,Guido von Rossum,确实是荷兰人。1982年,Guido从阿姆斯特丹大学(University of A...

36210
来自专栏PPV课数据科学社区

【译文】用R创建云词

在这篇文章中,我会向大家展示如何利用文本数据在R中建立云词。我们会使用一个包含20万个问题的数据集,而这数据集可以在这里下载(感谢reddit网站的用户trex...

2543
来自专栏CDA数据分析师

Python编程语言发展简史

Python是我喜欢的语言,简洁、优美、易用。前两天,我很激昂地向朋友宣传Python的好处。 “好吧,我承认Python不错,但它为什么叫Python呢?” ...

1646
来自专栏Albert陈凯

Hadoop离线数据分析平台实战——360地域信息分析Hadoop离线数据分析平台实战——360地域信息分析

Hadoop离线数据分析平台实战——360地域信息分析 项目进度 模块名称 完成情况 用户基本信息分析(MR)� 完成 浏览器信息分析(MR)...

3479
来自专栏Java学习网

成为一名更好的程序员:如何阅读源代码

成为一名更好的程序员:如何阅读源代码 阅读源代码有许多益处。你会发现新的架构(construct)和库,与其他的代码维护者产生共鸣,但最重要的是学会如何组织代码...

2187
来自专栏Python小屋

Python标准库zlib提供的数据压缩功能

Python标准库zlib中提供的compress()和decompress()函数可以用于数据的压缩和解压缩,在压缩数据之前需要先想办法编码为字节串。 >>>...

2654
来自专栏程序员互动联盟

如何深入学习C语言?

疑惑一 遇见编译错误了咋办? 经常见有小伙伴,呼呼的把一大段的编译错误呈现在群里,然后问这是啥原因,其实解决编译的办法还是挺多,现在重点说下编译错误是怎么出来的...

2985
来自专栏企鹅号快讯

学习新的编程语言的12个方法

来自:开源中国 链接:https://my.oschina.net/editorial-story/blog/882272 原文:https://opensou...

1838

扫描关注云+社区