Что такое Jython, и действительно ли это полезно вообще? [закрытый]

ОБНОВЛЕНИЕ : см. Комментарий Майкла ниже. Оказывается, есть способ сделать это напрямую через HTTPS.

Лямбда-функция не вызывается напрямую через HTTP, поэтому ответ на ваш вопрос - ни тот, ни другой. Вместо этого он вызывается одним или несколькими источниками событий .

Однако он может находиться за шлюзом API, который позволяет (косвенно) вызывать его по HTTP-запросу. В этом случае запрос преобразуется в событие вызова, и именно с этим работает ваша лямбда-функция.

28
задан MD XF 13 January 2018 в 01:20
поделиться

9 ответов

Цитирование Википедия :

Jython, преемник JPython, является реализацией языка программирования Python, написанного на Java.

Что касается того, что он может использовать:

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

Измерения производительности Jython, IronPython и CPython показывают, что Jython и IronPython превосходят CPython в некоторых случаях с большими наборами данных.

27
ответ дан Joey 28 November 2019 в 03:03
поделиться

Если вы знаете Python и привыкли к «питоническому» способу ведения дел, то Jython позволяет вам перенести эту философию в стек JVM. Если вы сделаете это, это будет гораздо больше, чем просто добавление скриптов.

В наших последних проектах вся пользовательская и бизнес-логика построена на Jython, в то же время мы все еще можем использовать некоторые из проверенных и проверенных библиотек Java, таких как Solr, Jasperreports, Quartz, Jetty, Velocity и многие другие. .

Он компилируется в байт-код, однако добавляется дополнительный слой, но он ничем не отличается от использования ORM, например, вместо прямого JDBC.

То, что вы получаете в производительности далеко, весит крошечные потери в производительности.

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

Последний JDK вместе с контейнерами, такими как Jetty или Tomcat, очень зрелый и стабильный, добавление Python сверху во многих случаях дает лучшее из обоих миров.

9
ответ дан Ron 28 November 2019 в 03:03
поделиться

Когда мне понадобится Jython?

Когда вы хотите программировать на Python, но хотите (или хотите) запустить результат на виртуальной машине Java или использовать существующие компоненты Java .

Каковы недостатки.

Jython может быть не на 100% совместим с Python, хотя любая несовместимость будет считаться ошибкой. Если позже вы захотите / должны работать на CPython, любой код, использующий компоненты Java, придется переписать.

Я полагаю, это медленно?

Это зависит, как всегда, от вашего конкретного варианта использования. В некоторых случаях это может быть быстрее, чем CPython; и, конечно, это зависит от конкретной JVM, под которой вы работаете, - все лучше и лучше.

6
ответ дан Michael Borgwardt 28 November 2019 в 03:03
поделиться

Две другие причины:

  • Встраивание сценариев в большое Java-приложение.
  • Используйте потоки Java для написания многопоточных программ на Jython.
5
ответ дан Richie 28 November 2019 в 03:03
поделиться

Jython - это реализация Python, которая работает поверх JVM. Теоретически, Jython немного медленнее, чем CPython.

Некоторые тесты можно найти здесь: http://www.smallshire.org.uk/sufficientlysmall/2009/05/22/ironpython-2-0-and-jython-2-5-performance-compared -в-питон-2-5 /

4
ответ дан Vitaliy Liptchinsky 28 November 2019 в 03:03
поделиться

Когда мне понадобится Jython?

Например, чтобы добавить хороший язык сценариев в ваш код.

Каковы недостатки?

Основной недостаток заключается в том, что Jython отстает от официального дистрибутива CPython. В настоящее время вы можете получить версию Jython, которая совместима с Python 2.5.2, тогда как CPython имеет версию 3.1.

Также некоторые эзотерические модули не поддерживаются. Обычно вы не заметите и / или не сможете легко найти замену Java.

Я полагаю, это медленно?

По сравнению с чем? Обычно это либо достаточно быстро, либо, если это не так, вы можете заменить несколько строк Python примерно на 1000 строк гораздо более быстрой Java.

4
ответ дан Aaron Digulla 28 November 2019 в 03:03
поделиться

JVM выполняет приятную динамическую оптимизацию, но, вероятно, это не из-за чего волноваться. JRuby иногда работает быстрее на JVM ( http://www.engineyard.com/blog/2009/j-is-for-jvm-why-the-j-in-jruby/ ) путем оптимизации пути кода, которые много работают, но это Ruby, а не Python.

Библиотеки Java являются основной причиной. У многих компаний есть большой объем Java-кода, который может быть написан на Python. Также есть несколько фреймворков с открытым исходным кодом (на ум приходят Struts и Eclipse), которые вы можете создавать с помощью Jython.

0
ответ дан wisty 28 November 2019 в 03:03
поделиться

Когда мне понадобится Jython?

Вы можете писать административные сценарии для сервера приложений Websphere, используя Jython. Сценарии используются для автоматизации общих административных задач и настройки безопасности на сервере приложений Websphere.

WebSphere использует JMX API для создания MBean-компонентов, которые представлены как API внутренних объектов WebSphere. Поскольку сценарии Jython основаны на Java и запускаются на JVM, они могут обращаться к этим объектам и могут использоваться для настройки WebSphere.

Кроме того, писать код на Jython - это весело, и вы изучаете новый язык.

Вот подробности

1
ответ дан 28 November 2019 в 03:03
поделиться

Когда мне понадобится Jython?

Мне нужен Jython для тестирования драйверов JDBC. Некоторые из приложений, которые я использую в работе, используют ODBC, некоторые - JDBC. Используя Jython, я могу протестировать оба типа драйверов из одного источника Python (для тестирования ODBC я использую мост JDBC-ODBC).

1
ответ дан 28 November 2019 в 03:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: