Java код пишут для обращения к API в сторону embedded созданного под другими языками, к примеру C#, Python и т.п.
Нечто в виде framework со своей логикой, когда Java управляет внешними объектами. ROS именно на таких принципах запилен, и гордо, сам себя обозвал операционной золотым яйцом из которого вышла курица Ряба ;). Собственно при наличии вменяемого SDK со стороны устройства можно использовать многие языки.