LINUX.ORG.RU

Релиз Jython 2.7.0

 , , , ,


1

3

Jython — это реализация языка Python на платформе Java. Проект ведет свою историю с 2000 года, а текущая команда разработчиков под руководством Frank Wierzbicki работает над проектом с 2008 года при поддержке таких компаний как Sun Microsystems (реализация Python 2.5 в 2009 году) и Amobee (реализация Python 2.7). Проект официально поддерживается Python Software Foundation, в частности основной репозиторий исходного кода расположен рядом с CPyhton на https://hg.python.org/jython. Напомним, что на текущий момент версия языка Python 2.7 не является устаревшей (CPython 2.7 будет поддерживаться как минимум до 2020 года) и является основной версией Python для ведущих серверных дистрибутивов Debian Jessie и RHEL 7.

Jython может быть использован как напрямую для запуска Python-скриптов, так и в качестве среды Python, встраиваемой в Java-приложения в качестве библиотеки. Для встраивания подготовлена JAR-библиотека jython-standalone, содержащая среду выполнения и стандартную библиотеку Python со всеми зависимостями. Из известных случаев встраивания Jython (предыдущих версий) можно отметить его использование в серверах приложений Bea/Oracle WebLogic (под названием WLST - WebLogic Scripting Tool) и IBM WebSphere.

Следуя подходу Python о предоставлении пользователям максимально широкого набора библиотек (известному как «batteries included»), Jyhon предоставляет большую часть стандартной библиотеки Python, реализованной на Java с использованием современных библиотек таких как Netty и Guava. Кроме этого обеспечивается бесшовная поддержка Java-библиотек из Python-кода и поддержка Python-библиотек, не имеющих нативных модулей. Работа над поддержкой нативных модулей Python ведется в рамках проекта JyNI.

Отдельно хочется отметить, что проект Django официально поддерживает запуск на Jython, а проект django-jython предоставляет поддержку баз данных PostgreSQL, MSSQL и MySQL в качестве django-backend'ов на основе JDBC драйверов. В совокупности с OpenJDK и встраиваемым веб-сервером (контейнером сервлетов - например Embedded Tomcat или Jetty) это позволяет получать полностью отдельные (standalone) переносимые Django приложения не предъявляющих требований к программному окружению (помимо базовой операционной системы поддерживаемой OpenJDK) и использующие исключительно открытые и свободные технологии.

Следующая версия Jython 2.7.1 запланирована на конец 2015 года, параллельно также ведется работа над поддержкой Python 3.x но планов по выпуску этой версии пока нет.

>>> Подробности

anonymous

Проверено: maxcom ()
Последнее исправление: ymn (всего исправлений: 3)

Ответ на: комментарий от backburner

что, и андроид может?

Оно вроде умеет в явовские .class файлы питон собирать, так что в теории можно и на андроиде наверное запустить.

Nagwal ★★★★
()
Ответ на: комментарий от Nagwal

Jython вполне сопоставим с обычным питоном по скорости.

а, ну тоесть обычный питон написанный на С и скомпиленый в бинарник работает так-же тормознуто как и тот что написан на java и требует JVM только для того чтоб работать, не говоря уже про сторонние либы
ясно, понятно

q11q11 ★★★★★
()

Перестаньте постить новости про это никому не нужное поделие.

anonymous
()
Ответ на: комментарий от q11q11

Эммм, сударь, у меня закрадываются сомнения в вашей технической грамотности. Либо в умении внятно изъясняться. Чем по вашему .pyc исполняемый виртуальной машиной питона (написанной на С) отличается от .class исполняемого на jvm (тоже написанной на С).

Nagwal ★★★★
()

Питон нужен только из-за numpy и прочих scipy. Под jython этого нет, значит jython не нужен.

anonymous
()
Ответ на: комментарий от anonymous

Питон нужен только из-за numpy и прочих scipy. Под jython этого нет, значит jython не нужен.

А как язык для внутренних скриптов больших приложений? Я его недавно в таком ключе пользовал, но в стэке .net (ironpython), остался доволен.

anonymous
()
Ответ на: комментарий от anonymous

Кстати да, вкупе с визуализацией dtrace аналитики - ваще огонь.

EvgGad_303 ★★★★★
()
Ответ на: комментарий от Rodegast

Замени print на try, with, import или присваивание. Кроме того популярнее пока вторая ветка, не говоря уже о том, что сабжа третьей ветки еще нет.
Ну и, наконец, такой вариант как-то сильно не pythonic-way.

cab ★★★★
()
Ответ на: комментарий от cab

Если тебе нужны try, with, import и т.п. то используй нормальные функции. Лямбда нужна для другого.

Rodegast ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.