Hi!
Das ganze hängt mir der Art zusammen, wie (wir; ich gehöre dazu) Programmierer Programme entwickeln. Man will nicht immer alles neu schreiben, deshalb nutzen wir fast immer komplette vorprogrammierte Funktionssammlungen. Diese Funktionssammlungen werden dann von den neugeschriebenen Programmen genutzt.
Auch Betriebssysteme bringen solche Funktionssammlungen mit. Die Funktionen müssen dabei in einer gewissen Art und Weise verwendet werden. Die "Verwendungsvorschrift" ist ein Software-Interface. Das nennt man dann API (Application Programming Interface = Schnittstelle zur Anwendungsentwicklung).
Du hast ja sicher schon gemerkt, dass nicht jedes Programm unter jedem Betriebssystem und schon gar nicht auf jeder CPU läuft. Z.B. kann ein C64-Programm nicht direkt unter einem PC, der Linux fährt gestartet werden. Umgekehrt auch nicht.
Dsas erschwert aber durchaus die Entwicklung von Programmen. Es währe einfacher, wenn man ein Programm auf einem Rechner schreiben würde, dass dann auch mit einem anderen Betriebssystem und einer anderen CPU laufen würde. Genau das macht mans eit einigen Jahren. Dabei braucht man aber auf jedem Rechner eine "Ausführungsgrundprogramm", dass die in einem speziellen Code geschriebenen Programme ausführt. Bei Java ist das die Java-Laufzeitumgebung (JRE) und bei Microsoft, das .NET-Framework. Das ganze ist eine Art "Betriebssystem im Betriebssystem".
Eigentlich eine geniale Angelegenheit, wenn man es vernünftig nutzt, wie es SUN mit Java macht. Wenn man es wie Microsoft nur unter Windows auf Intel-CPUs anbietet, ist es irgendwie nicht sonderlich originell, aber es erleichtert trotzdem die Programmierung, weshalb es von Programmierern eingesetzt wird.
Bis dann
Andreas