Also, wenn es modular sein soll, wirst du, nach meiner Meinung, nicht wirklich um eine Programmiersprache vorbeikommen können. Bis jetzt hat sich für mich Java bewährt, vor allem, weil ich das gleiche Programm an verschiedenen OS benutzen kann.
Für die Oberfläche selber gibt es genug IDEs die die Plugins schon integriert haben (zum Beispiel Netbeans, das mit dem JDK kostenlos mit heruntergeladen werden kann). So kann ich in ~30 bis 45 min die gesammte Oberfläche "roh" erstellen und anschließend die einzelnen Funktionen hineinschreiben. Auch erleichtert der Umstand, dass es für die meisten Funktionen, die man so benutzten könnte (zum Beispiel die serielle Schnittstelle anzusteuern, aus einer Datei zu lesen oder eine verkettete Liste zu erstelllen) schon vorgefertigte Klasen gibt und man diese "Baulötze" nur noch richtig zusammenfügen muss.
Auch findet man genug Tutorials per Google und Bücher (sowohl normale, wie auch elektronische), die einem das erlernen der Sprache vereinfachen. Da Java leicht an C udn C++ angelehnt ist, ist es natürlich vorteilhaft, wenn man schon in einem der Sprachen programmiert hat, aber es geht auch ohne vorkentnisse, man darf sich nur nicht entmutigen lassen.

Naja, Java an sich ist halt extrem gut, wenn man die Zeit hat, sich in die Sprache einzuarbeiten und, wie ich es bei mir und einigen Semesterkameraden gesehen habe, dauert es ca. von 2 Wochen bis ein Monat bis man aus der "wie zum Geier ist das zu machen"-Frust herauskommt und die Modularität von Java zu schätzen und zu lieben beginnt.
Mir tun jetzt schon die Finger weh, wenn ich daran denke, wie zach es ist eine verkettete Liste in C zu programmieren (waren ca. 75-150 Zeilen Code). In Java ist das ganze in einer Zeile mit "ArrayList<Integer> verketteteListe" gegessen .
MfG
Mobius