我在微软的环境中工作,所以我可以在我遇到的任何指甲上使用我的C#锤子.话虽这么说,什么语言(编译,解释,脚本,功能,任何类型!)补充知道C#,以及用于什么目的?例如,我已将许多脚本功能从已编译的控制台应用程序转移到Powershell脚本中.如果你是一名MS开发人员,你是否在世界上找到了其他语言的利基,如F#,IronRuby,IronPython或类似的东西,它们填补了什么样的利基?
注意:这个问题是针对微软开发人员的,因为我无法逃脱并开始在我的公司周围安装LAMP堆栈,因此必须永远支持它.:)但是,除了您的主要语言之外,您可以随意提及您认为有兴趣在您的世界中完成某项任务/角色的任何其他语言.
Python/Perl/Ruby/PowerShell是C#/ VB.NET的重要补充.如果你的老板给你一个文本文件并说它插入数据库一次或两次,那么Perl/Python/Ruby中的任何一个(我不确定powershell但我认为它不是那么困难)应该没问题.解析它.无论哪种方式,对于您的主要应用程序,您可能会陷入C#.您可以使用一种更动态的语言在C#中进行代码生成.
由于您处于Microsoft环境中,因此获得解决方案的最佳机会可能是PowerShell.接下来我会说IronPython或其他与CLR集成的东西.但主要问题是,对于其他人来说,维护你的工作,他们必须知道你正在使用的语言.未来的MS计划更多地使用PowerShell,因此可能更容易证明PowerShell,然后说Python/Perl/Ruby.
如果您只是处理文本文件一次使用.或者创建一次性代码生成器来生成所有代码,然后打算维护生成的代码,那么无所谓.你是那个将消费结果的人,如果你使用Perl节省时间,那么你就会有更多的权力.但是,如果你正在做一些将被反复使用的东西(比如一个活动的代码生成器,你可以在其中更改模板并运行生成器而不是维护生成的代码),那么其他开发人员在处理你所做的事情时需要知道语言你用过.在Microsoft Shop中学习Perl/Ruby/Python是很难的.但PowerShell似乎更容易.我认为MS宏计划是最终应用程序将通过命令行开关为power shell提供更多功能.
一个很好的脚本语言总是一个很好的工具.请参阅Ruby或Python.