是否有人同时使用多种语言的提示?我每天都使用objective-c,c,perl,ruby,bash,ksh,rails和其他专有语言,并且发现每天在它们之间来回传递越来越困难。作为在perl和ruby之间切换的一个简单示例,我经常忘记在perl中使用分号,并发现自己使用$用于ruby中的本地变量。从objective-c到c,情况更糟:我在objective-c中使用函数调用(而不是meesage调用)。是否有人提出使用多种语言提高工作效率的技巧?
对于那些建议将IDE作为解决方案的人,虽然我原则上同意使用IDE来提高生产力。我倾向于在vi中完成所有编码
答案 0 :(得分:6)
一些提示:
慢下来!我们习惯于以开发者的速度疯狂工作。在语言之间切换需要一些更有意识的思考和关注。
使用好的IDE - 在您输入错误时显示错误。这将是一个温和的提醒,你错过了分号或省略'$'(在许多情况下)
我不时有同样的问题,但这两件事有帮助!
答案 1 :(得分:4)
根据我的个人经验,做这种任务和技术转换是非常可怕的,它完全搞砸了你的大脑,在一天结束时,你更像是一个卷心菜,而不是一个疲惫的程序员。不要这样做。如果你的公司强迫你开始寻找另一份工作,如果你是为自己做的话,如果你真的想要这样做再想一想。
答案 2 :(得分:2)
我几乎每天都使用Java,Python,C,C ++和PHP(!),并且还尝试学习更像Clojure和Perl的东西。最好的办法是使用一个好的,语言识别,语法高亮,自动编码编辑器/ IDE ,立即揭示琐碎的语法错误。它肯定有助于改变大脑的语言模式。
我认为能够用多种语言编码并不能与公共汽车,汽车,自行车或步行车一起移动。细节不同,但主要思路大致相同。
答案 3 :(得分:2)
人类记忆非常敏感。您可能需要考虑为每种语言使用一个编辑器,而不是使用一个涵盖所有语言的IDE /编辑器并帮助您进行错误检测和语法突出显示。我知道这听起来有点矫枉过正,它可能是,所以替换可能是切换语言时切换的编辑器的不同主题。作为一个激烈的例子,在为Python编程编写bash脚本和蓝色背景时,请考虑使用红色背景。通过类似的视觉线索,可以更容易区分您当前正在做的事情,并且在一段时间之后,这可能无需任何有意识的努力。
答案 4 :(得分:1)
虽然它在时间上变得更好,但是每天在许多语言之间进行这种切换的能力并不适合所有人。你应该尝试“聚类”你的工作,这样你就可以用一种语言完成你必须做的事情,然后再休息一下,继续下一步。如果您坚持下去,这将阻止您前后移动并制定一个更容易遵循的时间表。
答案 5 :(得分:1)
发出一个不那么抽象的建议:
Eclipse有很多插件,你可以让它做大多数人类已知的编程语言(可能还有一些不是)。然而,许多插件并不完美集成。一个人为它的创建公司烦人地充满广告,另一个是记忆猪...
对于那些没有听说过的人:IntelliJ IDEA已经(部分)开源了,根据我的经验,它非常擅长多语言。我在一年前看过一个演示,他们的一个开发人员用6种不同的语言构建了一个程序。一个玩具,是的,但IDE在语言识别语法突出显示,重构等方面做得很好。
它不会为您完成所有细节工作,但它可以帮助解决一些问题 - 而且质量很好。
答案 6 :(得分:1)
我的建议是让自己在切换语言之间休息15分钟。如果你不能在客户端/服务器应用程序之间切换,那么我会推荐双屏幕。左侧是单独的客户端,右侧是服务器。正如某人已经说过的那样,人类的思维是上下文敏感的。因此,你思考和分析事物的方式与它有很大关系。任何你可以分开不同情境的方法都有助于定期进行小调。
答案 7 :(得分:1)
我试过的事情的要点总结帮助了我:
个人经历的更多细节:
这样切换可能非常困难。我一直处于类似的情况 - 今年早些时候我正在使用PHP,IDL(交互式数据语言),JavaScript和一些Bash开发一个Web应用程序,然后在家里用Python做一些项目。我发现自己在从一个语言切换到另一个语法时会犯很多错误。
错误最常发生在工作中:例如当我一直在做IDL然后切换到PHP时,我会忘记在行尾的变量和分号前面加上美元符号。我家里似乎没有那么多问题;我相信这至少部分是因为在回家和开始我的Python工作之间总是需要几个小时,所以休息可能帮助我的大脑重新设置了我在工作中使用的语言。
有一点可以帮助我找到具有一定协同效应的语言:我发现我可以在Python和Java之间相对轻松地切换...是的,我更有可能在我的Java末尾忘记半冒号如果我一直在做Python,但这两种语言在我的大脑中很好地“同步”,所以切换并不像从Python到Perl那样困难。我还发现在Perl和amp;之间切换相对容易。 PHP。当然,YMMV,我希望不同的人会发现不同语言之间的协同作用。
此外,尽可能多地保持语言之间的一致编码风格可能会有所帮助。一个例子:多年来我在Java,C,Perl等的if,for等之后放了一个大括号。但是,在使用Python作为我的主要语言几年后,我发现我不再喜欢那种风格,并且已经切换到在行尾添加开口括号。对我而言,这有助于在各种语言中创建更一致的外观,我发现这有助于简化切换。再次YMMV。
答案 8 :(得分:0)
在我目前的工作中,我经常使用不同的语言,让我更轻松的关键是获得正确的工具。有一些非常好的通用编辑器,已经有很长的Syntax荧光笔,跳棋甚至自动完成列表。其中大部分都可以进一步定制。如果您将这些设置为识别文件扩展名,那么可以消除很多痛苦。
除了IDE之外,我通常使用这些,因为大多数IDE都不支持ksh或其他脚本,并且更难以自定义,因此使用其他工具设置可以轻松浏览。理想情况下,在Windows和nixes上运行一个
我已经使用这些已经有一段时间了
jEdit的
用nedit
emacs的
textpad