Frage zur plattformunabhängigen Programmierung in C++

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

Ich würde gar nicht sagen, dass wenig plattformunabhängig programmiert wird. Es gibt eine Reihe von Programmen, die auf fast allen Plattformen läuft. Die Linuxgemeinde ist zwar recht groß, ist aber als zahlungswillige Kundschaft vernachlässigbar. Apple hat ziemlich restriktive Veröffentlichungsrichtlinien, so dass nicht jeder Hobbyprogrammierer Software für MACs erstellen und veröffentlichen kann. Microsoft hat mit Windows eine offene Plattform, die jeder mit seinen Programmen füllen kann. Das macht dann auch jeder (siehe Virusgefahren).

Einige Bibliotheken sind plattformübergreifend erhältlich (openGL/GLU, Java) und damit sind dann auch Programme erhältlich (Egoshooter wie sauerbraten, Office Software wie OpenOffice usw.).

Wobei Java in einer virtuellen Maschine läuft und deshalb nie so schnell sein kann wie C++, außerdem kann man Java Programme leicht dekompilieren, was für Firmen, für die bestimmte Algorithmen einen Wettbewerbsvorteil darstellen, von Nachteil ist. Bei Spielen kann man die Mac Plattform wohl wegen fehlendem Direct X vernachlässigen, aber bei den übrigen Anwendungen stellt sich die Frage, ob man gleich plattformunabhängig programmiert oder eben nur in der Windows Welt bleibt und alles bequem mit Visual Studio zusammenbastelt. Ist die Fähigkeit, plattformunabhängig zu programmieren, für einen C++ Programmierer überhaupt relevant oder legt letztlich kaum jemand darauf Wert?

0
@gugelhupf

Ist nicht relevant! Nur es gibt leider viel zu viele die meinen das es was besseres wäre wenn man etwas für alle Plattformen gleichzeitig programmiert. Ich finde man sollte sich für eine entscheiden und dann auch genaustens bearbeiten so das keine Fehler auftreten.

0
@Flashkick

Also impliziert nahezu jede Stellenanzeige im Bereich der C++ Programmierung, dass man sich mit Visual Studio auskennt und für Windows programmiert? Ich nehme an, dass Eclipse wahrscheinlich sehr selten für die Windows Programmierung genutzt wird. Letztlich sind für eine Firma ja die Softwarelizenzen nicht das Problem, sondern die Personalkosten.

0
@gugelhupf

Ich weiß auch nicht genau was daran so wichtig ist ob Visual Studio oder mono oder sonst was. C++ Programmieren ist in jeder Entwicklungsumgebung gleich! Nur die Features der Umgebung verändern sich.

0
@Flashkick

Es kann Softwareprojekte geben, für die es sehr wichtig ist, dass sie auf allen verfügbaren Plattformen laufen, ohne dass man für jede Plattform ein unabhängiges Entwicklerteam benötigt. Für die meisten Projekte würde ich Flashkick rechtgeben, Spezialisierung auf eine Plattform dürfte die Qualität erhöhen.

Wenn es darum geht, sich für den Stellenmarkt zu qualifizieren, ist es nach meiner Erfahrung sehr wichtig, sich mit den speziellen Tools auszukennen, die das Unternehmen schon verwendet - am liebsten sogar mit den dazugehörigen Libraries. Man befürchtet nämlich häufig eine zu lange Einarbeitungszeit. Es zählt dort allerdings eben auch nicht, ob man für alle Plattformen gleichzeitig entwickeln kann.

Programmieren an und für sich ist in allen Umgebungen gleich, da gebe ich Flashkick recht. Allerdings sind alle Plattformlibraries im Detail dann doch unterschiedlich - auch was die Fehlertoleranz angeht. Kennt man sich im Detail mit der einen oder anderen Umgebung aus, kann das Vorteile haben - gerade auch bei Bewerbungen.

0