Форум сайта python.su
Хочется понять в самых общих чертах, что есть и чем отличаются эти вещи (можно конечно поставить и долбиться в документацию, но это муторно, мне пока что хотелось бы узнать по верхам, самый общий смысл этих технологий, чтобы понять, что ставить, да и стоит ли вообще связываться).
Под Python for .NET я имею в виду вот это.
Далее мои вопросы.
1. IronPython — это свой интерпретатор? (Или там вообще только компилятор под дотнет?) Т.е. это не Python, это вообще другой язык, только “совпадающий” по синтаксису?
2. Можно ли в IronPython установить и использовать модули “обычного” Python? И имеет ли смысл вообще подобная постановка вопроса?
3. Python for .NET — это модуль для “обычного” Python или тоже другой язык? На оффсайте не ясно, идут мутные пассажи об “интеграции” с .Net. Если это другой язык, то есть вопрос, аналогичный п.2.
4. Python for .NET умер? (последний альфа-релиз на sourceforge: September 5, 2007).
Офлайн
1. Язык почти тот, компилятора нет, модули вообще раньше не делал, все на лету парсил. потом вроде стал делать, но абсолютно нестандартные как для питона так и для .net.
2. раньше не можно, ибо он завязан на .net классы и специфику.
3. модуль обычного.
4. в нем мало смысла, потому что используя .net отпадает необходимость в стандартном питоне. пятое колесо телеги.
но.. инфа могла устареть.. давно не отслеживаю.
Офлайн
1. Что значит “почти” тот? В IronPython свой интерпретатор?
Кто раньше “не делал” модули, ты или IronPython?
2. Что означает фраза “раньше не можно”?
В целом я понял тебя так, что IronPython никак не связан с Python — это совершенно отдельный интерпретируемый язык для .NET. Модули для стандартного Python, разбросанные по всему Интернету, там полностью бесполезны. Общее между IronPython и Python— только похожий синтаксис.
3. Я не вижу в архиве setup.py или подобного, зато есть python.exe (свой интерпретатор?) и вроде дотнетовские dll-сборки. Не понимаю вот этих фраз с оффсайта:
On Windows platforms, you can choose to install .NET-awareness into an existing Python installation as well as install Python for .NET as a standalone package… Just unzip the package wherever you want it, cd to that directory and run python.exe to start using it.Каким образом я “can choose”? Мне по-прежнему не понятно, можно ли это поставить как модуль обычного Python, и если можно, то как.
Отредактировано (Янв. 24, 2009 10:57:00)
Офлайн
Насколько я понимаю суть вопроса:
Используя .NET, программа компилируется в специальный байт код, который затем выполняется на машине пользователей. Соответственно, программа, написанная в IronPython будет выполнятся так же как и другие программы для .NET, то есть при условии установленно у юзера Net frameworks. По поводу возможностей, да, они достаточны обширны, хотя не знаю что там со всеми существующими на этой планете модулями питона :)
Лично я, не уверен в перспективе NET :) Версии платформ меняются, вроде с совместимостью проблемы есть. Да и не кроссплатформенно это…
Офлайн
igor.kaist
Используя .NET, программа компилируется в специальный байт код…
georgeМнения специалистов разошлись? ;)
…компилятора нет…
igor.kaistКак это? А Mono? Он активно развивается в последнее время.
Да и не кроссплатформенно это…
Офлайн
http://ru.wikipedia.org/wiki/.NET_Framework
Так же как и технология Java, среда разработки .NET создаёт байт-код, предназначенный для исполнения виртуальной машиной.Добавлено:
IronPython —— одна из основных реализаций языка Python, предназначенная для платформы Microsoft .NET или Mono. Полностью написан на C#, и является транслятором компилирующего типа.
Отредактировано (Янв. 24, 2009 13:09:30)
Офлайн
igor.kaist
Насчёт байт-кода я в курсе ;). Однако, george написал, что у IronPython “компилятора нет”. В общем, меня больше запутали, чем что-то прояснили :lol:. Мои вопросы в самом начале в силе.
Офлайн
Python for .NET, насколько я понял, служит для интеграции net и питона. То есть в своем скрипте на питоне ты сможешь использовать возможности платформы NET (типа как используется win api)
IronPython это же реализация языка питон. С ним ты можешь писать программы, компилируя их в байт код NET, и юзеры смогут это у себя запускать, не устанавливая питона.
Если я не прав, меня поправят.
Офлайн
Насчёт “трансляторов компилирующего типа” предлагаю не углубляться в теорию, т.к. чревато уходом в дебри :lol:.
Если кто-то считает дотнетовкую компиляцию не “полноценной” компиляцией, меня волнует совсем не это.
Вопрос прост, на самом деле. Вот, например, дотнетовский язык Boo имеет и компилятор (booc.exe), и интерпретатор (booi.exe). Компилятор изготавливает exe-файлы, а интерпретатор получает в командной строке текстовый файл скрипта и исполняет его. Давайте не будем усложнять ;). В IronPython есть только компилятор (рискну предположить, что отсутствие компилятора для дотнетовского языка — это абсурд), или интерпретатор тоже есть?
Офлайн
The gray CardinalНу так интерпретирует то байт код платформа .NET
В IronPython есть только компилятор (рискну предположить, что отсутствие компилятора для дотнетовского языка — это абсурд), или интерпретатор тоже есть?
Отредактировано (Янв. 24, 2009 13:24:30)
Офлайн