powershell和ruby之间的区别

Gre*_*egC 2 .net powershell ironruby dynamic-languages

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

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

Kei*_*ill 6

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

  1. 一个shell(控制台)ala KornShell,CSH,BASH.
  2. 动态脚本语言.
  3. 一个托管引擎ala TK/TCL和Windows Scripting引擎.
  4. Windows 7故障排除框架的基础.

我将Python和Ruby等语言视为通用语言,虽然它们可能提供REPL提示,但不适合shell编程,即轻松触发系统命令和EXE,捕获stdin/out,处理非终止和终止错误等.这就是PowerShell的亮点.

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

  1. 定义.NET类型(PSCustomObject类型除外)
  2. 实现一个接口
  3. 实现任何通用的
  4. 无法调用泛型方法
  5. 不支持静态扩展方法调用语法,例如array.Where()
  6. 不支持命名空间导入(即使用系统;在C#中)

就像那句老话一样,一定要为工作挑选合适的工具.