C++ oder Java kann mich nicht entscheiden.



  • 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?"



  • Javaversionen schrieb:

    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?

    Tolles Bespiel, weiss du wieviel PCI Express Standard gibst? Drei!!! Und die sind alle Rückwärtskompatible, weil sonst der Konsumer total hofflungslos verzweifeln würde ein Mainboard und eine Grafikkarte zu finden, die miteinandere kompatible sind.



  • jre schrieb:

    die meisten programmiersprachen ähneln sich sehr. wenn man eine kann kann man alle.

    Und das ist der große Trugschluss. Nur weil bei Java, C und C++ Funktionsaufrufe die Klammern brauchen, Anweisungen mit ";" beendet werden, oder Schleifen ähnlich ausschauen, haben sie noch nichts gemein.
    Die packages in Java gibt es so nicht in C++ oder C. Dafür namespaces in C++. Der Zwang in Java alles in Klassen zu packen, wo man in C++ gerne auch auf freie Funktionen setzt (die dann aber trotzdem zum Interface einer Klasse gehören, siehe Operatoren überladen). Oder der Unterschied Value <-> Referenz, und die Speicherverwaltung - gute Nacht. Ein gelernter Java-Entwickler wird grauenhaften C++-Code produzieren, genauso aber umgekehrt ein C++-Programmieren keinen ordentlichen Java-Code. Man darf eine Sprachen einfach nicht an ihrer Syntax bewerten, da gehört deutlich mehr dazu!

    Ein Tip:
    Java ist auch eine Insel gibt es kostenlos. Ebenso "Thinking in C++". Reinschnuppern. Einfach mal reinschauen (Inhaltsverzeichnis, durchblättern, ...).
    Java ist vielleicht für den Anfang leichter zu lernen. Aber mit etwas Geduld sollte auch C++ kein Problem sein (Zeiger und Referenzen sowie Templates weit nach hinten schieben, dann sollte auch C++ leicht gehen).



  • l'abra d'or
    die programmiersprache ist nur ein werkzeug
    leute werden meist als software entwickler ausgebildet nicht als c++ oder java programmierer.
    in den meisten sprachen gibt es irgendwie schleifen, abfragen, logiken.
    es gibt sicher auch interessante ausnahmen, andere ansätze die für sich stehen haskel, sql, lisp, brainfuck...
    aber das was in der "industrie" und üblichen spieleentwicklung verwendet wird sind eben diese.


Anmelden zum Antworten