LINUX.ORG.RU

Вышел Jython 2.5.2

 , ,


0

3

После полутора лет разработки (последняя версия была выпущена 9 сентября 2009 года) вышла в свет новая версия Jython — реализации языка Python на Java. Jython является интерпретатором и компилятором (с возможностью компилировать в байткод Java).

Помимо стандартной библиотеки, программы, выполняемые в среде Jython, могут использовать любые классы Java.

Список нововведений:

  • модуль сокетов теперь поддерживает IPv6;
  • модуль сокетов также поддерживает многоязычные доменные имена (Internationalized Domain Names (RFC 3490)), поддерживаемые в Java 6;
  • повышение производительности: на тесте Richards Jython 2.5.2 работает в 3 раза быстрее, на тесте Pystone на 20% быстрее, чем версия 2.5.1;
  • модуль Posix/nt был переписан, его производительность заметно улучшилась;
  • улучшены сообщения OSError об ошибках в Windows;
  • немного уменьшено время запуска;
  • улучшен модуль эмуляции readline (требуется для поддержки IPython);
  • функции Python теперь могут быть переданы непосредственно в методы Java, которые принимают одиночный метод интерфейса (например, Callable или Runnable);
  • добавлен индексатор Google;
  • исправлены многочисленные ошибки.

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

После более года разработки

После полутора лет разработки

yurikoles ★★★ ()

Ура! Теперь он тормозит в 67 раз больше!

babusha ()

А сколько оно ест памяти относительно питона?

anonymous ()

>добавлен индексатор Google

а можно подробнее, что за индексатор? crawler что-ли?

Donnie_Darko ()

у кого есть реальный опыт работы с jython-ом: что скажите насчет производительности jython vs python?

Donnie_Darko ()

Это какая-то насмешка над самим мирозданием.

Lighting ★★★★★ ()

а кто-нибудь может объяснить, зачем ВООБЩЕ оно нужно?

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

а кто-нибудь может объяснить, зачем ВООБЩЕ оно нужно?

Если не понимаешь - иди играй в игры, не утруждай головушку :) Причина существования jython более чем очевидна.

I-Love-Microsoft ★★★★★ ()

Разврат какой-то. Компилятор и так высокоуровневого языка в байт-код другого высокоуровневого. Люди совсем разучились писать на чистом Си.

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

>Если не понимаешь - иди играй в игры, не утруждай головушку :) Причина существования jython более чем очевидна.

вопрос не столь прост, как кажется.

Если цель - реализовать петон через жабу, чтобы не писать нативный интерпретатор там, где уже есть жабий, то такие места долго искать и не найти.

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

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

А в общем, проект в целом олицетворяет филосовскую притчу про зло в бессмыслице...

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

Можно подумать малыш Гвидо умел писать на чистом Си, чтоб «разучиться».

anonymous ()

Уи-и-и, питононенавистнички! Какие вы миленькие у меня

anonymous ()

Самая загадочная и ненужная вещь на свете. Ждем поддержку 3.2 через двадцать лет.

baverman ★★★ ()

клёва!

теперь ждём Jython соответствующий CPython-2.6 (хотябы!)

....

уж сильно хочется делать :

try:
    ...
except MyError as e:
    ...
:-)

а не:

try:
    ...
except MyError:
    e = sys.exc_info()[1]
    ...
(всётаки лишняя строчка кода :-( ... для каждого try...)

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

> уж сильно хочется делать…

except MyError, e:

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

а что так не работает?

try:
    ...
except MyError, e:
    ...
hizel ★★★★★ ()
Ответ на: комментарий от AVL2

> вопрос не столь прост, как кажется.

а если цель (например): запустить web-приложение на Django, которое для некоторых своих функций использует сторонние билиотеки написанные на Java? :-)

[тоесть когда мы исходим из сложившийся ситуации, а не ваяем чтото с чистого листа?]

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

ведь найти хорошие web-фрэймворки для Java — не думаю чтобы прям так легко

с хорошим балансом: функциональность /div/ простота

user_id_68054 ★★★★★ ()

очевидная причина существования jython'a - скорость выполнения джава байткода в jvm. jvm всегда работала гораздо быстрей питоноподелок

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

которое для некоторых своих функций использует сторонние билиотеки написанные на Java

Не найти аналог на питоне — это надо сильно постараться.

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

> а что так не работает?



...



такая конструкция несовместима с Python-3 ...

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

фреймворков для джавы кучи, наиболее очевидный выбор - grails. ну или play

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

jvm всегда работала гораздо быстрей питоноподелок

Ты забываешь один нюанс.

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

