为什么我不能同时保留2种语言?

maf*_*afu 7 programming-languages

在家里,我正在开发一个用Java编写的大型个人项目.我最近找到了C#开发人员的工作.

经过8个小时的工作日阅读C#代码后,我发现很难在家里切换回Java.实际上,自从我受雇以来,我的家庭项目几乎完全停滞不前.

起初我以为我必须等待休假才能真正切换回Java,但即使在大脑上没有C#一周之后,我也无法再次进入Java风格.我不想承认我的家庭项目已经死亡,但我无法真正看到克服这个问题的方法.

har*_*ott 11

如果它那么糟糕,你能在C#中再次启动项目吗?它可能比等待你的java气氛更快回来.它应该比从头开始更快,因为你已经编写了逻辑和域,所以你可以翻译并输入你的方式.


Dav*_*d M 9

  1. 在两者中使用一个好的(和可比较的)IDE.我在C#和Java之间切换,找到Visual Studio与JetBrains ReSharper for C#和IntelliJ Idea for Java的组合使这简单明了.

  2. 庆祝差异 - 我发现C#中的一个咒语有助于我的Java,反之亦然.例如,集合框架的差异只会帮助您更深入地理解每种语言的实现.

  3. 根据您的优势使用相似之处.从语法上讲,差异并不大.您应该编写代码,而不是编写C#或编写Java.正如史蒂夫·麦康奈尔会说的那样,"码的语言,而不是语言"(或类似的东西-觉得它的代码完成).

事实上,如果你还没有阅读Code Complete,那就是在语言之间进行翻译的良好培训.


Aid*_*ell 7

我想你可以把这称为恢复习惯时间.

它有助于推广:编程逻辑知识 + 语法和API =语言知识......因为......

人类是习惯的生物,基于我们最常执行的环境和任务,建立有效的工作方法,记忆和心理.这是一件好事.

我最近花了很多时间用Python编程,经过很长一段时间几乎100%的C.我非常轻松地选择了Python,现在又回到了C.令我惊讶的是,我认为我会遇到的问题(缺少分号,随意的缩进冲动)并不存在.

我的结论是因为:

  1. 当我编写Python时,我经常(每天)查看其他项目的C源代码,以便记住那些我没有记录得太好的项目.因为我的C项目适合Python的东西.
  2. 我总是在看一些Python的C实现

我想诀窍是将新技能与旧技能联系起来,这样当你在新技能组中执行任务时,你的大脑仍在思考旧技能及其相关性.很多理论认为学习是基于你心中的这种关系基础,而了解它可以帮助你减少学习曲线和恢复时间.

可以把它想象成一个关系数据库.当您执行新操作时,请创建一个forign键并将其标准化.不要创建一个全新的表或数据库.

学习编程逻辑概括,并以语言之间的变化为基础进行构建.您将学习/切换更快.

抱歉,糟糕的RDBMS类比


PTB*_*BNL 5

首先,如果您使用任何语言进行8小时的编程,那么可能无法将语言切换为只需要打破编程.我只能为自己说话,而且我知道有些人可能会有其他感觉,但是经过整整一天的工作后,我经常需要休息一下.

目前我更喜欢使用Python编程,但我的工作要求我做shell脚本,Java,JavaScript,PHP和IDL(这是交互式数据语言,而不是接口描述语言).所以,我尝试在家里做一些Python,以防止这些技能萎缩.我发现的(除了经常需要休息时,如上所述)是当我第一次从一个切换到另一个时,我的语言很混乱.在这一点上很容易放弃,但我发现随着我在精神上更深入地使用给定语言进行编程,我会从语言混乱中减少错误.所以,也许如果你能够超越第一次不愿意使用Java,你就会获得成功.YMMV,当然,祝你好运!


Lar*_*abe 5

这是因为心理学中的某些东西被称为干扰效应,或Stroop效应.这两项任务密切相关(编程),因此一种语言带入你脑海中的知识会干扰另一种语言带入你脑海中的知识.

这是一个简单任务的可爱示例,由于这种效果很难做到:

http://www.apa.org/science/stroop.html