C,C++,C#,Java,



  • Und denk mal darüber nach, warum niemand deiner Meinung ist 😉 <<

    Bloß weil jemand behauptet, C# und Java gehörten nicht zur C/C++ -Sprachenfamilie
    heißt das noch lange nicht, daß ich Unrecht habe.
    Außerdem wird Wahrheit nie demokratisch entschieden, das heißt, für den
    Wahrheitsgehalt meiner Behauptungen ist es egal, wie viele mir zustimmen oder nicht.
    Drittens und letztens sind zwei Einwände bei soundsoviel-tausend Forenbenutzern
    eine Zustimmungsquote von über 99%, das reicht doch völlig aus, um zu sehen, wer
    Recht hat, sofern man, wie Du offenbar, Wahrheit mit "Meinung der Mehheit"
    verwechselt.

    Nun aber wirklich: adios.



  • C,C++,C#,Java ist kein Sprachenchaos (im Gegensatz zu HTML-cgi-Perl-Javascript-PHP), da C,C++,C#,Java alles C-Varianten sind, allerdings
    mit wechselndem Neuigkeitswert; ich dachte,
    das wäre bekannt <8-*

    Und was ist mit beispielsweise Eiffel?

    Eiffel und C++ kennen Kapselung, C nicht.
    Eiffel und C++ kennen (Mehrfach-)Vererbung, C nicht.
    Eiffel und C++ kennen Parametrisierte Typen, C nicht.

    Da könnt mn jetzt 'ne ganze Menge aufzählen. Eiffel ist aber keine C-Variante, oder doch? Also da für dich Synthax ja unglaublich wichtig zu sein scheint auf keinen Fall.
    Es gibt Sprachen, die trotz unterschiedlicher Synthax sehr ähnlich sind und es gibt Sprachen, die trotz sehr ähnlicher Synthax verdammt verschieden sind.
    (Eiffel und C++ war jetzt zwar nicht unbedingt ein gutes Beispiel, aber du verstehst sicherlich das Prinziep.)

    Und was machst du immer mit deinem: "HTML-cgi-Perl-Javascript-PHP"
    HTML ist Auszeichnungssprache, CGI ist eine Schnittstelle und Perl, JavaScript und PHP sind Programmiersprachen.
    So ähnlich wie ein Hund ist ein Tier, ein Schrank ist ein Möbelstück und ein Brot, eine Banane und eine Pflaume sind Lebensmittel.



  • zwiebelsuppe schrieb:

    Sag' mal ist das Dein Ernst, daß Du bezweifelst, daß C# und Java
    C/C++ -Abkömmlinge sind ??

    ich sehe das so:
    c++ stammt von c ab
    java stammt von c++ ab
    c# stammt von java ab
    immer im sinne von 'irgendwas besser machen' wollen
    wobei c#/.NET eigentlich nix anderes als ein java-plagiat ist



  • net schrieb:

    zwiebelsuppe schrieb:

    Sag' mal ist das Dein Ernst, daß Du bezweifelst, daß C# und Java
    C/C++ -Abkömmlinge sind ??

    ich sehe das so:
    c++ stammt von c ab
    java stammt von c++ ab
    c# stammt von java ab
    immer im sinne von 'irgendwas besser machen' wollen
    wobei c#/.NET eigentlich nix anderes als ein java-plagiat ist

    Anhaltspunkte waren sie bestimmt, aber du kannst nicht sagen, dass die eine Sprache von der anderen abstammt, nur weil sie früher da war.



  • Was ich eigentlich noch viel lustiger finde, ist der Ausdruck "C/C++ Sprachfamilie". Mal warten, bis volkard das liest (ne PM schreiben?) 😃 👍



  • net schrieb:

    java stammt von c++ ab

    Java stammt nicht von C++ ab! Ähnlichkeiten sind natürlich vorhanden, sind halt beides OO Sprachen, die ihre Syntax von C ableiten. Aber ansonsten sind Java und C++ nicht so gleich wie man meint. (Wobei jeder C++ Programmierer relativ schnell sich mit Java zurecht findet)



  • kingruedi schrieb:

    Java stammt nicht von C++ ab! Ähnlichkeiten sind natürlich vorhanden, sind halt beides OO Sprachen, die ihre Syntax von C ableiten.

    Und die Syntax ist die Aehnlichkeit. Der Rest ist unterschiedlich.

    Wenn Java zB Basic Syntax haette, wuerde Niemand mehr Java mit C++ vergleichen, weil keine Verbindung da waere...



  • (Wobei jeder C++ Programmierer relativ schnell sich mit Java zurecht findet)

    Sich "Zurecht finden" ist schön und gut, aber so zu programmieren "wie es sich in Java gehört" macht, sind aber IMHO zwei verschiedene Paar Stiefel.
    Und ich habe inzwischen oft genug (hier) lesen können, dass viele C++ Programmierer sich offensichtlich mit einigen Dingen in Java nicht anfreunden können. Ich würde das "jeder" jedenfalls nicht unterschreiben.

    Ich habe auch mit Shade schon eine etwas ausführlichere Diskussion gehabt, warum man innerhalb von generischen Code nicht casten soll und der Compiler zu Recht dabei eine Warnung ausspuckt.
    Weitere Dauerthemen sind Exceptions, Mehrfachvererbung, ...
    dann kommen noch Misverständnisse wie der Glaube, dass jeder Stream mit einer Exception endet.

    So etwas lässt mich eher daran zweifeln, dass das so automatisch gleich geht.
    Ich zweifle nicht daran, dass ein C++ Programmierer schnell kapieren kann, was bei Java-Code vor sich geht, aber das ist eigentlich noch nichts besonders tolles. 😃



  • kingruedi schrieb:

    net schrieb:

    java stammt von c++ ab

    Java stammt nicht von C++ ab!

    doch. ...und von smalltalk und eventuell noch etwas von objective-c. es sollte ein 'besseres c++' werden, ohne die vielen fallstricke und weniger komplex als c++



  • net schrieb:

    kingruedi schrieb:

    net schrieb:

    java stammt von c++ ab

    Java stammt nicht von C++ ab!

    doch. ...und von smalltalk und eventuell noch etwas von objective-c. es sollte ein 'besseres c++' werden, ohne die vielen fallstricke und weniger komplex als c++

    Was ist denn genau an Java gleich wie in C++? Wenn wir die Syntax mal rausnehmen.

    Wir haben dann lediglich:
    Objekte, Klassen (+ static funktionen), Vererbung (wobei der mechanismus recht anders ist), Exception (wobei der mechanismus recht anders ist)

    also ich sehe nicht viel... du etwa?



  • Shade Of Mine schrieb:

    Wir haben dann lediglich:
    Objekte, Klassen (+ static funktionen), Vererbung (wobei der mechanismus recht anders ist), Exception (wobei der mechanismus recht anders ist)

    eben, all diese ding sind aus sicht der java-erfinder mangelhaft unter c++ gelöst und wurden durch bessere mechanismen ersetzt



  • net schrieb:

    eben, all diese ding sind aus sicht der java-erfinder mangelhaft unter c++ gelöst und wurden durch bessere mechanismen ersetzt

    aus marketing gruenden 😉

    ne, was hat Java jetzt von mit C++ zu tun? Zeig mal paralleln.

    Natuerlich hat ein Flugzeug auch etwas mit einem Hubschrauber zu tun. Schliesslich buegelt ein Hubschrauber die unzulaenglichkeiten eines Flugzeuges aus...

    Aber deshalb ist doch ein Hubschrauber trotzdem etwas total anderes als ein Flugzeug.

    Ich meine, klar haben die Java Entwickler sich C++ angesehen. Aber das heisst ja nicht, dass Java darauf basiert. Wo kommen sonst die Ansaetze von interfaces, Reflection, GC, etc. her? Die Aehnlichkeiten sind auf ein minimun reduzierbar und dieses minimum teilen sich die meisten OO Sprachen, wobei Java und C++ grundsaetzlich verschiedene OO ansaetzen nachgehen.



  • net: Und dann redest du noch von Vererbung? Ich nenne das gucken, was es gibt, und von allem das beste rauspicken.



  • net schrieb:

    doch. ...und von smalltalk und eventuell noch etwas von objective-c. es sollte ein 'besseres c++' werden, ohne die vielen fallstricke und weniger komplex als c++

    Nein, du kannst bei Java einfach nicht als Abstammend von C++ reden. Die Java Entwickler kannten C++, Smalltalk und Objective-C. Aber dennoch haben die da viel zu viele Dinge komplett anders gelöst als es in C++ gemacht wurde. Selbst wenn wir nicht auf der Konzeptebene bleiben wollen sind sehr viele Schlüsselwörter anders.



  • Um diesem "Java stammt nicht von C++"-Gequatsche zu einem Ende zu
    verhelfen, schauen wir doch, was Sun dazu sagt:

    Starte 'mal eine Google-Suche nach der Zeichenkette
    "Java is derived from C++, which is derived from C"

    (Hinweis: Du landest auf einer Website von Sun mit ebendiesem Zitat)
    Und Sun wird ja wissen, von was Java abstammt, oder willst Du das auch
    noch anzweifeln?



  • Ja. Sun versucht ja btw. auch seit dem Anbeginn, C++ Programmierer zu bekehren. Da ist eine oberflächliche Ähnlichkeit, wie z.B. gleiche Syntax auch vorteilhaft. Ich find die C-Syntax gut, kann aber nicht ausschließen, dass es Raum für Verbesserungen gegeben hätte.
    Sun hat natürlich erstmal ein paar C-Ähnlichkeiten gehalten. Java hat sich aber inzwischen weiterentwickelt.

    Aber jetzt mal wirklich. Beschäftige dich erstmal ein bisschen mehr mit beiden Sprachen. Wir haben hier in diesem Forum schon 29386962 Grundsatzdiskussionen über bestimmte Sachen in C++ und Java gehabt und jedesmal war der Konsens bestenfalls "ok, in Java macht man es so, in C++ ist dies und das besser".
    Je länger du mit beiden Sprachen arbeitest, desto mehr Unterschiede wirst du feststellen. Sprachlich, Im Design und Umfang der Standardbibliothek und immer mehr in der ganzen Philosophie und wie man darin programmiert. Wir haben auch genügend Dinge aufgezählt, während du bis auf die Syntax noch nichts genannt hast, was denn Java so von C++ geerbt haben soll.



  • zwiebelsuppe schrieb:

    Und Sun wird ja wissen, von was Java abstammt, oder willst Du das auch noch anzweifeln?

    Das ist marketing! Würdest du sagen, dein Produkt hat mit C++ nichts zu tun, wenn deine Zielgruppe C++ Programmierer sind?

    Solltest du immer noch der Meinung sein, dass du im Recht bist, dann bring doch mal gemeinsamkeiten. Ach und bitte keine die auf alle oo Sprachen zutreffen 😉



  • Aber jetzt mal wirklich. Beschäftige dich erstmal ein bisschen mehr mit beiden Sprachen. <<

    Das hast Du scheinbar weit mehr nötig als ich - schließlich ist *meine* Ansicht,
    daß Java von C++ abstammt, ja richtig.

    Daß Du meinst, Du wüßtest besser, von was Java abstammt als der Erfinder von Java,
    nämlich Sun selbst, finde ich allerdings bemerkenswert.
    Bist Du dann der Erfinder von Sun, oder was ? *<8-)



  • Der Autor des Textes auf den du anspielst, hat Java nicht erfunden. Der arbeitet eben bei SUN, deswegen hat er Java nicht erfunden und auch keine Ahnung davon ob Java von C++ abstammt.

    Zeig doch mal Fakten, warum Java von C++ abstammen sollte.



  • Michael E. schrieb:

    net: Und dann redest du noch von Vererbung? Ich nenne das gucken, was es gibt, und von allem das beste rauspicken.

    das finde ich nicht verwerflich. viel alberner finde ich, dass ms mit .NET java komplett nachgebaut hat.

    btw: dass java-programme weniger komplex und daher leichter lesbar sind ist ja wohl tatsache. man gucke sich nur mal beispielcodes für design patterns in beiden sprachen an. obwohl...mittlerweile hat sun ja auch eingesehen dass sie bei java zuviel weggelassen haben und bauen das nach und nach wieder ein (generics/templates, enums, einfacheres debugging usw.)


Anmelden zum Antworten