powershell和ruby之间的区别

时间:2010-10-22 14:39:44

标签: .net powershell ironruby dynamic-languages

我是动态语言界的新手,并试图找到一个好的起点。

看看微软如何减少Iron Ruby在其产品中的作用,我正在寻找一种将在dotNET平台上支持的动态编程语言。您是否可以列出在一个而不是另一个中找到的特定功能,以帮助您进行选择。

1 个答案:

答案 0 :(得分:6)

PowerShell主要是一种Windows自动化工具,它以多种方式展示其功能:

  1. 一个shell(控制台)ala KornShell,CSH,BASH。
  2. 动态脚本语言。
  3. 可托运引擎ala TK / TCL& Windows Scripting引擎。
  4. Windows 7疑难解答框架的基础。
  5. 我将Python和Ruby等语言视为通用语言,虽然它们可能提供REPL提示,但不适合shell编程,即轻松触发系统命令和EXE,捕获stdin / out,处理非终止vs终止错误等。这就是PowerShell的亮点。

    OTOH,我不会将PowerShell用于所有通用编程任务。它不能:

    1. 定义.NET类型(PSCustomObject类型除外)
    2. 实施界面
    3. 实施任何通用的
    4. 无法调用通用方法
    5. 不支持静态扩展方法调用语法,例如array.Where()
    6. 不支持命名空间导入的概念(即使用系统;在C#中)
    7. 就像那句老话一样,请务必选择合适的工具。