plattforunabhängig vs abhängig

wpb

Erfahrenes Mitglied
Hy!

Weiß nicht ob die Frage hier richtig ist, aber ich kanns ja mal versuchen...
Also muss für ne Prüfung plattforunabhängige und plattfprab. Sprachen gegenüberstellen...
Also bei plattforunabhängig werd ich Java und .NET wählen.
Leider weiß nicht, welche sprachen so richtig plattforabhängig sind...

Kann wer helfen? Oder kennt wer hilfreich Links

Danke schon mal...
 
Plattformunabhängigkeit kann mann in 2 Dinge aufspalten:

Plattformunabhängig auf Bytecode ebene. Plattforumunabhängig auf Sourcecode ebene (Portabel).

Plattformabhängig:
Mann kann auch mit Java und C# plattformabhängig programmieren. Wenn du unter Java mit JNI funktionen der glibc aufrufst dann ist auch ein Java Programm auf jenen Plattformen die die glibc nicht bieten nicht lauffähig (bsp. Windows).

Die Sprache ansich garantiert keine Plattformunabhägigkeit. Sie kann dich da nur stark unterstützen. Um zu garantieren das mann keine plattformabhängigen Funktionsaufrufe tätigen muss ist Java sehr umfangreich auch in der Standard Edition.

Mann kann auch mit C++ plattformunabhängig auf Source ebene programmieren. Zwar musst dein Projekt für jede Plattform neu kompilieren aber das geht dennoch. Nur wirst du da relativ wenig unterstützt denn C und C++ entfaltet seine stärken gerade beim systemnahmen programmieren.

Wenn du nach einer Plattformabhängigen Sprache schaust, dann suche nach jenen die stark mit dem Betriebssystem verwoben sind. Hier wäre VB6 ein Beispiel das so stark mit der WinAPI verwoben ist das es nicht möglich ist ein VB6 ohne Emulation auf anderen Betriebssystemen zum laufen zu bekommen.

Also lautet nicht die Frage: Welche Programmiersprache ist Plattformunabhängig und welche nicht sondern die Frage lautet: Welche Technolgie greift mir als Programmierer am meisten unter die Arme beim plattformunabhängigen programmieren.

Und da kommt es auf die Konzepte der einzelnen Sprachen / Technologien an.
Java ist sicher unbestritten das Musterbeispiel was Plattformunabhängigkeit angeht. Weil die Konzepte es einen sehr leicht machen Plattformunabhängig zu programmieren.
Mono hat ebenso wenig Verbindungen mit dem Betriebssystem. Bei .net ist der Übergang fliessend, sprich mann muss aufpassen welche Technologien mann einsetzen kann damit dies auch auf Mono läuft, Bei C/ C++ gibts die Möglichkeit das QT Toolkit einzusetzen (und andere) welche einen unterstützt portabel zu programmieren. Sprachen wie Python, Ruby bieten ebenso die Möglichkeit portabel zu programmieren.

Grundsätzlich ist es schwer Sprachen zu finden die per default nur auf einer Plattform programmierbar sind.
Plattformunabhängigkeit ist das resultat: Plattformunabhängiger Technologien (Libraries/Virtuelle Maschiene), umsichtiger Programmierung als die einer Sprache
 
Je nachdem wie man programmiert kann auch C/C++ so richtig fies platformabhaengig sein. Es kommt halt immer darauf an was man so nutzt.

Nachtrag: Man sollte beim Posten nicht noch essen, sonst ist Chris wieder schneller. ;)
Na dann werf ich mal noch folgendes in die Runde: Selbst interpretierte Sprachen (wie z.B. PHP) koennen platformabhaengig werden wenn man daraus System-Befehle aufruft.
 
Zurück