Предполагая, что Utils никогда не предназначен для создания экземпляров (это будет просто набор методов), есть ли причина использовать один или другой?
blockquote>Его различные способы создания того же самого. Есть и другие. Поскольку его не нужно создавать, я бы сделал простую версию
const Utils
.Другие способы
, например.
namespace
namespace Utils { export function doSomething() { return 'something' } export function doAnother() { return 'another' } }
Основное различие, поскольку я вижу его, - то, что Шиканье со статическим контролем типов, означая, что тип переменной выведен на ее первом присвоении и фиксируется оттуда - в то время как IronPython имеет "реальное" динамическое поведение нормального кода Python.
IronPython <забастовка> официально сохраняется Microsoft теперь, и забастовка> предназначается для нового Динамического Времени выполнения Языка в версии 2.0. Я подозреваю из-за, он - Шиканье природы со статическим контролем типов, могло бы быть быстрее. У меня нет большого "реального" опыта с этим хотя...
IronPython также повторно реализует много библиотеки стандарта Python, таким образом, можно запустить много программного обеспечения Python без изменения на IronPython (например, Django).
Шиканье со статическим контролем типов, но имеет дополнительный утиный ввод (который работает довольно хорошо, по моему опыту). Шиканье также специально предназначено, чтобы быть "запястьем, дружественным" - другими словами, минимизировать потребность использовать комбинации клавиши Shift. Это имеет хорошую поддержку IDE в SharpDevelop.
, Как довольно очевидно, Шиканье берет большое вдохновение из Python, но также разработано, чтобы воспользоваться хорошим преимуществом функций.NET.
мудрый Производительностью, Шиканье чувствует себя незначительно быстрее, чем IronPython, и в особенности испытывает недостаток в значимой задержке запуска IronPython.
Шиканье является все еще незрелым языком и испытывает недостаток в сообществе Python. Я лично был бы немного осторожен об использовании его в производстве. Кроме того, я не соглашаюсь со всеми отъездами, которыми это сделано из Python, такого как избавление от явных сам в классах.
Я еще не использовал IronPython, но вот то, что я знаю о Шиканье...
я использовал Шиканье для вещей как:
Как сказанный Winston, Шиканье очень расширяемо из-за его открытой архитектуры компилятора, смотрите на эти примеры:
Я записал приложения и в Шиканье и в IronPython. Для меня IronPython был более устойчивым выбором и большой частью того, что я записал в портах CPython без изменений. Всеми недавними проектами был чистый IronPython, если предназначено для.Net Платформы.
, Так как Jim "дезертировал" к Microsoft, IronPython был поднят до языка высшего ранга. Существует даже Visual Studio для него.
Я соглашаюсь с VolkA здесь. Способность выполнить Django является большой. Просто такой удивительной платформе, Шиканье будет нелегко восстанавливать его. Сегодня это - больше вопрос основ, которыми служит язык, чем это - конструкция, которую это обеспечивает. И Шиканье не обеспечивает очень улучшения по сравнению с Python в конструкциях, которые это поддерживает.
Основное различие, по-моему, то, что IronPython является реализацией зрелого языка - в то время как Шиканье моложе и менее известно.