Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 23, 2009 17:44:05

The gray Cardinal
От:
Зарегистрирован: 2007-03-07
Сообщения: 422
Репутация: +  0  -
Профиль   Отправить e-mail  

vanished

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

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

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

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

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

4. Python for .NET умер? (последний альфа-релиз на sourceforge: September 5, 2007).



Офлайн

#2 Янв. 24, 2009 01:48:55

george
От:
Зарегистрирован: 2006-06-19
Сообщения: 55
Репутация: +  0  -
Профиль   Отправить e-mail  

vanished

1. Язык почти тот, компилятора нет, модули вообще раньше не делал, все на лету парсил. потом вроде стал делать, но абсолютно нестандартные как для питона так и для .net.
2. раньше не можно, ибо он завязан на .net классы и специфику.
3. модуль обычного.
4. в нем мало смысла, потому что используя .net отпадает необходимость в стандартном питоне. пятое колесо телеги.
но.. инфа могла устареть.. давно не отслеживаю.



Офлайн

#3 Янв. 24, 2009 10:55:19

The gray Cardinal
От:
Зарегистрирован: 2007-03-07
Сообщения: 422
Репутация: +  0  -
Профиль   Отправить e-mail  

vanished

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?



Отредактировано (Янв. 24, 2009 10:57:00)

Офлайн

#4 Янв. 24, 2009 12:29:28

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

vanished

Насколько я понимаю суть вопроса:
Используя .NET, программа компилируется в специальный байт код, который затем выполняется на машине пользователей. Соответственно, программа, написанная в IronPython будет выполнятся так же как и другие программы для .NET, то есть при условии установленно у юзера Net frameworks. По поводу возможностей, да, они достаточны обширны, хотя не знаю что там со всеми существующими на этой планете модулями питона :)
Лично я, не уверен в перспективе NET :) Версии платформ меняются, вроде с совместимостью проблемы есть. Да и не кроссплатформенно это…



Офлайн

#5 Янв. 24, 2009 12:54:58

The gray Cardinal
От:
Зарегистрирован: 2007-03-07
Сообщения: 422
Репутация: +  0  -
Профиль   Отправить e-mail  

vanished

igor.kaist
Используя .NET, программа компилируется в специальный байт код…
george
…компилятора нет…
Мнения специалистов разошлись? ;)

igor.kaist
Да и не кроссплатформенно это…
Как это? А Mono? Он активно развивается в последнее время.



Офлайн

#6 Янв. 24, 2009 13:02:53

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

vanished

http://ru.wikipedia.org/wiki/.NET_Framework

Так же как и технология Java, среда разработки .NET создаёт байт-код, предназначенный для исполнения виртуальной машиной.
Добавлено:
Хотя по поводу IronPython небольшая поправка:
IronPython —— одна из основных реализаций языка Python, предназначенная для платформы Microsoft .NET или Mono. Полностью написан на C#, и является транслятором компилирующего типа.



Отредактировано (Янв. 24, 2009 13:09:30)

Офлайн

#7 Янв. 24, 2009 13:05:51

The gray Cardinal
От:
Зарегистрирован: 2007-03-07
Сообщения: 422
Репутация: +  0  -
Профиль   Отправить e-mail  

vanished

igor.kaist
Насчёт байт-кода я в курсе ;). Однако, george написал, что у IronPython “компилятора нет”. В общем, меня больше запутали, чем что-то прояснили :lol:. Мои вопросы в самом начале в силе.



Офлайн

#8 Янв. 24, 2009 13:17:41

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

vanished

Python for .NET, насколько я понял, служит для интеграции net и питона. То есть в своем скрипте на питоне ты сможешь использовать возможности платформы NET (типа как используется win api)
IronPython это же реализация языка питон. С ним ты можешь писать программы, компилируя их в байт код NET, и юзеры смогут это у себя запускать, не устанавливая питона.
Если я не прав, меня поправят.



Офлайн

#9 Янв. 24, 2009 13:17:53

The gray Cardinal
От:
Зарегистрирован: 2007-03-07
Сообщения: 422
Репутация: +  0  -
Профиль   Отправить e-mail  

vanished

Насчёт “трансляторов компилирующего типа” предлагаю не углубляться в теорию, т.к. чревато уходом в дебри :lol:.
Если кто-то считает дотнетовкую компиляцию не “полноценной” компиляцией, меня волнует совсем не это.

Вопрос прост, на самом деле. Вот, например, дотнетовский язык Boo имеет и компилятор (booc.exe), и интерпретатор (booi.exe). Компилятор изготавливает exe-файлы, а интерпретатор получает в командной строке текстовый файл скрипта и исполняет его. Давайте не будем усложнять ;). В IronPython есть только компилятор (рискну предположить, что отсутствие компилятора для дотнетовского языка — это абсурд), или интерпретатор тоже есть?



Офлайн

#10 Янв. 24, 2009 13:23:35

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

vanished

The gray Cardinal
В IronPython есть только компилятор (рискну предположить, что отсутствие компилятора для дотнетовского языка — это абсурд), или интерпретатор тоже есть?
Ну так интерпретирует то байт код платформа .NET
И этот байт код одинаков, независимо от того, на каком языке была написана программа



Отредактировано (Янв. 24, 2009 13:24:30)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version