Jython и JRuby против Groovy (и Java)

Jython и JRuby против Groovy (и Java)
Jython и JRuby против Groovy (и Java) - mlapergolaphoto @ Unsplash

У меня нет опыта работы с JRuby или Groovy. Но Джейтон:

  • Отличная интеграция с NetBeans. NetBeans может запускать программы Python с Jython почти сразу после установки, просто установите подключаемый модуль «Jython Distribution», и все готово. Судя по всему, Eclipse тоже работает. См. главу Использование Jython в IDE в Jython Book.

  • Интеграция Java-Jython превосходна. Вызов Java из Jython очень прост. Вызов Jython из Java не так прост (Java не был разработан с учетом Jython), но все же довольно прост. Мне в основном повезло с созданием класса в Jython (расширение класса/интерфейса Java), а затем с созданием экземпляров этого класса в Java с использованием фабрики объектов. Инструкции см. в разделе Интеграция Jython и Java.

Расширение класса Java в Jython работает следующим образом:

from javax.swing import JFrame, JButton

class MyFrame(JFrame):

    def __init__(self):
        self.defaultCloseOperation = JFrame.EXIT_ON_CLOSE
        self.size = (300, 300)
        self.add(JButton('Click Me!', actionPerformed=self.print_something))
        self.visible = True

    def print_something(self, event):
        print 'Clicked!'

Реализация интерфейсов работает аналогично, просто импортируйте интерфейс, «расширьте» его с помощью определения класса, такого как class MyClass(MyInterface), и реализуйте то, что необходимо.

Моя единственная критика Jython заключается в том, что его исходная производительность не очень хороша (и это в основном потому, что он использует массивное отражение для взаимодействия с Java). Но тогда грубая производительность обычно не имеет значения для языка сценариев.

Прикрепляю к посту несколько видео по теме:

Прикрепленное видео 1 - A Groovy Kind of Java

Прикрепленное видео 2 - What Is the Best Way to Embed Your Scripting Language in Java?

Прикрепленное видео 3 - The Java Ecosystem for Tech Recruiters!


LetsCodeIt, 23 мая 2023 г., 09:45