Можно ли начать использовать Iron Ruby и Iron Python в производственных системах?
Да. Я отвечаю за программную систему, которая работает 24/7/365. Не Критика Жизни или Смерти критическая, но очень важная. И он использует IronPython, хотя и не очень много - в основном небольшие скрипты для вещей, которые легче делать на динамическом языке. Это означает: он работает, он не разбивает ваш процесс или не потребляет безумных объемов памяти без уважительной причины. Но база пользователей и «языковое сообщество» намного меньше, чем, например, C#, поэтому может оказаться сложнее найти помощь в Интернете.
Добавить: О «MS, сброшенном железом» - новости: мне действительно было бы не по силам. Существует много хороших языков, которые Microsoft не активно разрабатывает. Пока есть активная разработка, если она делает то, что вы хотите, и пока вы можете найти поддержку, если не можете понять, что происходит, вы должны быть в порядке. Но это, вероятно, скорее вопрос вкуса, чем технический момент.
Также есть ли какие-либо дополнительные требования для их размещения?
Для IronPython 1.0 (который по-прежнему используется) вам нужны только две сборки. Для 2.0 вам также нужны сборки DLR, но ни один из них не очень большой или имеет какие-либо внешние зависимости (что я знаю).
А для бонусных очков, учитывая, что F # является функциональным языком программирования так же, как и Python, есть ли какое-то преимущество в использовании одного из них в рамках платформы .NET?
Как сказал Дельнан, F # является функциональным языком, Python - нет. Python - это многостраничный язык, который поддерживает некоторые функциональные концепции программирования, такие как лямбда-выражения или списки, но также и C#. F # и Python - действительно очень разные звери.
Основные отличия:
- F # компилируется в IL в F # компилятор (это не динамический язык), IronPython можно скомпилировать или интерпретируемого во время выполнения
- F # статически типизированных с умозаключения типа , Python динамически типизирован (проверка типа выполняется во время выполнения)
- F # - функциональный язык: он поддерживает такие функции, как сопоставление образцов, функции более высокого порядка и типы, метапрограммирование. Это действительно здорово, если вам нужно реализовать очень сложный алгоритм, который может быть проще реализован на функциональном языке, и вы хотите взаимодействовать с кодом C#. (Последняя часть - мое личное мнение.)
- Python - это прежде всего язык ООП/императив.Это действительно здорово для добавления скриптов в существующее приложение C#. (Последняя часть - мой личный взгляд.)
Если вы расскажете нам больше о том, что вы хотите сделать, возможно, мы сможем дать вам более конкретный ввод или предложить другие альтернативы.
Возможно, вам это интереснее, прежде чем вы начнете: http://bit.ly/dl7YC9 – Lloyd
Да, как указывает Ллойд, это довольно неплохое время на ваш вопрос, есть ... – Frosty840
Python не является функциональным языком , – delnan