Integracja Java i Python (bez mediów komunikacyjnych / serwisów)

0

Witam.
Jakie są możliwości integracji Python w Javie ale bez używania zewnętrznych serwisów takich jak Jython.
Czyli chodzi mi bardziej o integracje na poziomie kodu a nie serwisów.
Czy ktoś z was słyszał o technikach takiej integracji ?
Dziękuję za ewentualna pomoc.
Pozdrawiam.

0

CO chcesz osiągnąc?

0

Chcesz interpreter Pythona w Javie? Czy wołać kod Javy z Pythona/Pythona z Javy?

0

Generalnie chodzi o prace mgr w której mam zbadać efektywność połączenia dwóch języków jeden ma być typowany statycznie (Java) a drugi dynamicznie (Python). Chodzi tu o połączenie bez serwisu takiego jak Jython czy odpowiednio IronPython dla c# i Python. W pracy mam zbadać efektywność takiego połączenia i czy to w ogóle się opłaca.
@lion137 Myślałem raczej o wywoływanie kodu Pythona w Javie
Pozdrawiam.

0

Ale jak ty to sobie w ogóle wyobrażasz? o_O Opcje są dwie -> albo coś jak Jython albo https://github.com/kivy/pyjnius i w obu można łaczyć kod, ale tylko w jedna stronę, tzn z pythona używać javowych klas. W drugą stronę gorzej, chociaż nadal możesz przez jythona ewaluować pythonowy kod. Mogłeś sobie wybrać np. Java+Groovy, też byłoby statyczne i dynamiczne ale jednocześnie dało by się to spinać na poziomie kodu.

0

Istnieje coś takiego jak GraalVM: GraalVM - High-Performance Polyglot Runtime
Najlepsze przykłady są dla Ruby'ego i JavaScripta jeśli chodzi o języki skryptowe.

W zasadzie jeśli chodzi o sam JavaScript to rozwiązania już są oficjalne i wbudowane w Javę, np Mozilla Rhino lub Nashorn. Dokumentacja Javowego ScriptEngine (opartego chyba zwykle o Rhino): http://docs.oracle.com/javase/7/docs/technotes/guides/scripting/programmer_guide/index.html

Mozilla Rhino jest jednak bardzo powolnym interpreterem JavaScriptu. Graal.js jest szybki (na poziomie Chrome V8), ale jak na razie dalej w fazie eksperymentalnej.

0

Jeśli chodzi o opłacalność, to generalnie, efektywnościowo lepiej będzie wołać kod języka kompilowanego i statycznie typowanego z dynamicznego, skryptowego - czyli jave z pythona. Takie połącznie dla pythona już są, PyTorch, numpy. Wołając kod pythona z javy, mogę sobie wyobrazić, że dostajemy jakiś dodatkowy design, ale czy to się będzie opłacać - dostaniemy dodatkowy poziom komplikacji i błędów.

1

Jakie są możliwości integracji Python w Javie ale bez używania zewnętrznych serwisów takich jak Jython.
Czyli chodzi mi bardziej o integracje na poziomie kodu a nie serwisów.

Podałeś przykłady bibliotek (Jython, IronPython). O co Ci chodzi z tym serwisem? Nikt nie wymyślił lepszej integracji.

0

Dokładnie tak. Z tego co wiem Jython jest najbardziej naturalną formą integracji z Javą i nie wymaga żadnych serwisów.
http://www.jython.org/archive/21/docs/jythonc.html

0

Mam wrażenie, że autorowi pytania chodzi właśnie o zbadanie innej możliwości i porównania z istniejącymi rozwiązaniami. Ot praca badawcza w ramach magisterki, a nie użycie istniejącego rozwiązania.

1 użytkowników online, w tym zalogowanych: 0, gości: 1