我在实践中陷入了困境。 我想知道使用Python或Ruby可以让我作为.NET开发人员如何更加高效。 每个答案只有一个具体的方法,如果您能说出我是否可以使用Python、Ruby或两者都可以,那就更好了。
请参见以下标准格式。
《IronPython实战》会更好地解释这个问题(以及如何最佳使用IronPython),而这可能无法在SO答案中得到充分考虑。我有偏见--我是技术审查员,也是其中一位作者的朋友--但客观地认为这是一本很棒的书。(不知道IronRuby是否拥有类似精彩的书籍)。
因为你想要“每个答案都有一个具体的方式”(与SO不兼容,它强烈不鼓励发布人发布25个不同的答案,如果他们有25种“具体的方式”表示...!-):
在IronPython中,进行原型制作来探索您不熟悉的某个程序集或其组合(以检查您是否正确理解了其文档并如何执行某些任务)比在C#中提高了一个数量级的效率,因为您可以交互式地探索,并且编译是即时和按需的。(尚未尝试IronRuby,但我会假设它可以以大致相等的方式和速度工作)。
我认为生产力与你在某种语言上的熟练程度直接相关。因此,像Python这样简洁的语言可能会节省一些完成某些任务的时间。
如果我比较编写简单管理脚本(如清理旧文件)所需编写的代码量,Python相比.NET代码确实有更高的生产力收益。(而且它更有趣,也有助于完成工作)
awk和perl的传统优势。您可以将一堆正则表达式粘合在一起,创建一个简单的数据挖掘系统。
使用IronPython作为.NET应用程序内的脚本引擎。例如,使您的应用程序的最终用户可以使用完整的语言(如Python)更改可自定义部分。
一个可能的例子是将自定义逻辑暴露给最终用户以供工作流引擎使用。
在最简单的情况下,当启动Python解释器并编写一行或两行代码比在Visual Studio中创建新项目更快时。
您也可以使用Ruby。或Lua、Evel Perl等。重点是隐式类型和轻量级感觉。
与.NET相比,一个简单的Python脚本更容易移植到其他平台,如Linux。虽然使用类似Mono的工具也可以实现相同的功能,但在不同平台上运行Python脚本文件更加简单。
Python内置支持POP3和IMAP,而标准的.NET框架则不支持。用于自动化电子邮件触发任务。