C++ oder Java kann mich nicht entscheiden.



  • also soweit ich das beurteilen kann (habe mit beiden nicht viel erfahrung) bietet java eine sauberer designte/größere/konsitentere stdlib. auf der anderen seite dann eine nativ kompilierende sprache "c++" dessen vorteil die performance ist. ein direkter vergleich ist so unmöglich.

    evtl. könnte man sagen: willst du wissen wie gängigerweise klassenmember benannt werden nimm java, ist dir das latte und du willst dass es möglichst schnell läuft nimm c++.



  • dot schrieb:

    C++ oder Java kann mich nicht entscheiden.

    Lern C# 🙂

    gute idee, lass uns noch mehr unsicherheit verbreiten. zur auswahl stünden auch noch php/ocaml/js/as/c/erlang/haskell falls du dich jetzt immer noch nicht entscheiden konntest nimm brainfuck.



  • __-- schrieb:

    dot schrieb:

    C++ oder Java kann mich nicht entscheiden.

    Lern C# 🙂

    gute idee, lass uns noch mehr unsicherheit verbreiten. zur auswahl stünden auch noch php/ocaml/js/as/c/erlang/haskell falls du dich jetzt immer noch nicht entscheiden konntest nimm brainfuck.

    Da Microsoft bald mit Windows 8 das gesamte Betriebssystem virtualisieren will und dann die ganze Software möglichst unter .Net laufen sollte, ist die Antwort von dot bezügl. C# gar nicht so falsch.

    Denn wenn das eintritt, dann wird C# eine führende Rolle bei Software für Windows einnehmen.



  • c# ist doch genauso beschissen wie java



  • __-- schrieb:

    c# ist doch genauso beschissen wie java

    Das ist ja egal, wenn du als Entwickler auf C# Zwangsumsteigen muß, weil das Windows Betriebssystem 8 und später das so vorgibt.



  • __-- schrieb:

    c# ist doch genauso beschissen wie java

    Nein, eben genau nicht. C# ist das was Java hätte sein sollen. Darum ja auch mein Ratschlag 😉



  • dot hat recht schrieb:

    __-- schrieb:

    c# ist doch genauso beschissen wie java

    Das ist ja egal, wenn du als Entwickler auf C# Zwangsumsteigen muß, weil das Windows Betriebssystem 8 und später das so vorgibt.

    wie du im beruf und ausbildung subforum nachlesen kannst hab ich mir meine autonomität bewahrt. ich verdiene kein geld damit für windows software zu schreiben. und schon gar nicht mit java bzw. c#. da geh ich lieber ans fließband oder baue kugelschreiberzusammen als mich damit mittel/langfristig zu beschäftigen.



  • dot schrieb:

    __-- schrieb:

    c# ist doch genauso beschissen wie java

    Nein, eben genau nicht. C# ist das was Java hätte sein sollen. Darum ja auch mein Ratschlag 😉

    Das merkt man vor allem, wenn man C#-Programme hat, die für verschiedene Versionen vom .KACK-Framework erstellt wurden. Für jede Version muss man auch die passende Framework-Version installiert haben. Was für ein Müll. Unter Windows der absoulte Graus.

    Java ist da um Längen voraus. Okay, Mono macht es auch besser...



  • Tachyon schrieb:

    Das merkt man vor allem, wenn man C#-Programme hat, die für verschiedene Versionen vom .KACK-Framework erstellt wurden. Für jede Version muss man auch die passende Framework-Version installiert haben. Was für ein Müll. Unter Windows der absoulte Graus.

    Java ist da um Längen voraus. Okay, Mono macht es auch besser...

    Stimmt, deswegen bringen ja einige Programme ihre spezielle JRE mit, damit ja die richtige (sprich kompatible) Java-Version vorhanden ist. Ich habe selbst zu Windows 7 Zeiten etliche JRE-Versionen auf dem Rechner. Ist natürlich besser als .Net wo es 3 wichtige Versionen gibt (1.1, 3.5, 4.0 - alle anderen können mittels Update auf diese Versionen hochgesetzt werden; Innerhalb dieser Versionen sollten Programme mit dem Framework kompatibel sein).



  • asc schrieb:

    Stimmt, deswegen bringen ja einige Programme ihre spezielle JRE mit, damit ja die richtige (sprich kompatible) Java-Version vorhanden ist. ...

    Nenn mal Beispiele. Ich hatte bis jetzt nur Programme, die mit der jeweils aktuellsten JRE wunderbar liefen. Eigene JREs jatte da bis jetzt keins mitgebracht.



  • Beispiel: Matlab



  • Tachyon schrieb:

    Nenn mal Beispiele.

    z.B.: Araxis Merge, AMD RAIDXpert...

    P.S: Und ja, ich hatte in der Vergangenheit schon einige Programme die mit der jeweils aktuellen JRE nicht liefen, zu dem Zeitpunkt war es aber auch nicht unüblich dutzende verschiedene JRE auf dem Rechner parallel zu haben (Dutzend ist vielleicht übertrieben, ich hatte auf meinen letzten XP insgesamt 10 gezählt [Mit weit mehr benötigten Platzverbrauch als alle .Net Versionen damals zusammen (1.1, 3.5 waren auf dem PC)], ist aber nun auch schon etwas her).

    .Net definiert ganz klar wann eine Abwärtskompatibilität aufgegeben wird, daher auch mehrere Version (wie gesagt, derzeit 3 Stück: 1.1 (1.0,1.1), 3.5 (2.0,3.0,3.5) und 4.0. Ein altes Programm kann auf einer neuen Version laufen, dies ist aber nicht zwingend gegeben (sofern die entsprechende .Net Version gefunden wird, wird diese daher auch verwendet).

    Bei Java gab es gerade am Anfang einige massive Brüche, ohne das irgendein Mechanismus in der Anfangszeit dieses verhindert hat. Daher wurde dann teilweise für Versionssprünge neue Verzeichnisse angelegt, vielleicht haben sie dies inzwischen (etwas) im Griff.

    Ich persönlich habe mit dem .Net-Versionierungen keine Probleme, wenigstens ist dort klar definiert wo eine Kompatibilität gegeben ist, und wo nicht.



  • Viele Programme bringen ihre eigene JRE nicht mit, weil sie inkompatibel zu anderen wären, sondern nur aus dem Grund, falls der User noch keine JRE installiert hat. Ich hab auch ungefähr eine Milliarde msvcrt.dlls u.Ä. auf meinem Rechner, genau das gleiche.



  • gastantwort schrieb:

    Viele Programme bringen ihre eigene JRE nicht mit, weil sie inkompatibel zu anderen wären, sondern nur aus dem Grund, falls der User noch keine JRE installiert hat...

    Dann müssten sie diese aber nicht in ihr eigenes Verzeichnis kopieren, sondern sollten dies a) prüfen, und b) in die normalen Verzeichnisse installieren (so das keine unnötigen Versionen auf dem PC liegen).



  • asc schrieb:

    gastantwort schrieb:

    Viele Programme bringen ihre eigene JRE nicht mit, weil sie inkompatibel zu anderen wären, sondern nur aus dem Grund, falls der User noch keine JRE installiert hat...

    Dann müssten sie diese aber nicht in ihr eigenes Verzeichnis kopieren, sondern sollten dies a) prüfen, und b) in die normalen Verzeichnisse installieren (so das keine unnötigen Versionen auf dem PC liegen).

    Das ist aber kein Problem von Java, sondern des jeweiligen Programms. AMD RAIDXpert ist an sich schon arg plattformabhängig. Und Araxis Merge läuft mit 'ner normal installierten JRE sofern sie gleich oder neuer der mitgelieferten Version ist. Liegt also am Hersteller.



  • AFAIK gab es diese Java Inkompatibilitätsprobleme doch nur am Anfang, also zwischen Java 1.0 und Java 1.1 sowie 1.2.

    Ab Java 1.2 gab es eigentlich keine Probleme mehr, die Progamme, die für Java 1.2 kompiliert wurden, auf modernen JRE bis hin zu JRE 6.0 zu installieren und auszuführen.



  • Und die andere Richtung? Laufen denn die Programme mit generics kompiliert fuer 1.6 auch auf 1.5 oder aelter? Auch ist ja nicht nur die VM entscheidend, was ist mit Unterschiede in der API oder einfach Klassen, die frueher nicht verfuegbar waren ...

    Fuer einen Anfaenger ist das aber dennoch nicht relevant. Nimm einfach eins von beiden und gut ist!



  • So also hab mir mal ein paar Gedanken gemacht und würde im Idealfall mit der Programmiersprache kleine Spiele ( wirklich nichts großes) oder Programme schreiben welche Tasten etc an andere Programme senden (Bots)
    Welche Sprache eignet sich dazu denn gut? bzw geht sowas mit Java auch? kenne nur das man mit Java spiele etc programmieren kann.
    Und sollte ich denn anstatt C++ C# lernen, wenn man zwangsweise eh umsteigen muss ?



  • knivil schrieb:

    Und die andere Richtung? Laufen denn die Programme mit generics kompiliert fuer 1.6 auch auf 1.5 oder aelter?

    Also die Frage finde ich ja schon doof.
    Kompatibilität in die andere Richtung war noch nie notwendig.
    Bei keinem Computerprodukt.

    Oder kannst du eine PCI Express Karte in einen PCI Slot stecken?



  • was soll das ganze? warum fragt man in einem c++ forum ob man java oder c++ nehmen sollte? was für eine antwort erwartest du denn?
    die meisten programmiersprachen ähneln sich sehr. wenn man eine kann kann man alle. musst du selbst wissen womit du am besten klar kommst. probier doch einfach mal selbst aus ein einfaches snake oder so zu schreiben in c++, java, python oder c#.
    wobei das selbst in einer sprache sehr von der verwendeten library abhängt. c++ hat beispielsweise 0 mit grafik zu tun und schon da hat man eine enorme auswahl an möglichkeiten. genau die selbe auswahl hat man aber auch bei allen anderen gängigen sprachen.
    und nächste woche fragst du dann "sdl, sfml, allegro oder gleich dx?"


Anmelden zum Antworten