Tak este vysvetlenie, co ma doviedlo az k nazoru, preco skript na platforme JVM a preco Groovy ?
Priklad z praxe: Potrebujem skript, ktory bude pristupovat do proprietarnej databazy a bude bezat na 3 roznych platformach.
Na vsetkych platformach je Perl, Python, Java. Na 3.platforme nie je Ruby a nefunguje tam DB-driver pre Perl. Nemam to ako ovplyvnit, nie som tam admin, takze Perl a Ruby vypadavaju.
Zostava Python. S tym je vsak maly problem, lebo na kazdej platforme je iny DB-driver. Na jednej je pyodbc, na druhej sa podari spojazdnit JayDeBeApi s prislusnym JDBC pre danu databazu a na tretej platforme je nejaky proprietarny driver.
Takze napisem skript v pythone, kde sa v zavislosti od detekovanej platformy pouzije na pripojenie do DB jeden z 3 driverov. Vsetky maju sice uvedene ze splnaju specifikaciu DB-API v2.0, ale pri testovani sa zistia urcite rozdiely pri praci s databazou, takze skript treba dobre otestovat na kazdej platforme a doladit vsetky rozdiely, tak aby sa spraval vsade rovnako. Toto zaberie dost casu.
Potom urobim PoC - napisem to v Jave - na kazdej platforme to bezi uplne rovnako. Nepotrebujem zabijat cas testovanim na troch roznych platformach a vyladovat rozdiely.
Avsak Java nie je skriptovaci jazyk a je dost ukecana, tak urobim dalsi PoC a prepisem to do Groovy - kod je ovela kratsi a elegantnejsi ale bezi vsade bez rozdielu rovnako - ako Java - super. Kolko casu by som usetril, keby som to nepisal najprv v Pythone, ale urobil to hned v Groovy.
Mozno by som mohol pouzit aj iny skriptovaci jazyk pre JVM. Jython vsak nie, ten je v zastaralej verzii. Mozno JRuby, ale naco sa zatazovat inou syntaxou, ked Groovy je k Jave syntakticky blizsi.