Подтвердить что ты не робот

BOO Vs IronPython

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

4b9b3361

Ответ 1

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

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

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

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

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

Ответ 2

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

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

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

Ответ 3

IronPython - это Python. Boo выглядит как Python.

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

Ответ 4

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