C++ Gurus
-
Jester schrieb:
Alle C++ Sprachfeatures einmal angeschaut haben und die Syntax dafür kennen braucht kein Jahr. Aber zu wissen wie man daraus ein vernünftiges System baut... da liegen die Probleme.
Das meinte ich, hab' mich wohl etwas unklar ausgedrückt, natürlich sind die APIs also solche nicht schwer, nur eben reichlich komplex. Und damit hält man sich auch länger auf... finde ich!
Ich persönlich hatte keine großen Probleme mit der Syntax und den Sprachbestandteilen, dass ging bei mir alles schön intuitiv und vieles auch ohne Hilfe (bis auf die Pointer, aber die sind dann auch nur halb so schlimm, wenn man mal richtig drüber nachdenkt). Als dann aber mein erstes WinAPI-Programm vor der Tür stand... da musste ich mich zum ersten Mal richtig reinhängen, mit den ganzen Funktionen und allem und auch ein wenig auswendig lernen... und bei der OpenGL-API sah's dann auch nicht besser aus
Ist meine Meinung, allerdings muss ich auch erwähnen, dass ich die Grundbausteine in PHP gelernt habe und daher vieles in C++ schon kannte bzw. schon einmal benutzt hatte...
-
Reyx schrieb:
Als dann aber mein erstes WinAPI-Programm vor der Tür stand... da musste ich mich zum ersten Mal richtig reinhängen, mit den ganzen Funktionen und allem und auch ein wenig auswendig lernen...
Naja, die WinAPI ist halt gewachsen und mit der Zeit immer unfreundlicher geworden.
-
Griffin schrieb:
Du traust dich, nach dem BILD Thread, solche Töne zu blasen?
ich nehme kein blatt vor'n mund äääh die finger, so kennste mich doch.
Griffin schrieb:
Etwas überheblich, ne?!
du meinst doch nicht etwa mich damit? oder schreibst du das jetzt, weil du ein gekränkter bild-leser bist?
-
willst du programmieren lernen -->Java mit Eclipse ist absolut geil!!!
-
java schrieb:
willst du programmieren lernen -->Java mit Eclipse ist absolut geil!!!
is gut optimizer
-
volkard schrieb:
wohnste weit von mir entfernt?
ich biete dir an, daß ich dir für 25Eu/h und 3h/woche c++ beibringe. innerhalb eines jahres wirste 80%-guru sein.
(außer, du bist hoffnungslos doof, dann aber erkenne ich das nach spätestens 6h und die 6h seien kostenlos. davon gehe ich aber nicht aus, da du die probleme korrekt ansprichst.)Mit deiner endlosen Selbstverliebtheit machst du dich nur lächerlich.
Es gibt hier nicht wenige Leute, denen du nicht annähernd das Wasser reichen kannst. (Nein, dazu zähle ich mich im Bereich C++ nicht ... bevor ne blöde Anmerkung dazu kommt)
Also schalte endlich mal einen Gang zurück.
-
hm, ich kann gar nicht verstehen, wie man so über C++ ablästern kann.
Ich programmiere mittlerweile seit ca. 10 Jahren oder so, in Pascal (später Delphi), VB, PHP, ganz wenig Java und mittlerweile etwas in C++. Ich habe immer wieder mal versucht einen Einstieg in C++ zu finden, bin aber immer daran gescheitert, dass ich dachte so ein 21-Tage-Buch würde reichen, um einen Einstieg zu finden. Das Problem ist aber nicht, dass die Sprache an sich so komplex ist, aber das, was man damit machen kann. Was hat man denn schon groß? Basistypen, Zeiger, Referenzen, Funktionen, Klassen, Namespaces, Templates (Vielleicht noch was vergessen?). Das erste Problem stellt(e) für mich die STL dar, da diese schon ziemlich mächtig ist, wurde ja nicht umsonst in den Standard genommen. Alles andere sind ja "nur" irgendwelche Libs, die man benutzen kann.
Ich bin immernoch ziemlicher Neuling, was C++ betrifft, aber ich bin einfach nur fasziniert, was man damit so alles anstellen kann. Alleine die Templates sind einfach nur genial, finde ich.
Du kannst Dich mit Hilfe von Libs auf einem höheren Level bewegen und im Prinzip einfach nur die C++-Syntax verwenden, zeitgleich hast Du aber die Möglichkeit mit Pointer so alles mögliche zu machen, was Du möchtest. Kommt halt nicht immer das raus, was man evtl. erwarten würde, aber eigentlich ist das nur der Beweis, dass man selbst schlampig gearbeitet hat, auch wenn man dachte, dass man alles bedacht hat. Wie oft ich bei meinen Testprogrammen irgendwo in den Speicher gezeigt habe und dann irgendeine Exception bekam, wo ich erstmal nichts mit anfangen konnte. Wenn man sich den Code dann aber nochmal genau ansieht, dann merkt man halt, dass man selbst der Dumme war.
Und wenn man sich an den etwas kryptischen Stil gewöhnt hat, dann denke ich ist das einfach eine geniale Sprache. Wenn es nicht so wäre, dann gäbe es glaube viel mehr Projekte, die mit anderen Sprachen umgesetzt werden. Das kann nicht alles an der "C-Vergangenheit" liegen, wenn man das mal so nennen möchte.
Und Sprachen, wie VB und Konsorten bilden keine echte Alternative, weil eine Programmiersprache meiner Meinung nach systemunabhängig, intuitiv logisch und relativ einfach zu verstehen sein sollte, dabei aber die Möglichkeit bieten soll mit einfachen Mitteln (Libs) gewisse Ziele zu erreichen, auf der anderen Seite aber auch Möglichkeiten bieten sollte eben überall bzw. so weit es eben geht einzugreifen.
Ähm, hat jetzt irgendwer verstanden, was ich sagen wollte?
-
Gregor@Home schrieb:
pumuckl schrieb:
hm. für 25 tacken kann ich mir auch ein halbes bis ganzes neues Buch besorgen, das mir (bei geeigneter Wahl der Lektüre) die Probleme genau auseinandersetzt, die mich grad beschäftigen.
Das mußt du anders sehen. Du hast da einen "Pivatlehrer" und soetwas ist viel wert. Wenn du ein professionelles C++ Seminar mitmachst, dann kostet dich das deutlich mehr.
Nun ja meine persönliche Erfahung (die natürlich nicht jeder teilen muss und wird) ist, dass ich für mich mit learning by doing und eigenständigem Erarbeiten des Stoffes deutlich schnellere und effektivere Lernerfolge erziele als bei einem Lehrer oder in einem Seminar. Das hängt unter anderem damit zusammen, dass ich selbst mir eine geschwindigkeit vorgeben kann, dass das Lernen frei auf meine eigenen Bedürfnisse angepasst werden kann und ich den "Lerhplan" nach Interesse und Bedarf umstellen kann. Das funktioniert bei mir nicht nur im Bereich C++ etc, sondern hat bisher auch in der Uni immer gut funktioniert (Mathe/Physik).
Aufgaben gibt es auch genug, um sich die für den Lernerfolg nötige Mege selbst zu suchen, dazu braucht es auch keinen Lehrer.
Eine andere Lernmethode ist learning by teaching: man suche sich einen zweiten, der genauso viel oder wenig von der Materie versteht wie man selbst und erkläre sich den Stoff gegenseitig, parallel zum selbst erarbeiten des Stoffes. Das vertieft und beseitigt missverständnisse und Unklarheiten, weil man den Stoff aus anderen perspektiven zu hören bekommt. Das ist auch der Grund warum ich mich hir rumtreibe: Wenn jemand mit einem Problem auftaucht, dessen Stoffgebiet mich interessiert bzw. mir auch bald über den Weg laufen dürfte, versuche ich mir den nötigen Stoff zu erarbeiten um eine mögliche Lösung zu finden. Gleichzeitig schaue ich was andere dazu zu sagen haben um meine Sicht der Dinge zu bestätigen oder zu korrigieren. Fragen die mir bereits bekannten Stoff betreffen bearbeite ich auch um zu vertiefen und aufzufrischen.So, genug des geschwafels
PS: mantiz, du sprichst mir aus der Seele
-
space schrieb:
Es gibt hier nicht wenige Leute, denen du nicht annähernd das Wasser reichen kannst. (Nein, dazu zähle ich mich im Bereich C++ nicht ... bevor ne blöde Anmerkung dazu kommt) Also schalte endlich mal einen Gang zurück.
wüsste keinen
.. volkard ist eine der wenigen, die sich nicht so dermaßen mit beschissen DIN rumschlagen oder sich gegenseitig vollweinen, welche Vompilereinstellung denn wieviel nanosek. bringt. Oder dauernd Ihren Stil ändern, weil es in irgendeinem scheiss Buch steht
(meistens zumindest)
Auch seine realistische Einstellung gegenüber Linux macht ihn sehr sympathisch
Fazit: Auch wenn er mich mal auf seine Black-List gesetzt hat, er sieht auf manchen Bildern aus wie ein schräger Vogel
Aber er hats schon drauf.
-
Was ich nur nicht verstehe ist, warum so viele Leute behaupten, die Syntax von C++ währe schwierig, kryptisch, unübersichtlich... usw.
Ich persönliche finde die Syntax genau richtig: logisch, eigentlich überhaupt nicht kryptisch, intuitiv und vor allen Dingen: übersichtlich. Wenn ich mir dagegen mal einen vierhundert Zeilen langen DelphiLanguage- oder ObjectPascal-Quellcode ansehe, dann wird mir einfach nur schlecht!
Muss eine Sprache wirklich vollgesprickt mit "PROCEDURE"s, "BEGIN"s und "END"s sein, damit die Leute ihre Syntax als gut preisen?
-
.. volkard ist eine der wenigen, die sich nicht so dermaßen...
hihi
Ansonsten:
Programmiert doch einfach mal was Schönes in der Sprache, die euch am besten liegt auf einem Betriebsystem, das euch gefällt, und mault hier nich so rum.
-
Reyx schrieb:
Was ich nur nicht verstehe ist, warum so viele Leute behaupten, die Syntax von C++ währe schwierig, kryptisch, unübersichtlich... usw.
Ich persönliche finde die Syntax genau richtig: logisch, eigentlich überhaupt nicht kryptisch, intuitiv und vor allen Dingen: übersichtlich. Wenn ich mir dagegen mal einen vierhundert Zeilen langen DelphiLanguage- oder ObjectPascal-Quellcode ansehe, dann wird mir einfach nur schlecht!
Muss eine Sprache wirklich vollgesprickt mit "PROCEDURE"s, "BEGIN"s und "END"s sein, damit die Leute ihre Syntax als gut preisen?
Absolut. C++ Code ist in der Tat sehr übersichtlich, wie auch in diesem Beispiel:
template< class R, class T > class mem_fun_t : public unary_function<T*, R>{ R( T::*pmf)(); public: explicit mem_fun_t( R( T::*f )() ) : pmf(f) {} R operator()( T* t ){ return t->*pmf(); }} template< class R, class T >mem_fun_t< R, T > mem_fun( R( T::*pmf )() ){ return mem_fun_t< R, T >( pmf );}
So muss Sourcecode im Jahr 2005 aussehen
-
Muss eine Sprache wirklich vollgesprickt mit "PROCEDURE"s, "BEGIN"s und "END"s sein, damit die Leute ihre Syntax als gut preisen?
Naja, also die meisten Denken da weniger an Pascal, sondern eher an Python oder sowas.
-
interpreter schrieb:
C++ Code ist in der Tat sehr übersichtlich, wie auch in diesem Beispiel:
template< class R, class T > class mem_fun_t : public unary_function<T*, R>{ R( T::*pmf)(); public: explicit mem_fun_t( R( T::*f )() ) : pmf(f) {} R operator()( T* t ){ return t->*pmf(); }} template< class R, class T >mem_fun_t< R, T > mem_fun( R( T::*pmf )() ){ return mem_fun_t< R, T >( pmf );}
Er könnte auch so aussehen
template< class R, class T > class mem_fun_t : public unary_function<T*, R> { R( T::*pmf)(); public: explicit mem_fun_t( R( T::*f )() ) : pmf(f) {} R operator()( T* t ) { return t->*pmf(); } }; template< class R, class T > mem_fun_t< R, T > mem_fun( R( T::*pmf )() ) { return mem_fun_t< R, T >( pmf ); }
-
Freak_Coder schrieb:
Er könnte auch so aussehen
...aber nicht viel besser
-
Da kannste so viel formatieren wie du willst - es wird immer ein unleserlicher Salat bleiben.
-
interpreter schrieb:
Da kannste so viel formatieren wie du willst - es wird immer ein unleserlicher Salat bleiben.
ausser wenn man ahnung hat
-
In der Hinsicht sei allerdings bemerkt, dass es auch am Programmierstiel liegt: Dein Code ist in der Tat ein auf den ersten Blick unleserlicher Salat, aber mit richtigen Konventionen (Kommentaren, Strukturen, Einrückungen etc.) kann man da einiges retten.
Es kommt halt darauf an, wie man die Sprache einsetzt, aber gerade da finde ich, kann man mit C++ übersichtlicher proggen als in vielen anderen Sprachen!
Ist und bleibt aber wohl Geschmackssache...
-
wir sehen also, daß die syntax von c++ eine katastrophe ist.
aber naja, es ist nur die syntax. im vergleich zum rest des programmierens ganz einfach. vom gesamtkonzept her ist c++ klar und geradlinig und genau richtig und es ist in c++ am allerleichtesten, komplexere gedanken in code zu gießen.
(wenn man mal davon absieht, daß es kein yield gibt, keine gescheite compilezeitprogrammierung, man in destruktoren (da, wo die datenbank geschrieben wird) keine exceptions werfen darf, exception-spezifikationen nix bringen, man im standard keine sockets, farben, threads kennt...)
-
c++ guru 2 schrieb:
interpreter schrieb:
Da kannste so viel formatieren wie du willst - es wird immer ein unleserlicher Salat bleiben.
ausser wenn man ahnung hat
Naja, das so ein Einwand kommt war klar. Es ist völlig unerheblich wie viel Ahnung man hat. Der Code ist und bleibt kryptisch und unübersichtlich. In Python schreibe ich den selben Code in ein paar Zeilen, den nahezu jeder Standardprogrammierer sofort versteht.
Ich will C++ nicht generell schlecht reden. Dennoch bin ich der Meinung, dass es in einigen Bereichen ein veralteter Dinosaurier ist und es mittlerweile für viele Einsatzbereiche von C++ gute Alternativen gibt.
Aber kann natürlich sein, dass du unleserliches Pointer-Template-Gehaxx0re brauchst, um dich elitär zu fühlen