2009-03-01 91 views
16

IronPythonBOO有什麼區別?是否需要2種類似Python的語言?BOO與IronPython

+5

IronPython不是Python- * like *語言。它*是* Python語言,儘管是重新實現。 – 2009-03-01 21:19:32

回答

18

IronPython被設計成在.NET平臺上忠實地實現Python。版本1的目標是兼容Python 2.4,版本2的目標是版本2.5(儘管大多數用C實現的Python標準庫模塊都不受支持)。

Boo陳述的目標是成爲CLI的「有利於腕錶的動態」語言。這需要大量的從Python的靈感,但發散四個要點:

  1. 它是專門針對利用.NET平臺
  2. 設計師從Python語法,他不同意發散的良好優勢設計決定(最顯着的是,缺乏明確的自我)
  3. 該語言被明確設計爲「腕友」 - 即最大限度地減少對使用Shift鍵或其他多鍵組合的需求。
  4. Boo是默認靜態類型,但允許可選的鴨子打字。

實現/性能還有一些其他細微差異,但上述不同設計目標應該(IMO)通知您選擇的語言。

需要考慮的兩件事是成熟度和社區。 Python比Boo更成熟,並且擁有更大的社區。 IronPython也有微軟的明確祝福。

11

IronPython是一個python實現wheras Boo是另一種帶有python-esque語法的語言。一個主要區別是Boo默認是靜態類型的。

我相信還有更多的不同之處,我只是簡單地看了一下Boo,但我一直想看看更深的一點(很多時候語言很少!)。

這裏是它很好地總結了不同Python程序員噓陷阱的列表:

3

IronPython的是Python的。 Boo看起來像Python。

他們有不同的目標,而IronPython的目標就是像Python一樣,Boo不會。 Boo並不擔心與Python的兼容性,就像IronPython一樣...

1

簡而言之,Boo聲名狼借的原因是,它應該爲您提供Python優雅,簡潔的語法和非常高級別的抽象的大部分好處,但不會犧牲靜態的(大部分)速度優勢類似C#的語言。