Java is good for research (especially when there are incompetent students involved). It has just right balance between easy discovering of bugs and soft demands to style. Irregardless of presence of required libraries though... I'm currently rebuilding such project, and what interesting is that it's complex system written in major part in spaghetti style, but it works!