Найти - Пользователи
Полная версия: vanished
Начало » Python для .Net » vanished
1 2 3 4 5 6
The gray Cardinal
Хочется понять в самых общих чертах, что есть и чем отличаются эти вещи (можно конечно поставить и долбиться в документацию, но это муторно, мне пока что хотелось бы узнать по верхам, самый общий смысл этих технологий, чтобы понять, что ставить, да и стоит ли вообще связываться).

Под Python for .NET я имею в виду вот это.
Далее мои вопросы.

1. IronPython — это свой интерпретатор? (Или там вообще только компилятор под дотнет?) Т.е. это не Python, это вообще другой язык, только “совпадающий” по синтаксису?

2. Можно ли в IronPython установить и использовать модули “обычного” Python? И имеет ли смысл вообще подобная постановка вопроса?

3. Python for .NET — это модуль для “обычного” Python или тоже другой язык? На оффсайте не ясно, идут мутные пассажи об “интеграции” с .Net. Если это другой язык, то есть вопрос, аналогичный п.2.

4. Python for .NET умер? (последний альфа-релиз на sourceforge: September 5, 2007).
george
1. Язык почти тот, компилятора нет, модули вообще раньше не делал, все на лету парсил. потом вроде стал делать, но абсолютно нестандартные как для питона так и для .net.
2. раньше не можно, ибо он завязан на .net классы и специфику.
3. модуль обычного.
4. в нем мало смысла, потому что используя .net отпадает необходимость в стандартном питоне. пятое колесо телеги.
но.. инфа могла устареть.. давно не отслеживаю.
The gray Cardinal
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, и если можно, то как.

4. Почему “отпадает необходимость в стандартном питоне”? Платформа .NET полностью перекрывает все возможности всех существующих на свете модулей Python?
igor.kaist
Насколько я понимаю суть вопроса:
Используя .NET, программа компилируется в специальный байт код, который затем выполняется на машине пользователей. Соответственно, программа, написанная в IronPython будет выполнятся так же как и другие программы для .NET, то есть при условии установленно у юзера Net frameworks. По поводу возможностей, да, они достаточны обширны, хотя не знаю что там со всеми существующими на этой планете модулями питона :)
Лично я, не уверен в перспективе NET :) Версии платформ меняются, вроде с совместимостью проблемы есть. Да и не кроссплатформенно это…
The gray Cardinal
igor.kaist
Используя .NET, программа компилируется в специальный байт код…
george
…компилятора нет…
Мнения специалистов разошлись? ;)

igor.kaist
Да и не кроссплатформенно это…
Как это? А Mono? Он активно развивается в последнее время.
igor.kaist
http://ru.wikipedia.org/wiki/.NET_Framework
Так же как и технология Java, среда разработки .NET создаёт байт-код, предназначенный для исполнения виртуальной машиной.
Добавлено:
Хотя по поводу IronPython небольшая поправка:
IronPython —— одна из основных реализаций языка Python, предназначенная для платформы Microsoft .NET или Mono. Полностью написан на C#, и является транслятором компилирующего типа.
The gray Cardinal
igor.kaist
Насчёт байт-кода я в курсе ;). Однако, george написал, что у IronPython “компилятора нет”. В общем, меня больше запутали, чем что-то прояснили :lol:. Мои вопросы в самом начале в силе.
igor.kaist
Python for .NET, насколько я понял, служит для интеграции net и питона. То есть в своем скрипте на питоне ты сможешь использовать возможности платформы NET (типа как используется win api)
IronPython это же реализация языка питон. С ним ты можешь писать программы, компилируя их в байт код NET, и юзеры смогут это у себя запускать, не устанавливая питона.
Если я не прав, меня поправят.
The gray Cardinal
Насчёт “трансляторов компилирующего типа” предлагаю не углубляться в теорию, т.к. чревато уходом в дебри :lol:.
Если кто-то считает дотнетовкую компиляцию не “полноценной” компиляцией, меня волнует совсем не это.

Вопрос прост, на самом деле. Вот, например, дотнетовский язык Boo имеет и компилятор (booc.exe), и интерпретатор (booi.exe). Компилятор изготавливает exe-файлы, а интерпретатор получает в командной строке текстовый файл скрипта и исполняет его. Давайте не будем усложнять ;). В IronPython есть только компилятор (рискну предположить, что отсутствие компилятора для дотнетовского языка — это абсурд), или интерпретатор тоже есть?
igor.kaist
The gray Cardinal
В IronPython есть только компилятор (рискну предположить, что отсутствие компилятора для дотнетовского языка — это абсурд), или интерпретатор тоже есть?
Ну так интерпретирует то байт код платформа .NET
И этот байт код одинаков, независимо от того, на каком языке была написана программа
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB