Hallo Michael
Sein Ziel ist eigentlich gar nicht aus der Java-Datei eine EXE-Datei zu machen. Sein Ziel ist es ein Javaprogramm auf Klick hin ausführbar zu machen.
Und das Ziel erreicht man auch mit .jar Dateien (zumindest ab Java 1.4 klappt das sehr gut; siehe dazu auch die Doku).
Ich bin erst dabei Java zu lernen, desshalb kenne ich .jar noch nicht. Ich werde mir dies jedoch mal ansehen.
Warum soll ich Java nicht für Windowsprogramme nehmen?
- Geschwindikgeit
- Sourccode ist nicht so sicher
- AFAIK können nicht alle GUI-Features, die Win zur verfügung stellt, genutzt werden.
Wenn die Geschwindigkeit eine Rolle spielt und man bei einer Plattform bleiben will, kann man mit einem native-code-Compiler auf nahezu C-Geschwindigkeit bringen.
Soweit ich weiss kommt man mit einem native-code-Compiler auf etwa halbe C/C++-Geschwindigkeit. Erfahrung habich jedoch keine damit.
Java ist eine moderne elegante Sprache. Warum soll ich das nichtauch für Windows-only Programme nutzen.
Siehe oben und unten. ;-)
Außerdem ist das Argument mir viel zu schnell zur Hand "einfach" eine andere Sprache zu nehmen.
Das Posting von Christian machte auf mich den Eindruck, als ob er sich ein paar Java-Tutorials und den JDK runtergeladen hat, ein wenig gecodet hat und sich auf einmal fragte, wieso man die .class-Dateien nicht einfach doppelklicken kann.
Viele, die sich für die Computerwelt interessieren und nun endlich einmal eine Programmiersprache lernen, wollen greifen zu Java. Und viele dieser Leute möchten vorallem für Windows programmieren. Anfangs sind sie begeistert, weil sie relativ schnell ihre ersten Fenster 'hinmalen' können. Die Begeisterung schwindet jedoch drastisch, wenn sie ein geschriebenes Programm an die Party eines Freundes mitnehmen und krampfhaft versuchen die .class-Datei auszuführen, was natürlich ohne JVM nicht geht.
Wenn man Programme schreiben will, die man _ohne_ Aufwand von WinPC zu WinPC mitnehmen kann, dann ist IMHO Java die falsche Sprache.
Ich bin keinen Falls ein Java-Gegner, im gegenteil: Es macht mir riesig Spass, meine eigenen kleinen Progrämmchen zu schreiben und diese zwischen Windows und Linux hin und her zu schieben.
Hört man zwar immer wieder das man die entsprechende Sprache für den entsprechenden Zweck nehmen soll, aber praxisrelevant ist das kaum. Weil man kann nicht so ohne weiteres mehrere Sprachen _beherrschen_. Das ist oftmals schlicht und ergreifend nicht machbar.
Da stimme ich dir voll und ganz zu.
Gut die Unterschiede zwischen Java und C++ sind scheinbar nicht so groß.
Ich glaube schon, dass die Unterschiede recht gross sind. In C++ kann man AFAIK Sachen machen (z.B. Funktionen, Pointer), die es in Java schlicht nicht gibt.
Zudem finde ich es nicht gut, einem blutigen Programmieranfänger eine OO-Sprache zuzumuten. Die Grundlage ist halt immer noch strukturierte Programmierung.
MfG
Tom2