Szerintem erre a Java a legszerencsésebb választás.
Egyrészt tudnak futásidőben osztályokat összerakni, másrészt ha forráskód-módosításokban gondolkodnak, akkor a groovy és hasonló eszközökkel nagyon kényelmes eszközöket kapnak. Bátran mutálhatják a kódot, ugyanakkor hozzáférnek Java objektumokhoz...
Egyéb, MI-ben divatos nyelvekkel biztosan nem állnék neki. Azokkal már 40 éve próbálkoznak nagyon okos emberek, mégsem jutottak eredményre :)