BOO Vs IronPython - PullRequest
       28

BOO Vs IronPython

16 голосов
/ 02 марта 2009

В чем разница между IronPython и BOO ? Есть ли необходимость в двух Python-подобных языках?

Ответы [ 4 ]

18 голосов
/ 02 марта 2009

IronPython разработан для точной реализации Python на платформе .NET. Версия 1 предназначена для совместимости с Python 2.4, а версия 2 - для версии 2.5 (хотя большинство модулей стандартной библиотеки Python, реализованных на C, не поддерживаются).

Boo заявленная цель состоит в том, чтобы быть «дружественным [динамичным] языком для CLI». Он требует много вдохновения от Python, но расходится по четырем основным пунктам:

  1. Он разработан специально для использования преимуществ платформы .NET
  2. Дизайнер расходится с синтаксисом Python, когда он не согласен с проектными решениями (особенно отсутствие явного "я")
  3. Язык явно задуман как «дружественный для запястий», то есть, чтобы свести к минимуму необходимость использования клавиши Shift или других сочетаний клавиш.
  4. По умолчанию Boo типизируется статически, но допускает необязательный ввод с клавиатуры.

Существуют и другие незначительные различия в реализации / производительности, но приведенные выше цели разработки должны (IMO) сообщать о вашем выборе языков.

Еще две вещи, которые необходимо учитывать, это зрелость и общность. Python гораздо более зрелый, чем Boo, и имеет гораздо большее сообщество. IronPython также имеет явное благословение Microsoft.

11 голосов
/ 02 марта 2009

IronPython - это реализация на python, где Boo - еще один язык с синтаксисом, похожим на python. Одно из основных отличий заключается в том, что по умолчанию Boo типизируется статически.

Я уверен, что есть больше различий, я только кратко посмотрел на Бу, но я хотел посмотреть немного глубже (так много языков, так мало времени!).

Вот список ошибок Boo для программистов на Python, который довольно хорошо суммирует различия:

3 голосов
/ 02 марта 2009

IronPython - это Python. Бу выглядит как Питон.

У них разные цели, и хотя IronPython стремится быть таким же, как Python, Бу нет. Boo не беспокоится о совместимости с Python, как IronPython ...

1 голос
/ 11 апреля 2010

Короче говоря, притязание Boo на известность состоит в том, что он должен дать вам большинство преимуществ элегантного, лаконичного синтаксиса Python и очень высокоуровневых абстракций, но не жертвуя (большей частью) скоростными преимуществами статически типизированных язык как C #.

...