DIE Programmiersprache für EXE-Dateien ist C bzw. C++ bzw. C#
und noch viele mehr,
Das stimmt schon, aber sage mir bitte, welche am meisten verwendet wird, um Anwendungen (keine Webanwendungen) zu schreiben. Es wird eigentlich nur noch mit C programmiert. Ich glaube, das nicht ohne Grund.
(die genauen Unterschiede kennt irgendwie keiner, nur dass C++ auf C basiert).
C ist eine prozedurale Programmiersprache, C++ ist wohl von der Mächtigkeit wie von den Spracheigenarten C sehr verwandt, verfolgt aber den objektorientierten Ansatz. C# (sprich C-sharp) ist wohl C, welches aber innerhalb des .NET-Frameworks seine Daseinsberechtigung fristet.
Also ist C# ein Microsoft-Produkt?
Alle drei Sprachen sind gegenüber anderen Sprachen wie Java, Javascript oder Perl nicht Plattformunabhängig.
C ist doch plattformunabhängig?! Du behauptest hier etwas falsches. Wäre doch sonst unsinnig, Compiler auf Linux und auf Windows anzubieten. Schaue doch mal bei Wikipedia:
"C ist eine Programmiersprache, die auf fast allen Computersystemen zur Verfügung steht." => (fast) plattformunabhängig.
Aber natürlich kannst du auch Java zum erstellen von EXE-Dateien verwenden, das ist überhaupt kein Problem.
Du kannst nachdem du dein Java-Programm fertig hast zwar einen exe-Wrapper drum bauen, ist aber nie im Sinne des Erfinders gewesen und ist m.W. auch keine von Sun unterstützte Technik.
Macht m.E. auch keiner.
a) Musst du die JRE mit einpacken und blähst damit jedes Java-Programm und sei es 'hello world' um AFAIK mindest 11 MB auf.
Bestes Beispiel: Die Opera-Installationsdatei. Mit Java ist es um fast 13,5 MB größer.
b) Verlierst du die Plattformunabhängigkeit.
Was ja bei C nicht der Fall ist, man muss es ja auch nicht in ein Archiv packen :)
Die Erfahrung, die ich damit gemacht habe, ist, dass in C geschriebene Programme stabiler sind, als solche in Java oder VBA.
Was verstehst du unter "stabil"? Für mich ist es stabil wenn das Programm z.B. nicht unerwartet durch Programmierfehler abstürzt. Leider ist die Gefahr fehlerhafte Programme zu schreiben unter C m.W. größer.
Ein Programm empfinde ich (unter Window jedenfalls) stabil, wenn es sich, falls es einmal nicht mehr reagiert, sofort und ohne Murren über den Taskmanager beenden lässt. Etliche Programme lassen sich einfach nicht schließen, da nützt der beste Taskmanager nichts mehr, nur noch ein reboot.
Beachte aber: Einige Compiler reagieren anders auf Fehler als wieder andere Compiler. Also, es kann sein, dass dir ein Compiler einen Fehler ausgibt, ein anderer aber nicht.
Ähm, das versteh ich jetzt nicht, hast du da ein Beispiel zu? Ein Compiler führt eine lexikalische, syntaktische und semantische Analyse durch. Alle drei Eigenschaften sind im Sprachstandard festgelegt und lassen dem Compiler meinen Verständnis nach keinen Spielraum. Wie kann da ein Compiler Fehler verzeihen ein, anderer nicht?
Ich hatte einmal solch einen Fall unter Java. Aber leider den Quellcode nicht mehr...
Wenn sich doch alle Compiler an dieselben Regeln halten, warum gibt es dann verschiedene? Bräuchte man doch dann nicht mehr. Es gibt schon Unterschiede zwischen den Compilern (die ich im Detail aber nicht kenne), die von ihrer unterschiedlichen Programmierweise her rührt.
kerta