Als portabel bezeichnet man Software, die relativ leicht an verschiedene Plattformen, also Kombinationen aus Hardware und Betriebssystem, angepasst werden kann. Im eigentlichen Sinne ist also nicht die Programmiersprache an sich portabel, sondern die damit erstellten Anwendungen.
Ein in C erstelltes Programm ist z.B. schon recht portabel, weil es durch eine Neukompilierung des Quelltextes verhältnismäßig einfach auf ein anderes System zum Laufen gebracht werden kann. Das setzt allerdings voraus , dass
auf der Zeilplattform ein C-Compiler verfügbar ist, der den gleichen Sprachstandard (hier ANSI C) unterstützt
das Programm keine hardwareabhängigen Funktionen benutzt
es keine betriebssystemspezifischen Funktionen aufruft.
Plattformunabhängige Anwendungen sind diesen Einschränkungen der Portabilität nicht unterworfen. Im Gegensatz zu einem C-Programm müssen Sie beispielsweise ein Java-Programm nicht neu kompilieren, wenn Sie es auf einem anderen Rechner ausführen wollen. Sobald auf der Zielplattform eine virtuelle Maschinen verfügbar ist, können alle in Bytecode vorliegenden Programme gestartet werden.