Gibt es eine Programmiersprache, die Plattformunabhängig als auch Performance bietet?

9 Antworten

Seit wann ist C++ plattform-abhängig?

Für die Oberflächenprogrammierung (wenn Du das meinst) kann man Bibliotheken nehmen, welche dann die jeweiligen Schnittstellen ansteuern, wie z.B. Qt mitsamt seinem Creator. Java macht vermutlitch im Prinzip auch nichts anderes, als quasi #if(Betriebssystem) dort einzufügen, wo nötig. Die Unterscheidung wird einfach in die jeweiligen Bibliotheken verfrachtet.

Sofern Du ein Programm erstellst, sollten die Algorithmen-Konzepte sowie nicht sonderlich Plattform-abhängig sein. Bei der Optimierung dieser Algos auf Geschwindigkeit und Speichereffizienz können Code-Teile hardware-näher geschrieben werden, dann bietet sich das #if(Betriebssystem) an. Die Oberfläche, in welchem der Algo aufgerufen werden kann, sollte dann nicht wirklich der Performance-Hemmer sein.

Aber erst das Programmierziel definieren, dann konzeptionieren.

Im Übrigen: Man kann mit C++ Teile schreiben, welche dann von anderen Programmteilen, die in anderen Sprachen geschrieben sein können, aufgerufen werden ("Kombination"). Das kann gut helfen, die auf Effizienz getrimmten Teile mit C++, Assembler etc. zu schreiben, pro Betriebssystem, und den Rest (GUI etc) mit einer "einfacheren" Sprache. Aber wie gesagt, je nach dem, was Du progen willst.

Das ist ein grundsätzlicher Konflikt: Entweder man rückt möglichst nahe an die Hardware heran und bewegt sich auf den hardwarenahsten Ebenen des Betriebssystems - dann kann man maximale Performance herausholen.

Oder man rückt bewusst davon ab und spricht nur über standardisierte Abstraktionsebenen mit Hardware und Betriebssystem - dann kann man Plattformunabhängigkeit erzielen, aber bleibt von der Performance hinter dem Maximum zurück.

Es ist damit nicht nur eine Frage der Programmiersprache, sondern auch des Programmierstils, des Compilers und der verwendeten Frameworks. Damit verbunden sind dann wieder Kosten für Entwicklung, Betrieb und Wartung der Software über den gesamten Lebenszyklus. 

Für Anwender-Unternehmen sind vor allem diese Kosten und der Funktionsumfang entscheidend. Ob eine Lösung maximale Performance aus der Hardware holt und ob sie auf allen nur denkbaren Plattformen läuft, ist dem untergeordnet.

Jede höhere Programmiersprache ist plattformunabhängig.

Erst der jeweils verwendete Compiler erzeugt plattformabhängigen Code.

Unter einem Compiler in diesem Sinne verstehe ich Software, die ein in einer höheren Programmiersprache geschriebenes Programm auf Maschinensprache abbildet.

Erst mit der Programmiersprache Pascal kamen Compiler auf, die die höhere Programmiersprache auf eine weniger hohe, aber immer noch plattformunabhängige abbilden. 

Java und C# etwa werden durch ihre Compiler nicht direkt auf Maschinensprache abgebildet, sondern auf einen plattformabhängigen Code, der dann - zur Laufzeit - durch einen plattformabhängigen Interpreter in eine Folge von Aufrufen der von der Maschine zur Verfügung gestellten Befehle abgebbildet werden.

Wie programmiert man eine Programmiersprache?

Dies ist vielleicht eine komische Frage, aber wie programmiert man eine Programmiersprache?

Ich meine, so eine Sprache wie Java wurde mit einer anderen Programmiersprache programmiert, doch wie hat man diese dann programmiert? Und wenn wieder mit einer anderen, mit welcher wiederum diese?

Oder wer hat dann die allererste Programmiersprache programmiert, bzw. wie?

...zur Frage

Für jede Sprache neues Buch kaufen?

Hey Community,

Soll ich wenn ich das Buch " Schrödinger programmiert Java" durch habe und alles machen kann was ich möchte und dann auch ne andere Programmiersprache lernen möchte mir dann für jede Sprache ein neues Buch von Schrödinger kaufen, weil ich finde die echt gut. Also für Html, css, js und c++ und c#

...zur Frage

Ist Java eine gute Programmiersprache um Apps zu programmieren?

Hallo, ist Java eine gute Programmiersprache um Apps zu programmieren die in den Appstore oder Playstore kommen? Und wie lange dauert das bis man die Kenntnisse besitzt eine App zu programmieren (Ich weiß jeder braucht unterschiedlich lang, jedoch wäre ein Schätzwert hilfreich)

Ich frage, da ich anfangen will zu programmieren und hobbymäßig Apps programmieren möchte.

MfG

Bimaja

...zur Frage

Java Lernen/Buch dazu?

Hallo kann mir jemand ein Java Buch empfehlen welches für Anfänger/Jüngere Personen ist. Bin erst 12. Oder ist Java nichts für Anfänger? Wenn nicht welche Programmier Sprache dann?

...zur Frage

Welche Programmiersprache ist einfacher zu erlernen: Java (für Android) oder Swift (für IOS)?

Bitte nur beantworten, wenn ihr auch beide Sprachen gut kennt. Ich kann bisher nur Visual Basic, vielleicht ist ja auch eine der beiden Sprachen näher dran an VB.

(Hintergrund: Ich will mich bald in die App-Programmierung stürzen und weiß natürlich, dass andere Fakten viel wichtiger sind als die Sprache. Dazu habe ich schon sehr viel recherchiert. Aber ein kleiner Fakt ist nun mal auch die Sprache und hierzu habe ich keinen Vergleich gefunden.)

Danke euch schon mal, Gruß Tom

...zur Frage

Was möchtest Du wissen?