W IBM I, Will Java Compiller "Mów" ILE? Googling znaleźli różne próbki kodu pokazujące, jak RPG może nazywać metodami Java, ale nie można znaleźć żadnego odniesienia do Java jako JAVA Język. Czy są jakieś plany na to, czy jest powód, dla którego Java nie może być językiem Ile języka IBM I?

1
mike 15 luty 2017, 18:50

2 odpowiedzi

Najlepsza odpowiedź

Dokonywanie Java A w tym samym sensie, w tym samym sensie, że RPG i Ile C są, byłyby głównym przedsięwzięciem, jeśli w ogóle jest możliwe. Języki ile mają właściwość, że ich skompilowane moduły mogą być swobodnie wymieszane i dopasowane, gdy Łączenie do programu ILY. Innymi słowy, po skompilowaniu modułu koncepcyjnie mieć moduł Ile i nie jest bardzo ważny, który język został użyty w kodzie źródłowym dla tego modułu. Wszystko, co musisz zrobić, to upewnić się, że wszystkie prototypy funkcji lub procedury w kodzie wywołujące są kompatybilne z odpowiednimi prototypami w nazwie Kodeksu.

Wystąpił projekt, który próbował zrobić dokładnie to z Java w świecie UNIX / Linux, zwany Kompilator GNU dla Java (GCJ). Ideą było skompilowanie modułów Java w formie binarnej, która była bezpośrednio połączona przez (na przykład) kodu C ++ za pomocą GCC. Nie jest jasne, czy nigdy nie dotarła do "jakości produkcyjnej", a na tym pisaniu, GCJ nie jest już częścią GCC. Możesz więc spojrzeć na GCJ jako dowód koncepcji hipotetycznej Javy i ostrzegawczej opowieści przeciwko Ile Javie.

W obu przypadkach wysiłek wymagany do wykonywania Ile Java jest prawdopodobnie nieuzasadnione stosunkowo niewielką korzyścią. Chociaż obecnie nie możesz Link Kod Java bezpośrednio z kodem Ile Code, możesz nadal Call Java z RPG i Call RPG z Java, który jest wystarczająco dobry dla większości przypadków użytkowania.

Co byłoby łatwiejsze niż pełne rozmycie Ile Java jest rodzimym IBM I wdrożenie JVM, zbudowany za pomocą Ile języków (najbardziej oczywiste wybory bycia Ile C lub Ile C ++), takiego, że nie jest używane w ogóle. Ale iść na tę trasę, nadal wymagałoby korzystania z istniejących sposobów dzwonienia Java z RPG i odwrotnie, więc korzyść byłaby praktycznie zero. I wysiłek przenoszenia JVM do Ile C ++ jest zdecydowanie większy niż zero. Należy również pamiętać, że IBM prawdopodobnie będzie chciał zaktualizować swój JVM do bardziej lub mniejszego przebiegu tempa z JVM Oracle, a to będzie łatwiej zrobić z JVM zaimplementowanym w Pase, a nie JVM zaimplementowanym w językach Ile języków.

3
John Y 15 luty 2017, 19:15

Java na IBM I nie jest Językiem Ile ... faktycznie biegnie w Pase (dla więcej aktualnych wersji).

RPG może wywołać kod Java, tworząc JVM i uruchomienie aplikacji Java.

Normalny sposób na wywołanie kodu RPG z Java jest użycie Programcall lub ProgramCalldocument.

2
David G 15 luty 2017, 16:37