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)

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

если верить тому что написано на некоторых ресурсах

А тебе собственная голова зачем? Или ты в нее только ешь?

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

моя голова пока pyqt5 смотрит, думает как интерфейс делать, походу я свою софтину напишу ток через года 1,5....

erzent ☆☆
()
Ответ на: комментарий от ymn

смотрю на btrfs/zfs и понимаю, почему к ним даже oracle gui делать не захотели, сколько надо будет делать кнопок, проверок и тп.

erzent ☆☆
()
Ответ на: комментарий от ymn

а уж как делать масштабирование в зависимости от размера окна и разрешения я вообще не представляю, в обещем работы много, а мозгов мало...

erzent ☆☆
()
Ответ на: комментарий от Hertz

мне бы питон освоить, а ты уже липс предлагаешь, на qt вменяемый интерфейс я видел, например у konsole5 мне нравиться сейчас вид, я похожий стиль хочу и в анаконду впихнуть.

erzent ☆☆
()

ещё один на тему PyPy?
но зачем?
почему нельзя ПРОСТО ИСПОЛЬЗОВАТЬ ПИТОН?
получается что тут надо иметь запущенные jvm + это поделие чтоб просто запускать *.py скрипты?
это же из пушки по воробьям

q11q11 ★★★★★
()
Последнее исправление: q11q11 (всего исправлений: 1)
Ответ на: комментарий от f1xmAn

Надеюсь вы имеете в виду не приложения вообще а только те для которых питон - приемлемый язык реализации.

A-234 ★★★★★
()
Ответ на: комментарий от sT331h0rs3

И тратишь на 3 порядка меньше времени на разработку.

Починено.

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

мне бы питон освоить, а ты уже липс предлагаешь

Ты себя недооцениваешь. И если ты вообще ещё только
учишься прогать, то тем более, пока не поздно, прибери
питон и возьми какой-нибудь фп-яз. Вот отличный старт
для цацкеля, смогут въехать даже затупки вроде... Э-э, молчу.
Кложуру тем более. Взял Emacs, прикрутил к нему Сидр,
впитонил в систему Lein, и поехал по накатанной. А питон -
это путь в никуда. И да, картина маслом:
«Мангалоры учат Эргента программировать на цацкеле»

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

Прозрачное использование Java библиотек же. Есть у тебя например сайтик на питоне и надо к нему отчеты прикрутить. С jython можно заюзать Jasper Reports например, причем вполне по-человечески через API в том же процессе. А из голого питона будет туго - нету бесплатных библиотек для отчетов. Или надо для одиозного клиента SOAP сервис вывесить (всякое бывает при интеграции), через Java библиотеки это всяко проще будет.

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

Для WLST нет, то что пробовал для себя было просто из интереса «что это такое», я не занимаюсь разработкой и имею отвращение к java, так что может groovy и крут, но мне не нужен.

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

Groovy при смерти же, разработчиков разогнали с зарплаты и отправили в Apache Software Foundation умирать. Ну и число питонобиблиотек не сравнимо с грувибиблиотеками. И Grails против Django - это несерьезно, Django гораздо более развитый. Groovy теперь - это не более чем пускалка для Gradle.

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

Не барское это дело, приложения для юзеров писать, за этим пройдите к питонобыдлу. Вот то ли дело числа Фибоначчи посчитать - это для Хаскеля подходящая задача.

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

Ну и число питонобиблиотек не сравнимо с грувибиблиотеками

ничо что груви прозрачно всю яву использует? для JVM если нужно скриптить groovy самое то, а jython нахер не нужен

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

Jython тоже прозрачно всю яву использует. Только кроме всех Java библиотек доступны еще все pure-python библиотеки. Например использовали вы раньше xlrd или beautiful soup - можно их продолжать использовать. А уровень аргументации второй части сообщения поражает воображение.

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

Не ну вдруг речь о шарепоинте. Там имхо медицина бессильна.

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

Как не используешь? Влстшный jmx коннектор и есть жабный класс. И после коннекта все эти бины сервера - тоже.

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

Ну кроме этого в смысле больше ничего, то есть, конечно, функции из java.util да javax.management я использую, но кроме этого ничего.

alozovskoy ★★★★★
()
Последнее исправление: alozovskoy (всего исправлений: 1)
Ответ на: комментарий от leave

для конторы до 100 голов и если выделить ему 5 гб оперативы и 2 ядра от E5620, он вполне будет работать))))

erzent ☆☆
()
Ответ на: комментарий от f1xmAn

Приложение - это кусок говнокода, решающий важную прикладную задачу. Обычно характеризуется тем, что 40% кода - это обработка конфигурационных параметров, а еще 50% кода - обработка исключительных ситуаций.

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

У меня легаси на сабже крутиться. Где-то быстрее, где-то медленнее.

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

Вы серьезно считаете что кроме «база, нетворкинг, файловая система» узких мест в приложениях не бывает?

A-234 ★★★★★
()
Ответ на: комментарий от dizza

Смотря что за область. FPS в игрушке от перечисленных факторов зависит в меньшей степени, как и скорость перекодирования видео или потоковое шифрование.

A-234 ★★★★★
()
Ответ на: комментарий от Shadow

Хочу увидеть cp или top на хаскеле.

Тоже любопытно.

Почему ещё используют языки кроме хаскеля?

Не ведаю совершенно. Сырцы House ещё не читал.

Hertz ★★★★★
()
Ответ на: комментарий от A-234

FPS
перекодирования видео
потоковое шифрование.

Jython — это реализация языка Python на платформе Java.

LamerOk ★★★★★
()
Ответ на: комментарий от A-234

Я говорю о приложениях, для которых джава это правильно выбранная платформа, т.е. о сервер сайде, который пользователям не просто Hello Wolrd выводит. Да, есть другие боттлнеки, но для веб приложений этим боттлнеком является уж точно не скорость языка.

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

Как в них записать несколько выражений?

Зачем в лямбде несколько выражений? Хотя если очень хочется то всё можно:

lambda: (выражение1, выражение2, ...)

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

Значит ответ таки не «нет» а «да», а то я уже начал думать что мир приложений для вас вебом ограничивается. Впрочем, на джаве ведь Ил-2 второй написали, по словам разработчика потому что они ниасилили бороться с ликами. (Последовательность снять-одеть штаны в сортире не забывают а про освобождение памяти вспомнить бяда непреодолимая) Кстати, раз уж речь о памяти зашла, эта подсистема тоже может стать источником тормозов.

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

Есть у тебя например сайтик на питоне и надо к нему отчеты прикрутить. С jython можно заюзать Jasper Reports

ну тость скорость такого сайтика резко упадёт + сайт надо будет пересвести на jython, верно?
и кстати, чего будет стоить перенос сайта с apache+CGI на java-сервер?
не дешевле ли будет таки купить либу с отчётами для питона?

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

ну тость скорость такого сайтика резко упадёт

С чего скорость то упадет? Тем более резко? Jython вполне сопоставим с обычным питоном по скорости.

https://wiki.python.org/jython/JythonFaq/GeneralInfo - Jython is approximately as fast as CPython--sometimes faster, sometimes slower.

сайт надо будет пересвести на jython, верно?

ну да, но проблем с этим обычно нет, если не используются сишные модули.

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