2010-10-22 88 views
2

我是新來的動態語言場景,並試圖找到一個好的起點。看看微軟如何減少Iron Ruby在其產品中的作用,我正在尋找一種動態編程語言,它將在dotNET平臺上得到支持。你能列出在一個而不是另一箇中找到的特定功能,以幫助選擇。powershell和ruby之間的區別

+0

有很明顯的事情,例如通常更清晰的語法,但我對功能感興趣。 – GregC 2010-10-22 14:42:52

+0

也許:http://stackoverflow.com/q/3484232/323582 – 2010-10-22 15:35:56

回答

6

PowerShell的主要是一個Windows自動化工具,表面在幾個方面的功能:

  1. 一個shell(控制檯)ALA KornShell,CSH,BASH。
  2. 一種動態腳本語言。
  3. 託管引擎ala TK/TCL & Windows腳本引擎。
  4. Windows 7故障排除框架的基礎。

我將Python和Ruby等語言視爲通用語言,雖然它們可能提供REPL提示,但不適合shell編程,即輕鬆觸發系統命令和EXE,捕獲stdin/out,處理無終止與終止錯誤等等。這就是PowerShell所發揮的作用。

OTOH,我不會使用PowerShell進行所有通用編程任務。它不能:

  1. 定義.NET類型(除了那些類型PSCustomObject的)
  2. 實現一個接口
  3. 實施什麼通用
  4. 不能調用泛型方法
  5. 隱而不宣」 t支持靜態擴展方法調用語法,例如array.Where()
  6. 不支持命名空間的進口概念(即使用系統;在C#)

就像那句老話,一定要挑對工作的工具。

+0

從你的評論來看,如果MS想要覆蓋所有的基地,他們需要積極地開發一種動態語言。現在我們必須很高興C#4.0中有動態關鍵字。 – GregC 2010-10-22 17:05:39

+0

http://stackoverflow.com/questions/3484232/would-you-recommend-iron-ruby-iron-python-or-powershell-for-making-a-c-applic – GregC 2010-10-22 17:07:27

+0

但VB已經動態多年了,對吧?什麼,你不認爲這是一個「真正的」語言? :-) – 2010-10-22 17:14:39