Windowsprogramm mit C++ oder Java?
-
Kann man ein Windowsprogramm mit Fenstern und so einfacher mit Java oder C++ machen?
-
Beides ist schwierig. Java geht direkter und einfacher. C++ ist eher etwas für harte Männer, die auch Assembler nicht scheuen.
-
Hm, würde was mit Bordmittel wählen, wenns Windowsonly ist, also C# oder eine Library die lokale Komponenten verwendet, wie wxWidgets z.B.
Bei Java hat man den Vorteil, das das Programm "überall" funktioniert, aber ansonsten gibt es imho keinen grossen Unterschied zu den C++ GUI libs,
welche auch größtenteils Plattformunabhängig sind, aber halt jeweils auf der Plattform kompiliert werden müssen.
Letzt endlich ist es auch eine Frage des persönlichen könnens.
-
Mit Java geht es deutlich schneller als mit C++. Wenn Entwicklungsgeschwindigkeit entscheidend ist, dann kommt fast nur Java oder .NET in Frage.
-
hm Java schneller?
sobald die Umgebung mal eingerichtet ist (macht man 1x) gehts IMHO mit GTKmm ziemlich genau so schnell.
Mag sein dass mir hier wieder die eher alte Java-Version in der Schule (und das grauenhafte BlueJ) im weg sind, aber ich wüsste nicht wo das ganze noch beschläunigt werden kann. Und glade ist zum erstellen des Layouts auch recht angenehm.
[Und ja GTK sieht unter GNOME am besten aus IMHO aber läuft auch unter Win problemfrei]
EDIT://
Ohne zusätzliche Biblioteken ist Java bestimmt leichter zu proggen als WinAPI, keine Frage.
GTKmm ist eine C++ - Bibliotek (falls da jemand noch nicht drüber gestolpert ist)
-
meiha schrieb:
Java oder C++
ich habe das gefühl, dass das wieder ein sehr länglicher thread wird.
btw: ich bin für Java
-
Ich bin dafür, das zu nehmen was der OP bereits kann ...
Ob C# C++ oder Java ist, wenn er sich auf Win beschränkt sowieso egal, und mit Mono laufen auch sämmtliche unter Linux (wobei hier wieder die Frage ist was weniger Probleme macht - Java-VM installieren unter Linux oder das GTK-Programm, wenns polatformunabhängig geschrieben ist für Linux zu kompilieren
-
Der OP wird schätze ich mal beides nicht können. Daher: Java, weils einfacher zu lernen ist.
-
vergiss c++. nimm c# oder java. ich selbst würd java nehmen, aber das is wohl geschmackssache, c# is auch ok
c++ kannst ja nehmen wenn du langeweile hast.
-
Ganz einfach: Hängt davon ab was für ein Windws-Programm du schreiben willst.
-
@ hustbaer:
Jop Java dürfte leichter zu lernen sein, wenn man anfängt (keine Ahnung wie c# da liegt).
C++ bietet sich eigentlich nur an wenn mans bereits kann (und ein vernünftiges Toolkit verwenden kann) oder wenns ohne jegliche Runtime laufen soll (Java benötigt ja die VM und c# würde ja wohl dann .NET / mono benötigen) dann gibts allerdings auch kein GTK+/Qt
-
nep schrieb:
Ganz einfach: Hängt davon ab was für ein Windws-Programm du schreiben willst.
eigentlich nich ...
-
darthdespotism schrieb:
@ hustbaer:
Jop Java dürfte leichter zu lernen sein, wenn man anfängt (keine Ahnung wie c# da liegt).C# liegt auf der dunklen Seite der Macht
Ok, Scherz beiseite, C# ist alleine von der Sprache her schwerer zu lernen als Java, ganz einfach weils vielmehr Keywords, "Konstrukte" und Sprachfeatures hat.Sollte jmd. allerdings mit der Win32 API gut vertraut sein ist es vermutlich einfacher sich in das .NET Framework einzuarbeiten als in die Java Std.Lib. -- bloss dann hätten wir vermutlich wieder den Fall dass dieser Jemand schon C oder C++ kann
-
Also ich finde C# ist unnötig aufgebläht, man wollte einfach Java "besser" machen. Imho sind Structs, Delegates, Events, Operatoren* und Properties einfach zu viel des Guten. Ich habe zwar früher in Java die Operatoren* vermisst aber inzwischen bin ich ganz froh das es sie nicht gibt (damals habe ich noch so halb/halb C++ und Java programmiert). Macht die Sprache nur unnötig kompliziert und gebraucht werden sie in 99% der Fälle eh nicht.
* Ich mein natürlich Operatorüberladung.
-
vergiss c++. nimm c# oder java. ich selbst würd java nehmen, aber das is wohl geschmackssache, c# is auch ok
c++ kannst ja nehmen wenn du langeweile hast.
Es läuft prinzipiell auf eine Weiterentwicklung der objektorientierten Programmiersprache C++ hinaus. Diese Entwicklung hat sich in Java und C# manifestiert. Daher bieten diese Sprachen die Entwicklung von "Fenster"-Programmen (GUI) bereits in objektorientierter Form an. Java VM oder .NET/Mono (hier wird ein unnötiger Konflikt ausgetragen) benötigt man heutzutage sowieso, weil ansonsten viele Programme nicht laufen. Fasst man alles zusammen, bietet sich C# als modernste Sprache an.
-
Fasst man alles zusammen, bietet sich C# als modernste Sprache an.
Du meinst die aufgblähste Sprache. Siehe mein Posting oben. Was bietet es aber im gegensatz zu Java zusätzlich an?
-
Erhard Henkes schrieb:
Java VM oder .NET/Mono (hier wird ein unnötiger Konflikt ausgetragen) benötigt man heutzutage sowieso, weil ansonsten viele Programme nicht laufen.
Unter Win eindeutig richtig (und das war ja auch die Frage des OP.
Unter Linux hab ich kein Mono installiert und Java hats auch ne Zeit gebraucht bis ich das für nötig befunden habe.
Java(Apletts) laufen da allerdings momentan immer noch nicht sauber, gewisse IRC-Anbindungen bringen sowohl Firefox als auch Opera zum Crash, sodass Java hier uU problematisch sein kann.
-
DEvent schrieb:
Fasst man alles zusammen, bietet sich C# als modernste Sprache an.
Du meinst die aufgblähste Sprache. Siehe mein Posting oben. Was bietet es aber im gegensatz zu Java zusätzlich an?
zusätzliche komplexität.
-
pale dog schrieb:
DEvent schrieb:
Fasst man alles zusammen, bietet sich C# als modernste Sprache an.
Du meinst die aufgblähste Sprache. Siehe mein Posting oben. Was bietet es aber im gegensatz zu Java zusätzlich an?
zusätzliche komplexität.
Und das ist eher negativ.
Eine kritische Betrachtung der zusätzlichen C#-Features: http://www.geocities.com/csharpfaq/tfa
-
tfa schrieb:
pale dog schrieb:
DEvent schrieb:
Fasst man alles zusammen, bietet sich C# als modernste Sprache an.
Du meinst die aufgblähste Sprache. Siehe mein Posting oben. Was bietet es aber im gegensatz zu Java zusätzlich an?
zusätzliche komplexität.
Und das ist eher negativ.
so sollte man es auch verstehen...