Diskussion aus FAQ getrennt



  • Bouncer schrieb:

    ich weiss nicht welches muster du meinst

    Wahrscheinlich weil C++ zu weit von der Idee hinter Smalltalk entfernt ist...

    Bouncer schrieb:

    aber für viele C-user ist programmierung nur ein mittel zum zweck.

    Bouncer schrieb:

    die kamen alle nach 'net'

    Ich weiß.

    Btw, vorhin ganz vergessen:

    Bouncer schrieb:

    mir ist nur aufgefallen, dass sich's viele frager im C++ forum (für meine begriffe) zu schwer machen.

    Soll ich ins C-Forum oder, deinem derzeitigem "High-Level (lol)"-Liebling, das Java-Forum marschieren und dort ein paar frequently asked questions raussuchen? 😃



  • Bouncer schrieb:

    ...mir ist nur aufgefallen, dass sich's viele frager im C++ forum (für meine begriffe) zu schwer machen.
    🙂

    Stimmt - indem sie unnötigerweise mit C-Strings rumfrickeln, unerklärlicherweise Berührungsängste mit std::string haben und durch schlechte Tutorials und seltsame Ratgeber (oft mit "da musste ich auch durch"- oder "Nur die Harten kommen in den Garten"-Mentalität) dazu gedrängt werden. 😉

    Gruß,

    Simon2.



  • finix schrieb:

    Btw, vorhin ganz vergessen:

    Bouncer schrieb:

    mir ist nur aufgefallen, dass sich's viele frager im C++ forum (für meine begriffe) zu schwer machen.

    Soll ich ins C-Forum oder, deinem derzeitigem "High-Level (lol)"-Liebling, das Java-Forum marschieren und dort ein paar frequently asked questions raussuchen? 😃

    naja, der unterschied ist der: im C forum kommen meistens absolute grundlagenfragen. oft hat einer was mit der syntax nicht verstanden oder hat 'nen bug, weil z.b. ein pointer über's ziel hinaus schiesst. haben die leute das einmal gecheckt, dann machen sie die fehler meistens nicht mehr. im Java forum fragen z.b. viele nach, weil sie in der riesigen library nicht das richtige finden können oder solche grundlagen-sachen wie, warum Java kein 'unsigned' hat. meistens ist das thema dann schnell erledigt und der OP ist zufrieden (in beiden foren). im C++ -forum dagegen werden super-komplizierte themen gewälzt, etwa wie man am besten UTF-8 oder sockets mit 'streams' verheiratet, der ganze stl- und smart-pointer krempel (okay, das gehört irgendwie schon zu C++), wann, wie und welche nebeneffekte destruktoren, delete, delete[], sämtliche C-fragen natürlich auch, warum laufzeit-polymorphie schlecht ist und ganz lustig wirds immer, wenn einer asynchrone sachen (multithreading etc.) programmieren will. ganz nebenbei wirft jeder auch noch jedem designfehler vor. es kommt mir fast so vor, als wäre C++ reiner selbstzweck. naja, aber hauptsache ist doch, die leute haben ihren spass daran...
    🙂



  • Bouncer schrieb:

    im Java forum fragen z.b. viele nach, weil sie in der riesigen library nicht das richtige finden können oder solche grundlagen-sachen wie, warum Java kein 'unsigned' hat.

    Ach so, Grundlagen. Also so Sachen wie what does *= do??? 😃

    Bouncer schrieb:

    meistens ist das thema dann schnell erledigt und der OP ist zufrieden (in beiden foren).

    Glaub's mir oder nicht, das könnte in C++ ähnlich laufen. Aber ich persönlich denke es ist hilfreicher das Problem zu lösen statt die angedachte Lösung zu liefern.

    [quote="Bouncer"]im C++ -forum dagegen werden super-komplizierte themen gewälzt, etwa wie man am besten UTF-8 oder sockets mit 'streams' verheiratet[/url]
    Das sind eher seltene Themen, wie du sicher selbst weißt, und tatsächlich gibt es komplizierte Probleme auch unter C oder Java. (Aber ja, jüngere Sprachen haben in der Regel eine größere Standardlib.)

    Bouncer schrieb:

    der ganze stl-[krempel]

    Algorithmen und Datenstrukturen spielen bei aller Programmierung eine Rolle. Davon ab, ich halte den Part der Standardlib die generell mit STL bezeichnet wird für wesentlich besser (insbesondere die wenig beachteten <algorithm>s) als das was man unter Java vorfindet, bzw. unter C verzweifelt sucht.

    Bouncer schrieb:

    smart-pointer krempel

    Standard Ressourcen-Management, relativ unkompliziert. Hast du in Java auch, in C noch wesentlich mehr. (Wobei dennoch anzumerken ist dass ich zu den scheinbar wenigen gehöre die einen optionalen Standard-GC begrüßen würden.)

    Bouncer schrieb:

    (okay, das gehört irgendwie schon zu C++)

    Ja, genau wie es Dinge gibt die "schon irgendwie zu Java/C/whatever" gehören. Und?

    Bouncer schrieb:

    wann, wie und welche nebeneffekte

    Eh?

    Bouncer schrieb:

    destruktoren

    Eine weitere Ausdrucksmöglichkeit die Java und C nicht besitzen. Welche sehr sinnvoll sein kann, insbesondere wenn es um oben angesprochene Ressourcen geht.

    Bouncer schrieb:

    ganz nebenbei wirft jeder auch noch jedem designfehler vor.

    Siehe oben, bzgl. zufriedenstellen und helfen. Fische v. fischen. Etc. pp.



  • finix schrieb:

    (insbesondere die wenig beachteten <algorithm>s) als das was man unter Java vorfindet, bzw. unter C verzweifelt sucht.

    ist es so? wird <algorithm> in C++ wirklich so selten verwendet? übrigens in Java gibt's massenweise fertige klassen für alles erdenkliche und für C braucht man nur mal die suchmaschinen bemühen. dann findest du generische algos wie stacks, queues, maps, hashtables usw. in 1000-facher ausführung.

    finix schrieb:

    Eine weitere Ausdrucksmöglichkeit die Java und C nicht besitzen. Welche sehr sinnvoll sein kann, insbesondere wenn es um oben angesprochene Ressourcen geht.

    geht in Java ganz einfach mit try/finally (nicht zu verwechseln mit finalize(), das irgend wann mal in der zukunft angetriggert wird, wenn überhaupt ;)). in C gibts das natürlich nicht, klar, aber in C *soll* auch nicht viel automatisch passieren (ich fänd's jedenfalls nicht gut, wenn's so wäre). oh mann, hoffentlich wird das jetzt kein C++/Java flamewar.

    finix schrieb:

    Bouncer schrieb:

    ganz nebenbei wirft jeder auch noch jedem designfehler vor.

    Siehe oben, bzgl. zufriedenstellen und helfen. Fische v. fischen. Etc. pp.

    muss denn jeder selber fischen gehen? manchmal ist es einfacher, fische im laden zu kaufen. (ja ich weiss, das widerspricht jetzt meinem einwand, dass man hinter die kulissen schauen sollte, aber *du* hast mit Java angefangen).
    🙂



  • Vista! Immer wieder die gleiche Laier! Jeden Monat grüßt das Murmeltier! Und du scheinst es auch nicht zu raffen! Du stellst immer die gleichen Fragen und behauptungen auf. Hast du kein Langzeitgedächtnis?



  • Artchi schrieb:

    Vista! Immer wieder die gleiche Laier! Jeden Monat grüßt das Murmeltier! Und du scheinst es auch nicht zu raffen! Du stellst immer die gleichen Fragen und behauptungen auf. Hast du kein Langzeitgedächtnis?

    was soll ich denn machen? irgendjemand fängt damit an und ich gebe einfach nur meinen senf dazu. ausserdem ist es doch, bei gleichem tenor, immer ein bisschen anders. das musste zugeben.
    🙂



  • Bouncer schrieb:

    ist es so? wird <algorithm> in C++ wirklich so selten verwendet?

    Es sieht leider so aus. Allerdings ist dies kein Grund dir einen zu Grinsen, da worauf ich anspiele (map (a.k.a. std::transform), reduce, for-each, etc.) in Java scheinbar nicht nur kaum Verwendung findet, sondern sogar fast verpönt scheint.

    Bouncer schrieb:

    übrigens in Java gibt's massenweise fertige klassen für alles erdenkliche

    Siehe oben.

    Bouncer schrieb:

    und für C braucht man nur mal die suchmaschinen bemühen. dann findest du generische algos wie stacks, queues, maps, hashtables usw. in 1000-facher ausführung.

    Ach ja? Wo bleibt denn dann dein/das Killer-Argument für Java?

    Bouncer schrieb:

    geht in Java ganz einfach mit try/finally.

    Ich weiß du hast derzeit ein Faible für Java, aber selbst dir sollte klar sein dass RAII einem finally - im Allgemeinen - haushoch überlegen ist.

    Bouncer schrieb:

    in C gibts das natürlich nicht, klar, aber in C *soll* auch nicht viel automatisch passieren (ich fänd's jedenfalls nicht gut, wenn's so wäre).

    Und das siehst du als Vorteil?

    Bouncer schrieb:

    muss denn jeder selber fischen gehen? manchmal ist es einfacher, fische im laden zu kaufen.

    Ja. Man kann natürlich auch Fische in der Dose kaufen, allerdings darf man nicht über ein gepflegtes Fuck Off überrascht sein wenn man diese hier, in einem Forum mit freiwilligen Helfern ergattern oder gar erfordern will.

    Außerdem ist das kein Argument für oder wider C++, sondern ein allgemeines Prinzip - es scheint bloß in diesem speziellem Forum hier das jeweilige Mindset widerzuspiegeln.



  • finix schrieb:

    Bouncer schrieb:

    ist es so? wird <algorithm> in C++ wirklich so selten verwendet?

    Es sieht leider so aus. Allerdings ist dies kein Grund dir einen zu Grinsen, da worauf ich anspiele (map (a.k.a. std::transform), reduce, for-each, etc.) in Java scheinbar nicht nur kaum Verwendung findet, sondern sogar fast verpönt scheint.

    ich grinse nicht, es wundert mich nur. gerade auch, weil z.b. hier im C++ forum öfters mal neulingen die tonnenschwere und ultra-komplexe 'boost' library ans herz gelegt wird, während <algorithm> nach deiner aussage ein schattendasein fristet. dass die Java-community alles C++-mässige als rotes tuch sieht, ist aber scheinbar ganz normal. schliesslich empfinden sie Java als die rettung aus der C++-hölle und daher ist es kein wunder, das alles, was annähernd an C++ erinnert, von ihnen vehement abgelehnt und verteufelt wird.

    finix schrieb:

    Bouncer schrieb:

    und für C braucht man nur mal die suchmaschinen bemühen. dann findest du generische algos wie stacks, queues, maps, hashtables usw. in 1000-facher ausführung.

    Ach ja? Wo bleibt denn dann dein/das Killer-Argument für Java?

    wie jetzt? ich bin nicht so'n fanatischer java-fanboy wie du vielleicht glaubst. mein killer-argument ist höchstens, dass ich in plattformunabhängigen VM-sprachen und -systemen (es muss nicht unbedingt Java sein). ein grosses potential für die zukunft sehe und dass 'zu native code compilierende' sprachen auf leistungsstarken rechnern bald der vergangenheit angehören (mit ausnahme von treibern und so).

    finix schrieb:

    Bouncer schrieb:

    in C gibts das natürlich nicht, klar, aber in C *soll* auch nicht viel automatisch passieren (ich fänd's jedenfalls nicht gut, wenn's so wäre).

    Und das siehst du als Vorteil?

    ja, C ist total 'low level' mit allen vor- und nachteilen. es wäre ein unding, wenn ich in C mit einer unachtsamen anweisung das laufzeitverhalten und den ressourcenbedarf extrem beeinflussen würde (sprintf, etc. sind schon schlimm genug). wie sag ich immer: 'C ist ein portabler makro assembler' und das ist auch *gut so*.
    🙂



  • Bouncer schrieb:

    ich grinse nicht, es wundert mich nur. gerade auch, weil z.b. hier im C++ forum öfters mal neulingen die tonnenschwere und ultra-komplexe 'boost' library ans herz gelegt wird, während <algorithm> nach deiner aussage ein schattendasein fristet.

    Die werden, gemessen an den Fragen im Forum, ebenso wenig eingesetzt.

    Bouncer schrieb:

    dass die Java-community alles C++-mässige als rotes tuch sieht, ist aber scheinbar ganz normal. schliesslich empfinden sie Java als die rettung aus der C++-hölle und daher ist es kein wunder, dass alles, was annähernd an C++ erinnert, von ihnen vehement abgelehnt und verteufelt wird.

    Das ist ein Problem der Java-Community. (Und nebenbei wohl auch Ursache einiger kognitiver Dissonanz, nachdem Java mittlerweile Stück für Stück die ganze Komplexität ins Boot geholt hat. Aber ich als Außenstehender find's lustig - man muss nur mal ein harmloses 'Closure' in die Runde werfen, schon bricht die Hölle los.)

    Bouncer schrieb:

    ich bin nicht so'n fanatischer java-fanboy wie du vielleicht glaubst. mein killer-argument ist höchstens, dass ich in plattformunabhängigen VM-sprachen und -systemen (es muss nicht unbedingt Java sein). ein grosses potential für die zukunft sehe und dass 'zu native code compilierende' sprachen auf leistungsstarken rechnern bald der vergangenheit angehören (mit ausnahme von treibern und so).

    Ich kann das schon ungefähr einschätzen 😉 Und ich geb dir recht bezüglich VMs - wenn auch nicht bezüglich Java - aber mein Punkt war eher die gigantische Standard-Library.

    Bouncer schrieb:

    ja, C ist total 'low level' mit allen vor- und nachteilen. es wäre ein unding, wenn ich in C mit einer unachtsamen anweisung das laufzeitverhalten und den ressourcenbedarf extrem beeinflussen würde (sprintf, etc. sind schon schlimm genug). wie sag ich immer: 'C ist ein portabler makro assembler' und das ist auch *gut so*.

    Stimmt. Bloß dass du gerne die Nachteile verschweigst, und auch nicht unbedingt immer den wahren Wert der "Vorteile" anerkennst 😉



  • finix schrieb:

    Bouncer schrieb:

    ja, C ist total 'low level' mit allen vor- und nachteilen. es wäre ein unding, wenn ich in C mit einer unachtsamen anweisung das laufzeitverhalten und den ressourcenbedarf extrem beeinflussen würde (sprintf, etc. sind schon schlimm genug). wie sag ich immer: 'C ist ein portabler makro assembler' und das ist auch *gut so*.

    Stimmt. Bloß dass du gerne die Nachteile verschweigst, und auch nicht unbedingt immer den wahren Wert der "Vorteile" anerkennst

    okay, daran muss ich wohl noch arbeiten 😉


Anmelden zum Antworten