Java ist eine objekorientierte Programmiersprache. Diese wird zu einem über alle Computer-Architekturen standardisierten Bytecode kompiliert. Dieser Java-Bytecode kann dann auf einer virtuellen Maschine ausgeführt werden. Somit ist ein Java Programm direkt portierbar auf alle Plattformen und Architekturen, welche über eine Java Virtual Machine verfügen.
Bei vielen Programmiersprachen kann gut mit einem einfachen Editor gearbeitet werden. Bei Java ist das erfahrungsgemäss oftmals einfacher mittels einer geeigneten Entwicklungsumgebung.
Eine OpenSource IDE welche Java und eine Vielzahl anderer Programmiersprachen unterstützt.
Eine in Java geschriebene IDE, dual lizensiert (CDDL, GPL), welche ebenfalls andere Programmiersprachen unterstützt.