C++ oder Java kann mich nicht entscheiden.



  • 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.



  • jre schrieb:

    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.

    Und diese muss man beherrschen. Sonst kommt nicht gutes raus ^^
    Das ist nix anderes, was l'abra d'or meinte.



  • TurboGolom schrieb:

    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)

    Zu Bots werde ich keine Stellung nehmen (da ich sie verabschiede).

    Zu Spielen ist die Fragen, was du mit kleinen Spielen meinst. Je nach dem was es auf der Grafischen Seite (bzw. Internet?) sein soll empfiehlt sich das ein oder andere. In C++ ist jegliche UI-Programmierung, da nicht Teil des Standards, eine etwas größere Hürde als in Java oder C#.

    Einfache Spiele kann man mit jeder der Sprachen schreiben, sobald es aber um bestimmte Grafikbibliotheken (z.B. DirectX, OpenGL...) geht, könnte es aber schon massive Unterschiede geben.

    Ich begrenze mich mal auf C++, C# und Java:

    • Internet relevant?
      Wenn ja: C# [ASP.Net und ggf. Silverlight] oder Java
    • Plattformunabhängigkeit relevant [je nach Definition]?
      Wenn ja: C++ oder Java
    • Gute Windowsunterstützung relevant?
      Wenn ja: C++ (mit geeigneten Bibliotheken) oder C#
    • Einfacher Einstieg relevant?
      Wenn ja: C# oder Java
    • Maximale Performance relevant?
      Wenn ja: C++

    TurboGolom schrieb:

    Und sollte ich denn anstatt C++ C# lernen, wenn man zwangsweise eh umsteigen muss ?

    Die Gerüchte das Windows 8 kein C++ mehr unterstützt, oder allgemein massiv auf die "managed" Welt umstellt, ist mehr als weit hergeholt (SEHR langfristig halte ich dies für möglich, nicht aber in den nächsten 10-15 Jahren). Bei einem schnellen Umstieg würde sich MS mehr als nur ins eigene Fleisch schneiden. Eher könnte ich mir vorstellen das MS irgendwann 2 verschiedene OS-Plattformen parallel anbietet, um einen langsamen Übergang zu ermöglichen.

    Projekte wie Singularity und Co sind bislang eine rein experimentelle Forschung. Auch wenn C# (oder allgemein gesprochen: .Net) in der Windowswelt immer mehr an Bedeutung gewinnen wird.



  • Das Gerücht das Windows angeblich kein C++ mehr unterstützt, gibt es seit Windows Vista. Dann kamen Leute an, die sagten, das würde bei Windows 7 passieren. Bei VC++ .NET 2003 hieß es auch, das jetzt C++-mäßig bei MS die Schotten dicht gemacht werden.

    Das kann man aber irgendwie nicht sehen:
    Rosige Zukunft für C++ in Visual Studio



  • Artchi schrieb:

    Das Gerücht das Windows angeblich kein C++ mehr unterstützt, gibt es seit Windows Vista. Dann kamen Leute an, die sagten, das würde bei Windows 7 passieren. Bei VC++ .NET 2003 hieß es auch, das jetzt C++-mäßig bei MS die Schotten dicht gemacht werden.

    Das kann man aber irgendwie nicht sehen:
    Rosige Zukunft für C++ in Visual Studio

    Da brauchen wir doch kein Windows damit C++ nicht mehr gebraucht werden kann, das macht C++0x schon.



  • Wer Programmiert den in Java ?

    Lern lieber C++.

    jre schrieb:

    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.

    So ein S....

    1. In der Spieleentwicklung programmiert man ganz bestimmt nicht in Java.
    (Ausser vielleicht kleinere Spiele)

    jre schrieb:

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

    So eine bescheurte Aussage ...
    Gibt es in Java Pointer? Die Syntax ist doch änhlich mit der von C++.

    Nur weil ich C++ kann, heisst es noch lange nicht das ich auch Java kann und umgekehrt.
    Als ich z.B in der Schule Java programmieren musste(hoffentlich nie mehr 😃 ), konnte ich sehr vieles nicht. Ich war sehr verwirrt!

    Gruss JavaistSCH..



  • Prof. Dankert hängt auch noch bei C++ fest:
    http://www.rzbt.haw-hamburg.de/dankert/ccppjava.html/
    Seit 10 Jahren unverändert! 😃



  • Erhard Henkes schrieb:

    Prof. Dankert hängt auch noch bei C++ fest:
    http://www.rzbt.haw-hamburg.de/dankert/ccppjava.html/
    Seit 10 Jahren unverändert! 😃

    Prof. Dankert schrieb:

    Neben vielen anderen war die am häufigsten gestellte Frage: "Und Visual-Basic, ist das nicht auch eine Alternative?" Die einfache Erlernbarkeit und der recht kurze Weg, auf dem man relativ schnell zu professionell aussehenden Ergebnissen kommt (denen man "die Herkunft" natürlich nicht ansieht), wurden als Argumente angeführt. "Nicht objektorientiert, proprietär", waren die Gegenargumente, die beide im September 2000 nur noch bedingt gelten.

    ich denke das ist wiederlegt!



  • Hallo, tut mir Leid, aber Leute, die Comic Sans auf ihrer Website verwenden, kann man eh nicht ernst nehmen 😡 😮 😮 ⚠ ⚠



  • Schau dir doch beides einmal für ein zwei Wochen an. Java und C++ sind beides die TOP-Sprachen wenn du vielleicht mal beides etwas kannst deckst du einen enormen Anwendungsbereich ab. Einfach zu erlernen ist ganz klar Java, vielleicht würde ich auch damit anfangen dann ist dir wenigtens OOP nicht mehr so fremd in C++. Wenn dich aber die Einarbeitung in den C++ Compiler nicht stört dann nimm ruhig C++ wenn du das einigermaßen kannst ist jede weitere Sprache ein Kinderspiel. Und fang bloss nicht mit IDE an. Die ersten Tagen und besonders wenn du anderen Libs nutzt ist es extrem hilfreich fürs Verständnis alles per Hand zu kompilieren.

    C# halte ich schwachsinnig zu lernen. Warum? Nun das OS spielt immer weniger eine Rolle bei einer Applikation, da bist du mit Java und C++/Qt(bald sogar für Webapps) auf der sicheren Seite.



  • nochEiner schrieb:

    C# halte ich schwachsinnig zu lernen. Warum? Nun das OS spielt immer weniger eine Rolle bei einer Applikation, da bist du mit Java und C++/Qt(bald sogar für Webapps) auf der sicheren Seite.

    Troll?



  • nochEiner schrieb:

    C# halte ich schwachsinnig zu lernen. Warum? Nun das OS spielt immer weniger eine Rolle bei einer Applikation,...

    Also aus meiner Erfahrung spielt das Plattformunabhängigkeit je nach Einsatzbereich noch immer keine Rolle (In der gesamten Zeit, die meine aktuelle Firma existiert kamen nur 3 Anfragen zu anderen Betriebssystemen [2xMacOS, 1xLinux] - Das ist ein unwesentlicher Anteil; In der Firma davor war der prozentuale Anteil sogar noch geringer, da hätten wir wesentlich mehr von gehabt, uns zu einem zweiten DB-System hin zu öffnen).
    Ergänzung: Bislang war ich vor allem im Bereich CRM/ERP sowie Software für Bildungseinrichtungen tätig.

    Bei der Webentwicklung spielt das OS auch keine Rolle, da z.B. wenn du dich auf C# einschießt, nur der Server ASP.Net benötigt (es sei den man verwendet Silverlight, und setzt dort auf Funktionalitäten, die Moonlight nicht implementiert, oder willst Plattformen unterstützen, die weder SL noch ML unterstützen).

    Einzig und alleine bei Apps oder in Bereichen, wo die Kundenanfragen für andere OS wesentlich höher ausfallen, ist es anders. Aber Apps die nicht auf Webbasis gebunden sind, sind dafür häufig auf bestimmte Bibliotheken festgelegt, so das dies ohnehin häufig großenteils Neuentwicklungen sind.



  • asc schrieb:

    ...

    Ich habe da andere Erfahrungen gemacht. Sowohl, was die Anforderungen bezüglich der Portabilität in Firmen betrifft, als auch, was das Neuentwickeln beim Portieren betrifft.


Anmelden zum Antworten