学习一门新编程语言的坏习惯取决于现有熟悉的语言吗?

时间:2009-06-12 04:37:36

标签: programming-languages

我认为有些人在开始学习新的编程语言时会采用相同的方式。 (例如,开始学习Ruby,但已经使用C#多年了) 他们首先尝试使用不同的编程语言使结果相同。 比如在红宝石数组中创建循环与在C#中相同。

我真的想知道在学习新语言时考虑到这个想法是不是习惯?

我认为发现新语言的优点并不容易,因为它已经取决于我们已经知道的语言。

5 个答案:

答案 0 :(得分:2)

我认为,在首次学习一种新语言时,尝试将来自另一种语言的代码“音译”到这种新语言中是很常见的。首次开始时,您还没有完整的新语言模型可供使用,因此您需要利用现有知识并尝试将其用于新语言。

当然,通常这会导致新语言中的非惯用代码,并且通常不会很好地利用新语言来利用其独特的优势(并避免其独特的弱点)。因此,随着时间的推移,你需要放弃“尝试按照旧语言的方式去做”。这种方法是一个有用的第一步开始,但从长远来看会损害你。

我认为这有点类似于学习成人的新口语。首先,你要将你所听到的内容翻译成你的母语以便理解,但这种'翻译'会长期伤害你,并且通过练习和沉浸,你可以很好地学习新语言以跳过翻译'步骤,并使用和欣赏新语言的习语。

总而言之,我认为首次使用新语言时可以使用此策略,但越早放弃它就越好。

答案 1 :(得分:2)

“真正的程序员可以用任何语言编写FORTRAN程序”:)

是的,这可能被视为一种坏习惯,但不要担心这一点。这只是时间问题。关于自然语言也是如此:在你学习惯用语之前,你要从你的语言中“映射”构造,听起来有点奇怪。练习越多,你就越自然。

答案 2 :(得分:1)

我认为这不是一个坏习惯,而是当你还没有熟悉新的习语时,这就是你所做的。第1步是让代码以新语言运行,第2步是以“正确”的方式进行。

克服这个问题的关键是阅读你想要学习的语言的很多源代码,你将学习那里的习语,以及多年经验的人如何解决简单的问题。

答案 3 :(得分:0)

我在.net做爱好项目,并在办公室使用ASP。我在ASP中输入.net代码。

我做了一些php编程。我在办公室用ASP代码做同样的事情:添加';'最后。

答案 4 :(得分:0)

';'是切换到另一种语言时犯的最大错误。我在另一个晚上尝试了一点基本的F#,我正在放一个';'在几行之后,当Intellisense向我指出或者我注意到它不属于我时,每行都会回来。