如何将所有这些语言摆在脑海中


10

我知道Java,C#,C ++。我使用过Perl,并且正在使用Python和Actionscript 3。

当然,这是其他人所走过的道路,所以我想问您如何将所有这些语言摆在脑海中?


14
我不。我使用调试器;-)
PengOne 2011年

1
实践使完美。语言通常使用相同的计算机科学结构集,因此记住语法差异和功能部件很简单。

17
具有语法高亮显示的编辑器。继续编辑,直到颜色改变为止……
thorstenmüller2011年

2
我不。我使用谷歌。
乔布

1
@John,给我们提供一些示例,您可能会在各种语言之间混淆或忘记(内置方法名称?运算符优先级?库?成语?)。您多久切换一次语言(每月一次?每小时一次?)
smci 2011年

Answers:


15

您的大脑只记住它认为重要的内容,而对最近的内容则有很大的偏见。因此,只需旋转这些语言的宠物项目,您就可以了。就像口语一样,如果您做得更好,那就可以:尽早开始并保持活跃的使用状态。


8

我过去常常在墙上贴一张1页的铁路式语法图以及每种语言的快速参考,直到我的记忆力得到充分发挥。

对于我已经好几个月没有使用的任何编程语言,仍然必须这样做。


3
+1并非全部,“那么,如果您是一个真正的程序员,那么您就不会有任何问题。” 如果使用足够不同的语言进行编程,则必须使用语法参考。
Satanicpuppy 2011年

4
您能为C ++发布“ 1-sheet铁路样式语法图和快速参考”吗?我真的很想看到这样的野兽。
2011年

或者一个Perl。那将是一个景象。
毛哲豪2011年

如果您需要的内容超出一页所能容纳的范围,则可能不应该使用这些语言功能,直到您更好地记住该语言为止。
2011年

5

您是否查看过备忘单,以了解您经常使用的语言和库?我在这里碰壁,一对用于VIM,一个用于PL / SQL。这个网站:http : //devcheatsheet.com/似乎有很多备忘单。

我建议备忘单,因为大脑只能记住这么多。您每天使用的语言将变得很容易记住。语法以及某些特定的库,函数和框架,如果您经常使用它们,则无需在任何参考资料中查找任何内容。使用的东西越少,记住的难度就越大,尽管您通常只要稍加练习就能恢复以前的能力。这就是为什么我在墙上贴一些备忘单的原因:对于功能/特性,我经常使用的功能不足以快速记住。


3

人脑是一件了不起的事情。如果您对每个语言都学得足够好,那么您应该能够查看代码,识别语言并迅速提高速度。对我而言,这从来都不是问题...但是要恢复速度确实需要时间。


3

除了一些自动输入(例如,必须在Python或VB中取消行尾分号)之外,我几乎可以轻松地将语言分隔开。

我想对我最大的帮助是,每当我学习一门语言(编程语言或人类语言)时,我都会尝试并拥抱它所嵌入的文化和生态系统。我不仅在切换语言,还在切换思维方式(类似于流行的“戴X帽子”的隐喻)。


+1用于以下语言约定。用相同的样式编码每种语言可能很诱人,但这会使它对“本地人”看起来非常“陌生”。有一天,一个“本地”程序员将维护我们的代码。因此,我们必须以一种对他们来说自然的方式来编写它。
gMale

1
@gMale:这不仅仅是对他人友善的问题;充分利用一种语言的文化对于充分发挥其潜力也是必要的。一种文化围绕一种语言发展,因为某些方法最终会比其他方法更好地工作,并且在文化中得以巩固。通过学习这些内容,您可以从别人的错误中受益。
tdammers

1

您提到的所有语言都相对相似(即命令性)是有帮助的。

如果您只是学习使用这些语言,它们都是非常相似的。它们基本上都具有相同的功能,并且您所学的只是语法略有不同。

现在,当您开始学习用法(不仅仅是语法)时,它将变得更加困难。对于C ++程序员来说,像Java程序员一样学习使用Java并不是那么简单(语法很容易,用法成语很难)。

现在,如果您列出了不同的语言风格(声明性/功能性/逻辑性),那么我会更加同情。随着语言之间的转移,范式的完全转变变得更加困难。

但是使用语言是关键。如果您每天都使用某种语言,那么您将不会有任何问题。停止使用一种语言,它将消失(起初并不快)。但是该语言与您每天使用的语言距离越远,它消失的速度就越快。秘诀是继续练习您喜欢的语言(停止使用您不喜欢的语言会为其他内容腾出空间)。


1

这就是IDE的急救之道;-)所有这些语言的唯一变化就是拥有一个'if-then-else'或一个'if-else'。有些会有'(',有些则没有。就这么简单:)

我们只关心逻辑和最容易阅读的实现。


1

我不。我一直困惑他们,所以我制定了一套补偿行为和工具。

  • 我正在大型项目的代码库中工作,因此我将检查我周围的代码。
  • 我使用语法高亮显示编辑器(很快,Perl是否使用elsif,elif或if?否则,我不记得了,但是编辑器将使我步入正轨。)
  • 我使用语言习惯用语-如果我使用C#编码,则使用lambda,linq和var。这使得它看起来不像Java,而不是仅使用对象和类的情况。
  • 我为每种语言使用不同的环境:C#-> Visual Studio,Java-> Eclipse,Perl-> Vim。不同的视觉风格使我步入正轨。

0

一种方法是对您使用的每种语言使用不同的样式。用宽松的比喻,说西班牙语或法语,人们可能会试图模仿母语为母语的人。

我见过的人会为每种语言保持独特的支撑,缩进等,以帮助他们的大脑在彼此之间切换时正确地“换档”


0

认为它像音乐。您所学习的语言只是管弦乐队中的不同乐器,最终会产生相同的音符。记住如何弹奏乐器是需要练习的,但是最终您将可以拾起一阵没用过的乐器,就像魔术一样,音符就可以放到位。同样,随着您继续拓宽音乐(编程)知识,每次拾起新乐器并学习演奏变得越来越容易。

俗气的比喻,但归根结底,实践才是完美的。时不时地花一些时间在管弦乐队中的每种乐器上,以使演奏音符的能力不会减弱。


0

我主要是一名PHP开发人员。因此,请原谅我的偏见。

最近,我发现C代码与PHP有多么相似(或者反过来取决于您的感受;))

我的建议是坚持使用一系列语言(如果它们适用于您的工作或项目),并且随着您进一步发展技能,然后分支并学习新事物。


0

我主要使用javascript和HTML / CSS时,我也喜欢c ++,当我需要使用QT的一些帮助工具,并且使用VB和f#时,我知道这有点疯狂,但是当我觉得自己开始失去一种语言时特别是当它们具有不同的语法(VB和F#和c ++ / javascript)时,所以我让我的兄弟告诉他我要教他,然后我就从头开始编写示例,当我发现我不记得该怎么做时某事(一旦我忘记了如何在VB中执行ELSE的话),我只是用google搜索;


0

最近,我经常使用Google Codesearch。我去那里,键入一个正则表达式,以松散地描述我要执行的操作,并找到许多生产代码示例。当我忘记一种语言的语法时,这是获取答案的最快方法。

如果您对正则表达式感到满意,那么这种方法将变得更加强大。注意:这是刷新正则表达式技能的好资源


0

实际上:我不必为明确尝试在脑海中构建任何类型的结构而担心。

这与日常生活中的其他情况没有太大区别。我必须记住如何驾驶汽车,如何阅读书籍,如何打网球等等。只是相信您的大脑,不要在元层次上考虑太多。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.