какой нюанс? питон медленней джавы, это даже на питон.орг признают

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

> какой нюанс? питон медленней джавы, это даже на питон.орг признают

Нюансов больше, чем один: 1) на I/O-bound адачах производительность VM не имеет большого значения; 2) JVM, может, и быстрая, но памяти жрет в три горла и стартует медленно.

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

питон медленней джавы

Да, скомпиленной javac. А jython на выходе дает тормознутое динамическое гуано.

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

> Разврат какой-то. Компилятор и так высокоуровневого языка в байт-код другого высокоуровневого.

Почему разврат? все очень даже понятно. JVM круто оптимизирована, да и зачем плодить эти виртуальные машины, если есть одна хорошая.

Люди совсем разучились писать на чистом Си.

На Си писали, пишут и будут писать. Примерно такое-же количество людей, что и раньше... Массовая популяризация программирования обязана как раз таким языкам как питон.

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

вопрос не столь прост, как кажется

моя версия - чтобы питон тупо быстрее пахал поверх жабы, ибо JIT, но и версия с «не писать нативный интерпретатор» тоже

да и вообще, от jython много плюсов, а не минусов

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

> JVM круто оптимизирована

Быстрее нативного кода, оптимизированного GCC с -O4? :-)

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

> Быстрее нативного кода, оптимизированного GCC с -O4

Думаю, с этим ключом она и собирается... Плюс ко всему, ее код далеко не дураки писали. Возможны и ассемблерные оптимизации.

Хотя, например, реализация BIGINTEGER проигрывает ассемблерному GMP более чем в 2000 раз.

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

> а кто-нибудь может объяснить, зачем ВООБЩЕ оно нужно?
один дотнетщик говорил, что он просто без ума от многообразия языков для CLR. Там можно использовать в программе на Ruby объект, написанный на C#, наследоваться в питоне от объекта на C++ и так далее. Вот для JVM меньше языков, чем для CLR, так что пусть лучше будет. Хотя понятно, что IRL такое редко надо

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

Кстати, а есть где-нибудь сравнения бенчей скорости выполнения/потребления памяти?

X-Pilot ★★★★★ ()

две ненужности нашли друг друга.

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

Дадад, а индустрия софта пишет, поди, на лиспе и хацкеле.

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

а некоторые веб даже на плюсиках пишут (см. wt и cppcms)

anonymous ()

Кто-нибудь пробовал из него в ведроидовскую VM транслировать?

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

segfault> да и зачем плодить эти виртуальные машины, если есть одна хорошая.

Подсказка: определённая архитектура VM не может подходить для всех задач, а ещё есть патенты, да и на самом деле официальная VM жабы весьма и весьма фиговая... есть VM значительно лучше.

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

thevery> а нафига? разве в ASE нет нативного питона?

ASE не позволяет делать пакеты. ASE - это так, побаловаться, а не приложения разрабатывать.

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

>ASE не позволяет делать пакеты.
ну, а что мешает забандлить или забутстрапить?

ASE - это так, побаловаться, а не приложения разрабатывать.

а писать на питоне под андроид, можно подумать, это не баловство?

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

>есть VM значительно лучше.

это какие это универсальные VM сильно лучше JVM?

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

> Подсказка: определённая архитектура VM не может подходить для всех задач.

Начнем с того, что не для всех задач годится концепция VM. Но ява, вроде, претендует на хоть какую-то универсальность.

официальная VM жабы весьма и весьма фиговая...

Обязательно пользоваться официальной машиной? Используйте те, что лучше.

segfault ★★★★★ ()

Одно медленное говно реализовано на другом медленном говне.

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

thevery> ну, а что мешает забандлить или забутстрапить?

Можно, конечно, попробовать. Но это муторное дело.

thevery> а писать на питоне под андроид, можно подумать, это не баловство?

Если на жабе не баловство, то на пихтоне - и подавно серьёзно.

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

thevery> это какие это универсальные VM сильно лучше JVM?

Универсальных VM нет. Но та же VM из Inferno много ресурсов не кушает, и при этом хорошую производительность показывает.

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

segfault> Начнем с того, что не для всех задач годится концепция VM. Но ява, вроде, претендует на хоть какую-то универсальность.

Java - это язык + JVM. Только и всего. Итого получается, что утверждение об универсальности жабы весьма противоречивое. К тому же у дотнета VM как универсальная больше приспособлена.

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

>Если на жабе не баловство, то на пихтоне - и подавно серьёзно.

это вы серьёзно? как-то я не припомнимаю серьёзных программ в маркете не на java или плюсах (всякие внутренние lua не считаем)

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