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.
- Rejestracja:około 8 lat
- Ostatnio:ponad 3 lata
- Postów:13
- Rejestracja:około 8 lat
- Ostatnio:ponad 3 lata
- Postów:13
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.

- Rejestracja:około 21 lat
- Ostatnio:prawie 3 lata
- Lokalizacja:Space: the final frontier
- Postów:26433
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.

- Rejestracja:prawie 20 lat
- Ostatnio:43 minuty
Istnieje coś takiego jak GraalVM: https://4programmers.net/Forum/Java/293113-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.

- Rejestracja:około 8 lat
- Ostatnio:2 minuty
- Postów:4893
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.

- Rejestracja:prawie 8 lat
- Ostatnio:ponad 4 lata
- Lokalizacja:Siemianowice Śląskie
- Postów:500
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.

- Rejestracja:ponad 13 lat
- Ostatnio:prawie 3 lata
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