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)

Я люблю питон, но от реализации на жабе будут только тормоза в квадрате. Не нужно.

Klymedy ★★★★★
()

Python

не нужно

на платформе Java

не нужно x 2

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

Я люблю питон, но от реализации на жабе будут только тормоза в квадрате. Не нужно.

реализация на Java же берёт всё самое лучшее от двух миров!

жор памяти + неспешность выполнения :-)

------------------------------------------------------------

ладно.. это всё шуточки :-) ..

на самом деле ждём версию Jython-3.x ! чтобы можно было бы что-нибудь написать для Андроида :-) [а проект kivy для этих целей слишком переусложнённый, на мой взгляд]

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

для WebLogicа нужно и нормально работает и для подобных штук и костылей

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

Для серверных задач Jython будет значительно быстрее Python, так как GIL нет, что позволяет человеческую многопоточность. Точнее получается сравнения яблок с апельсинами, так как из-за GIL приходится пускать несколько СPython процессов за Nginx что усложняет развертывание и добавляет кучу проблем с единым кешом на все приложение. Требования к кешу конечно зависят от приложения, но я встречал ситуации, когда несколько питонопроцессов с кешем в memcached затыкались на этом memcached (сам memcached быстрый, а unpickle кеша получался слишком дорогой). В Jython же этой проблемы просто нет, так как можно использовать какой-нибудь Guava CacheBuilder и держать в нем данные готовые для немедленной отдачи без десериализацим. Когда все приложение в одном процессе крутится - это очень упрощает разработку.

Числодробления сравнивать не имеет смысла, так как это будет не сравнение питонореализаций, а сравнение сишных NumPy/SciPy с Java-библиотеками.

anonymous
()

А Sun Microsystems ещё жива?!

Вот оно значит в чём их тайный план, коли так...

Ждем Python EE

pon4ik ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Будет ли оно есть достаточно памяти для задачи

fxd.

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

Ну мне например. Оно в проекте вместо совсем уж богомерзкого js в качестве встроенного скриптового языка работает через javax.script

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

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

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

Ждем Python EE

А чего ждать то? Весь явовский апишник из jython-a доступен. Бери и пиши на нем с jpa да ejb. Извращение конечно, но в принципе никто не запрещает.

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

я на этом автоматизировал вебсферу, например

leave ★★★★★
()

Пыхтон? На жабе? Совсем упоролись что ли?

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

Нет. Язык — узкое место только тогда, когда ты проверяешь скорость печатания HelloWorld'а.

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

Аноны с лора напели про тормоза C# или криворукие обезьяны из твоих прошлых контор не смогли написать нормальный код?

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

с этим не спорю, я когда в конфиденте работал, там программист контроль системы печати сделал на С так, что она жрала 35% от проца и почти гиг оперативы. Многие php кодеры переходят на С# потому что он позволяет писать такой же говнокод, как и в php, который будет тормозить и тупить, но работать, да и скрещивание java c delphi уже о чём то говорит.

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

Нееет, надо дождаться официальной версии, с сертификациями и прочей вакханалией :)

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

Jython doesn't compile to «pure java», it compiles to java bytecode - ie, to *.class files. To develop for Android, one further compiles java bytecode to Dalvik bytecode. This means that, yes, Jython can let you use Python for developing Android, subject to you getting it to play nice with the Android SDK (I haven't personally tried this, so I don't know how hard it actually is) - you do need to make sure you don't depend on any Java APIs that Android doesn't provide, and might need to have some of the Android API .class files around when you run jython. Aside from these niggles, your core idea should work - Jython does, indeed, let write code in Python that interacts with anything else that runs on the JVM.

http://stackoverflow.com/questions/11120130/programming-android-apps-in-jython

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

Я на нем быдлокодю скрипты для Weblogic (WLST), хотя каких-то отличий от python не вижу, разве что можно java-классы использовать (но по сути я это не использую) и нет куска стандартной библиотеки (тот же signal, например, пришлось прикручивать дополнительно, а перед этим еще и найти его под этот jython, да и работает не так как «обычный»). Как-то тыкнулся на предмет использования кода на сабже в виде приложения для того же Weblogic, ничего не получилось и я бросил. В общем, штука, наверно, полезная и интересная, но на мой взгляд очень «нишевая».

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

Под него есть «обычный» python же (правда нужно его ставить дополнительно и вряд ли получится «родное» приложение).

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