我应该为小任务选择脚本或编译代码吗?

时间:2008-09-10 17:02:04

标签: testing scripting

我是一名Java程序员,我喜欢我的编译器,静态分析工具和单元测试框架作为工具,可以帮助我快速提供强大而高效的代码。 JRE几乎无处不在。

鉴于这种情况,我无法看到为什么我会选择使用shell脚本,vb脚本等等,无论我穿着我的其他帽子如我的酷黑色系统管理员fedora,我的任务有多小。

我不经常戴其他帽子,在什么情况下我应该选择编写代码编写脚本?

11 个答案:

答案 0 :(得分:2)

如果您对Java感到满意,并且JRE无处不在,那么我会说继续使用它。然而,像perl和python这样的语言特别适合快速解决问题。我建议学习perl或python,然后判断何时使用它。

答案 1 :(得分:2)

如果我有一个小问题,我想快速解决,我倾向于使用脚本语言。代码税较小,至少对我来说,结果更快。

答案 2 :(得分:2)

无论你认为什么对你最有效!

我有一个同事,似乎每个任务都使用不同的语言; Perl用于快速文本处理,PHP用于小型内部Web应用程序,.NET用于我们的主要产品,cygwin用于文件系统。他倾向于使用对手头任务最具体的技术。

就个人而言,我发现技术之间的上下文切换是痛苦的。我的日常工作是在.NET中,因此这几乎就是我所认为的术语。对于大多数任务,我发现使用SnippetCompiler在C#中使用它比在PowerShell或脚本环境中破解更有效率

答案 3 :(得分:1)

我会说哪里有道理。如果打开IDE需要更长的时间,那么编译脚本等等比编辑脚本文件要好,而不是使用脚本文件。如果你不经常改变这个东西并且更快地进行Java编码,那就去那条路:)

答案 4 :(得分:1)

编写脚本通常比编译程序更快。您不必太担心不同平台和环境之间的可移植性。在大多数平台上,shell脚本几乎可以运行。因为你是一个java开发人员而且你提到你在任何地方都有java,你可能会看到groovy(http://groovy.codehaus.org/)。它是一种用java编写的脚本语言,能够使用java库。

答案 5 :(得分:1)

我看到的方式(其他人不同意)所有代码都需要维护。最小的有用代码集合是单个人维护的代码集合。即使这样也可以从您提到的语言和工具中获益。

然而,显然可能存在专业语言比单一通用语言更有优势的任务。

答案 6 :(得分:1)

如果你能用Java快速写出来,那就去吧。

尝试并了解各种脚本语言可以做什么。

e.g。当你使用bash one-liner进行同样的操作时,不要制作一个完整的Java应用程序。

答案 7 :(得分:0)

重视该工具的重要性,以防止弹出文本编辑器进行快速编辑,而不是打开IDE,重新编译,重新部署等。

答案 8 :(得分:0)

当然,主要指令应该是“使用你感到满意的任何东西”。如果Java正确地按时完成工作,请坚持下去。但是很多脚本语言可以节省你一些时间,因为它们适应了不同的问题。如果您使用正则表达式,那么脚本语言非常适合。如果您正在使用shell命令,脚本很不错。

每当我写一些小的东西时,我倾向于使用Ruby脚本,因为它编写起来快,易于维护,并且(使用Gems)很容易在不需要使用JAR或任何东西的情况下使用其他功能。当然,你的milage会有所不同。

答案 9 :(得分:0)

在一天结束时,这是一个只有你自己才能回答的问题。基于你说“我看不出我之所以选择使用shell脚本的原因......”这一事实,那么你可能永远不应该选择它。

但如果我是你,我会选择像python,ruby或perl这样的脚本语言,并开始尝试用这种语言来解决这些小问题。随着时间的推移,您将开始感觉何时编写快速脚本比构建完整的解决方案更合适。

答案 10 :(得分:0)

我使用脚本语言来编写程序,这些程序预计不会被执行,只能执行少量执行。这些语言中的大多数都是关于样板语法的,并且有一个REPL。这两个功能都可以实现快速原型设计。

由于您已经了解Java,因此可以尝试使用Groovy,JRuby,BeanShell等JVM语言.Scala的语法比Java轻得多,有一个REPL,是静态类型的并且在JVM上运行 - 你可以尝试一下好。