Programming languages 你用什么过程来学习一种新的编程语言?

Programming languages 你用什么过程来学习一种新的编程语言?,programming-languages,methodology,Programming Languages,Methodology,这个问题是为有经验的程序员准备的。当你学习一门你想学的新语言时,你是否有一套程序可以遵循 我希望我有一个有效的方法或一个待办事项清单,我可以遵循,使学习过程更加精简 你喜欢独自学习还是和朋友一起学习?有没有什么地方可以让你轻松获得新语言的语法?你是否制作了一份特别的备忘单,在上面你可以快速地写下控制结构和重要的关键词 你有什么特别的记忆吗 你确定要学习什么样的图书馆?你是如何知道你已经学会了一些东西的?在什么时候你感觉自己好像懂这门语言 每当我开始学习一门新语言时,我都会浪费大量的时间在书中摸索

这个问题是为有经验的程序员准备的。当你学习一门你想学的新语言时,你是否有一套程序可以遵循

我希望我有一个有效的方法或一个待办事项清单,我可以遵循,使学习过程更加精简

你喜欢独自学习还是和朋友一起学习?有没有什么地方可以让你轻松获得新语言的语法?你是否制作了一份特别的备忘单,在上面你可以快速地写下控制结构和重要的关键词

你有什么特别的记忆吗

你确定要学习什么样的图书馆?你是如何知道你已经学会了一些东西的?在什么时候你感觉自己好像懂这门语言


每当我开始学习一门新语言时,我都会浪费大量的时间在书中摸索,这些书有一半是给初学者看的,从来没有给有经验的开发人员看

我读了一本很好的手册,并将其与我已经知道的语言进行了比较。所以我只是了解了它们之间的区别。

就我个人而言,我发现我需要一个实质性的项目来用一种新的有趣的语言实现。你可以阅读一本书,熟悉语法,接触有趣的功能,但没有什么能像项目一样让你用一种新语言思考。

学习一种新语言的一种非常流行的方法是为自己创建一个简单的项目,并用新的目标语言实现它

我会创建一些我以前已经做过的东西,这样我可以专注于语言本身,而不是设计或项目主题。
我也会花一些时间去寻找(这个地方是一个很好的起点;-)和阅读一本关于语言的好书


对于其他人来说,这是一种练习(就像所有的事情一样,不是吗)。

我并不仅仅是为了学习一门新的语言。我找到了一个需要(或者非常适合)新语言的项目,并开始编码

资源取决于语言,但在线教程或一本好的“学习语言”书籍都非常有用。我不想记住任何东西,只是把文档放在身边,搜索我需要编写的每一段代码的解决方案。算法在不同语言之间变化不大,所以大多数情况下只是查找我需要的特定结构的语法


而且,我可能永远也不知道一门语言的一切。我只是不断地查阅文档中我需要的东西,最终我不需要再去查阅大部分东西了。然而,即使是在我多年来每天使用的语言上,仍然有一些东西我必须偶尔查阅,因为我以前从未使用过它们。

我会阅读一些关于语言大概念的常见问题解答/书籍

然后我会尝试在我已经知道的语言之间进行比较,以避免在langage X中应用langage Y中使用的概念。每种语言作为完成事情的方式,即使乍一看它们看起来很相似,也不应该混合使用

这将是第一步


在更长的时间里,我会在一个论坛上关注这个语言的部分。我会在这几天里阅读许多帖子的答案,以便掌握高级概念、技巧和最常用的文库。这也有助于我注意到当我开始流利地使用语言时:当你开始能够回答特定语言上的许多随机问题时,这意味着你在这方面做得相当好。

编程的基础只需要很少的结构-一个好的程序员将能够用很少的时间编写出伟大的代码可用语言功能的一小部分

一本书通常是学习一门新语言的基础知识并获得概述的好方法,这样你就可以知道该语言的哪些方面在以后需要时可以帮助你,但是最好的方法是编写程序来完成你需要做的事情,并边做边学习你需要知道的内容


最棒的是,当你想做一些新的事情时,你知道该去哪里找,而且你做得很好,但你不必费心去学习那些你永远不会真正使用的垃圾。

我通常从一些基本程序开始。通常是我正在阅读的书中的样本,然后稍微修改它们,使其更加复杂,并使粗糙的边缘变圆

在那之后,我开始着手解决问题。这是适应新语言和基本结构的好方法。

这是一个疯狂的冲刺

首先,我必须确保我知道如何用“旧”的方式做事,也就是说我在其他语言中习惯的方式


但我不想陷入(例如)像编写C代码一样编写Python代码的陷阱,因此我阅读了新语言提供给我的、更熟悉的语言所没有的所有内容。

以下是我通常的做法:

  • 阅读以熟悉新知识 语言语法
  • 查找现有的开源项目 我对……感兴趣
  • 将其移植到新语言
  • 必要时重复上述步骤

我通常安装运行时。 然后我在编译器或解释器的命令行中运行一些常用命令。 我在网上寻找论坛,以了解其他人对此的看法。 然后研究如何在java中使用外部参数,如psvm(String[]args)。
总而言之,由于我在solaris系统管理员的背景,我一直对命令行上的语言power感兴趣。

我假设您学习了一种新的支持OOP的高级编程语言。这样的语言的例子是:java、Typescript、Perl、C++、C++等。你也是一个有经验的程序员,所以你已经知道了其他面向对象语言。 我希望我有一个有效的方法或一个待办事项清单,我可以遵循,使学习过程更加精简

您应该创建一个包含以下内容的项目