我记得当我第一次阅读Pragmatic Programmer时,他们建议使用脚本语言来使你成为一个更高效的程序员。
我陷入困境,将其付诸实践。
我想知道使用Python或Ruby的具体方法可以让我成为更高效的.NET开发人员。
每个答案的一种特定方式,如果你能说我是否可以使用 Python 或 Ruby 或两者,那就更好了。< / p>
请参阅下面的标准格式。
答案 0 :(得分:5)
IronPython in Action会更好地解释这个问题(以及究竟如何最好地使用IronPython),这可能会在SO答案中得到满足。我有偏见 - 我是一名科技评论家,并且是其中一位作者的朋友 - 但客观地认为这是一本好书。 (不知道IronRuby是否有幸拥有同样出色的书)。
如你所愿“每个答案的一种特定方式”(与SO不相容,强烈不鼓励海报发布25个不同的答案,如果他们有25个“特定方式”来表示......! - ) :原型设计,以便探索您不熟悉的某些特定装配或集合(检查您是否正确理解其文档以及如何执行某些任务),其效率提高了一个数量级在IronPython中,而不是在C#中,因为您可以交互式地进行探索,并且可以根据需要进行编译。 (没有尝试过IronRuby,但我认为它可以以大致相同的方式和速度工作)。
答案 1 :(得分:4)
我认为生产力直接导致您对特定语言的熟练程度。这就是说像Python这样的语言的简洁性可能会节省一些时间来完成某些事情。
如果我比较一下,与.NET代码相比,我需要为简单的管理脚本(例如清理旧文件)编写的代码少得多,就可以获得一定的生产率。 (此外,它更有趣,也有助于完成工作)
答案 2 :(得分:2)
awk和perl的传统优势。您可以将一堆正则表达式粘合在一起,以便随时创建一个简单的数据挖掘系统。
答案 3 :(得分:2)
学习一门新语言可以让您了解可以使用任何编程语言。以下是您要学习的一些内容。
动态添加functionality to your objects。
模块中的Mix。
了解如何使用less code执行更多操作:ruby -e "puts 'hello world'"
C#可以做一些这样的事情,但是一个全新的视角可能会让你更接近自动化早餐。
答案 4 :(得分:2)
将IronPython用于.NET应用程序内的脚本引擎。例如,允许应用程序的最终用户使用完整的支持语言(如Python)更改可自定义的部分。
可能的示例可能是将自定义逻辑公开给工作流引擎的最终用户。
答案 5 :(得分:1)
在最简单的情况下,解雇python解释器并编写一行或两行比在visual studio中创建新项目要快。
你可以用ruby来。或lua,或者evel perl,无论如何。重点是隐含的打字和轻盈的感觉。
答案 6 :(得分:1)
与.NET相比,简单的脚本Python更容易移植到其他平台,如Linux。虽然可以使用Mono之类的功能实现相同的功能,但在不同平台上运行Python脚本文件更为简单。
答案 7 :(得分:1)
Python内置支持POP3和IMAP,而标准.NET框架则不支持。用于自动执行电子邮件触发的任务。