Warum hat C++ so eine aufwendige Syntax?



  • Undertaker schrieb:

    tntnet schrieb:

    Undertaker schrieb:

    naja, ich war noch nie der meinung, dass C++ besonders nützlich ist. was soll's also - es stört mich nicht wirklich...
    🙂

    Nützlich ist C++ wirklich nicht. Man kann nur solche Sachen machen, wie Betriebssysteme programmieren oder Office-Anwendungen wie z. B. Microsoft Office oder eine Java Virtual Machine oder ebedded Systeme oder Interpreter oder Compiler für Programmiersprachen oder Raketensteuerungen oder Waschmaschinen. Man kann Systemnah programmieren oder auch objektorientiert oder funktional 🤡 .

    ja, man kann
    aber mit anderen sprachen kann man auch - und meistens besser 😉

    Warum bin ich (und nicht nur ich) regelmäßig blöd genug um so jemandem etwas erklären zu wollen? C++ nichtmal ansatzweise verstehen... aber scheiße finden kann mans ja. 👍



  • Undertaker schrieb:

    ...
    ja, man kann
    aber mit anderen sprachen kann man auch - und meistens besser 😉
    ...

    .. wie das reichhaltige Portfolio an Betriebssystemen, embedded systems, virtual machines, ...., die in Java, Smalltalk, Ruby, ... geschrieben wurden, beweist. 👍

    Schon lustig, dass die Vorteile, die anderen Sprachen erst mit C/C++ ermöglicht wurden, als Argument gegen C/C++ verwendet werden. 😃

    Gruß,

    Simon2.



  • Mr. N schrieb:

    Warum bin ich (und nicht nur ich) regelmäßig blöd genug um so jemandem etwas erklären zu wollen? C++ nichtmal ansatzweise verstehen... aber scheiße finden kann mans ja. 👍

    Für das Verhalten gibt's nur eine Erklärung: grenzenloser Optimismus 😃 (zumindest bei mir - da braucht's schon einiges, um jemanden aufzugeben)



  • CStoll schrieb:

    Für das Verhalten gibt's nur eine Erklärung: grenzenloser Optimismus 😃 (zumindest bei mir - da braucht's schon einiges, um jemanden aufzugeben)

    Langsam verliere ich für gewisse Leute aber langsam den Optimismus 😕 Aber mehr als versuchen kann man ja leider nicht.



  • Simon2 schrieb:

    Undertaker schrieb:

    ...
    ja, man kann
    aber mit anderen sprachen kann man auch - und meistens besser 😉
    ...

    .. wie das reichhaltige Portfolio an Betriebssystemen, embedded systems, virtual machines, ...., die in Java, Smalltalk, Ruby, ... geschrieben wurden, beweist. 👍

    Schon lustig, dass die Vorteile, die anderen Sprachen erst mit C/C++ ermöglicht wurden, als Argument gegen C/C++ verwendet werden. 😃

    Gruß,

    Simon2.

    Nenn mir mal einen Grund wieso man un Ruby kein Betriebsystem schreiben kann. Ruby, wie C++ und Java und Brainfuck sind Turing-Vollstaendige Sprachen. Man muss doch nur einen passenden Compiler schreiben...

    Aus Maschinenebene unterscheiden sich die Sprachen doch nicht. Die Sprachen unterscheiden sich nur fuer uns Menschen durch die Sprachkonstrukte, die es einem bequemer machen damit zu programmieren. Wenn wir schon Sprachen vergleichen, dann nur durch a) ist die Sprache Turing-Vollstaendig und b) wie bequem/nuetzlich sind die Sprachkontrukte. Leider ist b) subjektiv, so dass wir uns hier ewig streiten koennen.



  • Ein entsprechender Ruby-Compiler würde mich interessieren. Hast du eine URL für einen Download? Nach möglichkeit kostenlos oder zumindest zum ausprobieren kostenlos.



  • Simon2 schrieb:

    Undertaker schrieb:

    ...
    ja, man kann
    aber mit anderen sprachen kann man auch - und meistens besser 😉
    ...

    .. wie das reichhaltige Portfolio an Betriebssystemen, embedded systems, virtual machines, ...., die in Java, Smalltalk, Ruby, ... geschrieben wurden, beweist.

    das beweist gar nichts. früher hat man auch schriftzeichen in steintafeln gemeisselt oder auf baumrinde gekritzelt, weil es nichts besseres gab.

    Simon2 schrieb:

    Schon lustig, dass die Vorteile, die anderen Sprachen erst mit C/C++ ermöglicht wurden, als Argument gegen C/C++ verwendet werden. 😃

    ne, ganz normal. nicht C++ hat es ermöglicht sondern menschlicher gehirnschmalz. oder willst du behaupten dass assembler besser ist als C++, nur weil es vorher da war?

    btw, verwende nicht C*/**C++*. diesen begriff gibt es eigentlich gar nicht. C ist eine eigenständige sprache und auf manchen gebieten nicht wegzudenken, im gegensatz zu C++, welches so gut wie immer durch etwas anderes (sinnvoll und vor allem vorteilhaft) ersetzbar ist.
    🙂



  • DEvent schrieb:

    Simon2 schrieb:

    Undertaker schrieb:

    ...
    ja, man kann
    aber mit anderen sprachen kann man auch - und meistens besser 😉
    ...

    .. wie das reichhaltige Portfolio an Betriebssystemen, embedded systems, virtual machines, ...., die in Java, Smalltalk, Ruby, ... geschrieben wurden, beweist. 👍

    Schon lustig, dass die Vorteile, die anderen Sprachen erst mit C/C++ ermöglicht wurden, als Argument gegen C/C++ verwendet werden. 😃

    Gruß,

    Simon2.

    Nenn mir mal einen Grund wieso man un Ruby kein Betriebsystem schreiben kann. ...

    Habe ich nie behauptet !
    Ich habe lediglich Undertakers Behauptung, C++ sei für nichts sinnvoll zu gebrauchen, die empirischen Werte gegenübergestellt.

    Undertaker schrieb:

    Simon2 schrieb:

    Undertaker schrieb:

    ...
    ja, man kann
    aber mit anderen sprachen kann man auch - und meistens besser 😉
    ...

    .. wie das reichhaltige Portfolio an Betriebssystemen, embedded systems, virtual machines, ...., die in Java, Smalltalk, Ruby, ... geschrieben wurden, beweist.

    das beweist gar nichts. früher hat man auch schriftzeichen in steintafeln gemeisselt oder auf baumrinde gekritzelt, weil es nichts besseres gab....

    Sehr schöner Vergleich ... aber was hat das mit dem Thema zu tun ?
    C++ hat in zig Umfeldern bewiesen, dass es geht; Du (als hier ausgewiesener C++-Kenner) behauptest, dass irgendeine (von Dir nicht genannte) Sprache in diesen Bereichen dazu besser geeignet wäre ... ohne auch nur ein einziges Beispiel zu nennen.
    Ist nicht besonders überzeugend.

    Undertaker schrieb:

    btw, verwende nicht C*/**C++*. diesen begriff gibt es eigentlich gar nicht. C ist eine eigenständige sprache und auf manchen gebieten nicht wegzudenken, im gegensatz zu C++, welches so gut wie immer durch etwas anderes (sinnvoll und vor allem vorteilhaft) ersetzbar ist.
    🙂

    Lies meinen Satz noch einmal und dann versuche zu verstehen, warum ich hier den Ausdruck "C/C++" verwendet habe.
    (Kleiner Tipp: Auch der Satz "Mit Programmiersprachen wie C/C++/Java/Basic/... kann man Computern Anweisungen geben" enthält ein ähnliches Konstrukt)

    Gruß,

    Simon2.



  • Simon2 schrieb:

    Du (als hier ausgewiesener C++-Kenner) behauptest, dass irgendeine (von Dir nicht genannte) Sprache in diesen Bereichen dazu besser geeignet wäre ... ohne auch nur ein einziges Beispiel zu nennen.

    erstmal bin ich kein C++ kenner, ich kenne nur ein paar grundlagen (ist dir meine fragerei zu den templates noch in erinnerung?).
    ...und, sorry, ich nenne keine anderen sprachen.
    ich will nämlich keinen flamewar anzetteln.
    "C++ gegen irgendwas_anderes" hatten wir schon viel zu oft...
    🙂



  • ich würd sagen java hat gewonnen was meint ihr? 💡



  • Simon2 schrieb:

    Habe ich nie behauptet !
    Ich habe lediglich Undertakers Behauptung, C++ sei für nichts sinnvoll zu gebrauchen, die empirischen Werte gegenübergestellt.

    Ok, dann habe ich dich falsch verstanden.



  • Undertaker schrieb:

    Simon2 schrieb:

    Du (als hier ausgewiesener C++-Kenner) behauptest, dass irgendeine (von Dir nicht genannte) Sprache in diesen Bereichen dazu besser geeignet wäre ... ohne auch nur ein einziges Beispiel zu nennen.

    erstmal bin ich kein C++ kenner, ich kenne nur ein paar grundlagen (ist dir meine fragerei zu den templates noch in erinnerung?).

    Solltest du dann nicht ein wenig vorsichtiger mit Wertungen zu C++ sein?

    Undertaker schrieb:

    ...und, sorry, ich nenne keine anderen sprachen.
    ich will nämlich keinen flamewar anzetteln.

    Wie kannst du das mit beispielsweise dieser Aussage vereinbaren?

    Undertaker schrieb:

    aber mit anderen sprachen kann man auch - und meistens besser

    So vermeidet man einen Flamewar, genau. 🤡

    Undertaker schrieb:

    "C++ gegen irgendwas_anderes" hatten wir schon viel zu oft...
    🙂

    Und wie sich herausstellt, kennen die größten C++-Kritiker nichtmal das Ziel ihrer Kritik.



  • @MrN: Wo Du grad dabei bist, denk mal kurz und fest an Java und fass Dir dabei an die eigene Nase. -- Danke! 👍



  • Jester schrieb:

    @MrN: Wo Du grad dabei bist, denk mal kurz und fest an Java und fass Dir dabei an die eigene Nase. -- Danke! 👍

    Ich habe zwar keine extensive Erfahrung mit Java, aber es ist nicht so, dass ich die Sprache nicht kenne. Und die konkreten Dinge, die ich kritisiere, kenne ich. Ich weiß ja sogar wie Generics funktionieren und was Annotationen sind, wobei ich zugegebenermaßen nicht alle Details kenne. Aber so etwas Grundlegendes wie die Natur von Funktionen oder Konstruktoren in C++ kenne ich doch und erwarte auch, dass sie jeder, der C++ bewertet, kennt.

    Ich stimme Undertaker zu, dass wir das J-Wort hier nicht weiter erwähnen sollten.



  • Undertaker schrieb:

    Simon2 schrieb:

    Du (als hier ausgewiesener C++-Kenner) behauptest, dass irgendeine (von Dir nicht genannte) Sprache in diesen Bereichen dazu besser geeignet wäre ... ohne auch nur ein einziges Beispiel zu nennen.

    erstmal bin ich kein C++ kenner, ...

    🙂 <Merker an mich>: Ironie besser kennzeichnen !

    Gruß,

    Simon2.



  • Mr. N schrieb:

    Undertaker schrieb:

    Simon2 schrieb:

    Du (als hier ausgewiesener C++-Kenner) behauptest, dass irgendeine (von Dir nicht genannte) Sprache in diesen Bereichen dazu besser geeignet wäre ... ohne auch nur ein einziges Beispiel zu nennen.

    erstmal bin ich kein C++ kenner, ich kenne nur ein paar grundlagen (ist dir meine fragerei zu den templates noch in erinnerung?).

    Solltest du dann nicht ein wenig vorsichtiger mit Wertungen zu C++ sein?

    aber nein, warum?
    ich selbst habe auch mal C++ verwendet, und weiss, was für 'ne fummelei das ist im verhältnis zu sprache X.
    ich kenne leute, die C++ und sprache X, Y und Z regelmässig verwenden. die meisten davon fluchen über C++ und seine widerspenstigkeit.
    ich kenne jemanden, der C++ und sprache X unterrichtet und weiss, dass C++ den leuten wesentlich schwieriger näher zu bringen ist als sprache X.
    🙂



  • Undertaker schrieb:

    Mr. N schrieb:

    Undertaker schrieb:

    Simon2 schrieb:

    Du (als hier ausgewiesener C++-Kenner) behauptest, dass irgendeine (von Dir nicht genannte) Sprache in diesen Bereichen dazu besser geeignet wäre ... ohne auch nur ein einziges Beispiel zu nennen.

    erstmal bin ich kein C++ kenner, ich kenne nur ein paar grundlagen (ist dir meine fragerei zu den templates noch in erinnerung?).

    Solltest du dann nicht ein wenig vorsichtiger mit Wertungen zu C++ sein?

    aber nein, warum?
    ich selbst habe auch mal C++ verwendet, und weiss, was für 'ne fummelei das ist im verhältnis zu sprache X.

    Komisch, ich empfinde es umgekehrt. Das coolste (naja zumindest eines der coolen) Feature(s) von C++ ist ja das hier:

    std::string a = "x", b = "x";
    a==b; //true
    

    🙂

    Undertaker schrieb:

    ich kenne leute, die C++ und sprache X, Y und Z regelmässig verwenden. die meisten davon fluchen über C++ und seine widerspenstigkeit.
    ich kenne jemanden, der C++ und sprache X unterrichtet und weiss, dass C++ den leuten wesentlich schwieriger näher zu bringen ist als sprache X.
    🙂

    Du kennst aber auch uns. Ist das dann nicht "Aussage gegen Aussage"?



  • Mr. N schrieb:

    std::string a = "x", b = "x";
    a==b; //true
    

    🙂

    Na, der war mal wieder mit Anlauf. 😃

    String a = "x";
        String b = "x";
        if(a==b) System.out.println("a==b");
        else System.out.println("a!=b");
    

    magst Du das mal ausprobieren?

    Das untermauert übrigens auch weiter Deine Aussage, dass Du auch diese J-Geschichte bestens beurteilen kannst. 😃



  • Jester schrieb:

    Mr. N schrieb:

    std::string a = "x", b = "x";
    a==b; //true
    

    🙂

    Na, der war mal wieder mit Anlauf. 😃

    String a = "x";
        String b = "x";
        if(a==b) System.out.println("a==b");
        else System.out.println("a!=b");
    

    magst Du das mal ausprobieren?

    Das untermauert übrigens auch weiter Deine Aussage, dass Du auch diese J-Geschichte bestens beurteilen kannst. 😃

    Seit ich ich mit Java angefangen habe verstehe ich nun auch was damit gemeint ist 🙂

    Aber sollte es dann nicht so heißen:

    String a = new String("x");
    String b = new String("x");
    

    Da "x" sonst irgendwo im Speicher erzeugt werden würde und a und b beide diese Speicherstelle von "x" refernzieren würden. ???



  • nicht besser als die chinesen... 😮


Anmelden zum Antworten