Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
I';我是.NET程序员。Python和/或Ruby的具体用途是什么,这将使我的工作效率更高?_Python_.net_Ruby - Fatal编程技术网

I';我是.NET程序员。Python和/或Ruby的具体用途是什么,这将使我的工作效率更高?

I';我是.NET程序员。Python和/或Ruby的具体用途是什么,这将使我的工作效率更高?,python,.net,ruby,Python,.net,Ruby,我记得当我第一次读实用程序员时,他们建议使用脚本语言使您成为一个更高效的程序员 我在实践这一点时左右为难 我想知道使用Python或Ruby可以使我成为更高效的.NET开发人员的具体方法。 每个答案都有一种特定的方式,如果你能说我是否可以使用Python或Ruby或两者都使用,那就更好了 请参阅下面的标准格式。快速原型设计-两者都有 在最简单的情况下,启动python解释器并编写一两行代码要比在VisualStudio中创建新项目快得多 你可以使用ruby来实现。或者lua,或者evel per

我记得当我第一次读实用程序员时,他们建议使用脚本语言使您成为一个更高效的程序员

我在实践这一点时左右为难

我想知道使用Python或Ruby可以使我成为更高效的.NET开发人员的具体方法。

每个答案都有一种特定的方式,如果你能说我是否可以使用PythonRuby两者都使用,那就更好了

请参阅下面的标准格式。

快速原型设计-两者都有 在最简单的情况下,启动python解释器并编写一两行代码要比在VisualStudio中创建新项目快得多

你可以使用ruby来实现。或者lua,或者evel perl,等等。关键在于隐式键入和轻量级的感觉。

IronPython/IronRuby 将更好地解释这一点(以及如何最好地使用IronPython),这可能会在SO答案中得到体现。我有偏见——我是一名科技评论家,也是其中一位作者的朋友——但客观地说,我认为这是一本很棒的书。(目前还不知道IronRuby是否有幸拥有一本同样精彩的书)

由于您希望“每个答案有一种特定方式”(与SO不兼容,如果海报上有25种“特定方式”来表示…!-),则强烈不鼓励张贴25种不同答案):原型设计以探索您不熟悉的特定组合或集合(检查您是否正确理解了他们的文档以及如何执行某些任务)在IronPython中的效率比在C#中高出一个数量级,因为您可以交互式地进行探索,并且编译是即时的,并且可以根据需要进行。(没有试过IronRuby,但我假设它可以以大致相同的方式和速度工作).

高级文本处理 awk和perl的传统优势。您只需将一组正则表达式粘合在一起,即可创建一个简单的数据挖掘系统。

代码更少 我认为生产率直接取决于您对特定语言的熟练程度。也就是说,像Python这样的语言的简洁性可以节省一些完成某些事情的时间

如果我比较一下,与.NET代码相比,我为简单的管理脚本(例如清理旧文件)编写的代码要少得多,那么一定程度上提高了生产率。(此外,这更有趣,也有助于完成工作)

跨平台 与.NET相比,简单的脚本Python更容易移植到其他平台,如Linux。虽然可以通过Mono等实现同样的功能,但在不同平台上运行Python脚本文件更简单。

处理收到的电子邮件
Python内置了对POP3和IMAP的支持,而标准的.NET framework不支持。这对于自动化电子邮件触发的任务非常有用。

学习一种新的语言可以为您提供可以回到任何编程语言的知识。以下是您将学到的一些东西

动态添加

在模块中

周围

想一想如何用ruby做更多的事情:
ruby-e“放‘hello world’”

C#可以做其中一些事情,但一个全新的视角可能会让你离自动化早餐更近一步。

嵌入脚本引擎 将IronPython用于.NET应用程序内的脚本引擎。例如,允许应用程序的最终用户使用成熟的语言(如Python)更改可自定义的部分


一个可能的例子可能是向最终用户公开工作流引擎的自定义逻辑。

+1用于原型制作。快速原型制作和探索性编程不需要动态语言,但大多数动态语言对这种方法有更好的支持。Python特别是设计了交互式/探索性编程夯实是一个主要特性,大多数Python程序员在编写“实际”之前都会以交互模式广泛地进行原型制作代码。到目前为止的答案,我想你一定同意,表明在使用脚本语言和.NET之间存在着巨大的范式转变——我认为从来没有人认为脚本语言会让你成为一名更好的.NET开发人员,但它们可能会简化一些其他任务(例如文本处理)您经常执行任务。@pavium,我认为简化后的“其他任务”最终会使我成为一名更好的.NET开发人员,不是吗?我想这取决于您对它的看法。这应该是一个社区wiki吗?是的,这是一个更优秀的程序员。我们都知道,自动化早餐是编码的主要方面;)我想在这里举一个更深入的例子……简洁性的一个重要来源是:不是为每一个目的引入以数据为中心的类,而是大量使用内置的列表和字典功能。