要学习新的编程语言,请重新开始

最初发布在 http://www.mberlove.com/blog/a-new-programming-language-starting-over/

程序员以其容易学习新技能的能力而感到自豪,他们依靠根深蒂固的概念和抽象的方法来以最小的难度找到一种新的工作方式。 在工具,语言或环境之间进行平滑切换是一种引以为傲的能力,但这并不总是那么有趣:即使对于那些喜欢学习新技能的人,以这种方式更改环境也会给生产力带来压力。

经过多年的学习,培训和工作,所有社区和背景的开发人员都倾向于使用理想的语言,独特的编码风格,个人工作习惯等,这不足为奇。这些偏好在日常工作中表现出来,并嵌入到代码的结构中。

也许这就是为什么要过渡到全新的系统会很困难的原因-不仅是获得新技能或学习使用其他工具;还包括 开发人员往往擅长于此。 相反,由于系统和过程的差异,它要求开发人员重新发明自己 。 无论是过渡到新工作还是只是改变一种更适合项目目标的语言和环境,学习用一种新语言表达自己的感觉就像是在漫长的休假后第一次锻炼:您还记得一切应该如何工作,但一切都变了。

我已经为这种过渡苦苦挣扎了很多次,而且总是有些痛苦—我认为我们永远都不会摆脱它。 但是随着时间的流逝,我发现有一些策略可以使您更快地启动并运行,并且减少挫败感。

1.至少在开始时,假装不知道如何编码。

您可能从我出生之前就一直在编写代码,但是您的新语言并不知道。 很容易假设您可以跳过基础知识,因为许多面向对象的语言在总体上都是相似的。 不要成为这个陷阱的牺牲品! 您可能是95%正确的人,但是错过了5%的人会在您不期望且负担不起的情况下使您陷入困境。处理您的表现。 阅读或听取针对假定的新鲜辅料的材料还将使您深入了解该语言及其用法所固有的细微差别和假设。

保持谦虚,从头开始。

2.阅读,阅读,阅读,阅读,阅读。

内化一种新语言的关键在于吸收其他人使用的范例。 尽可能多地使用新语言阅读代码,并将其分布在尽可能多的项目中,并尽可能多地查找。 小型项目,大型项目,专业代码,业余代码,自包含工具,模块化组件-除了极少数例外,您发现的所有内容都将增进您对人们如何使用这种新语言的理解。 不仅要了解语法,还要了解思维方式。 只要编写的代码本身可以识别错误并从错误中吸取教训,即使编写得不好的代码也很有用。

以这种方式并为此目的阅读代码非常类似于从小就开始阅读。 您知道英语的基础知识,每天在学校里学习拼写,语法和写作,但是真正使您流利的是接触各种写作,从报纸和杂志到小说,文学,论文,在线文章,以及介于两者之间的其他所有内容。 开始时获得的图像越大,您以后的情况就越好。 广泛的基础意味着您将拥有更多的材料,以此为基础为自己开发独特的习语。

3.最后,接受学习过程需要时间。

如果您在工作,则可以将时间从几个月缩短到大约一两个星期,但您需要让自己迷路一会儿。 在准备就绪之前强迫自己养成习惯只会抑制以后的成功。 让自己变得灵活,改变模式,直到找到可行的模式!