Was kann ich mit iso c++ machen?



  • Original erstellt von crass:
    ich will niemandem zunahe treten, aber ist er im theoretischen wissen besser als du oder hat er schon wesentlich bessere programme geschrieben? bzw. was hat er denn schon gecodet, wenn man fragen darf? 🙂

    Er hat als Erster (!) Loki nahezu vollständig auf den VC++6 portiert. Das ist etwas, was nur wenige können! Sogar Alexandrescu fand das bemerkenswert!

    Also mit verlaub gesagt: Hume kann wesentlich mehr als ich, als du, mehr als die meisten hier in diesem Forum.

    Im studium lernt man nicht wie man programmiert (soweit ich das mitbekommen habe) - da sind Hobby Leute immer überlegen.

    wenn man keine Theorie kann, dann nützt einem die beste Praxis nicht. Ich rede hier nicht von Leuten die einmal den Stroustrup gelesen haben und das wars dann schon mit C++ Literatur. Woher will man OCP, RAII, Liskov, MVC,... kennen wenn man keine Bücher (oder ähnliches) liest?

    Natürlich muss man das wissen auch ab und zu anwenden, aber das kommt ja auch von alleine - schließlich ist nur lesen auf die dauer ja fad.



  • @sabine
    was ich nur als letztes noch zu bedenken gebe:

    unterrichten heißt nicht nur selber können.
    es wird oft verwechselt.

    du musst dich vor leute stellen, systematisch sachen erklären, didaktisch aufbereiten, nacht für nacht vorbereiten, weil du merkst, deine vorbereitung passt nicht auf die leute, aushalten, wenn sie nicht verstehen, andere worte für gleiche sachverhalte finden können,
    also auch schon eine masse abstand von dem stoff haben, den du da unterrichtest.

    das sehe ich als eigentliches problem: wenn man es nicht gewohnt ist und auch nicht gelernt hat, zu unterrichten, ist es am anfang oft hölle schwer.

    sie müssen dich auch akzeptieren als lehrende, und das bedarf mehr als nur ein wissen um den stoff.



  • Also mit verlaub gesagt: Hume kann wesentlich mehr als ich, als du, mehr als die meisten hier in diesem Forum.

    glaub ich gern..ich will auch gar nicht rumstänkern..hume is sicher (auch wenn ich ihn nich kenne) n guter programmierer und soweit ich mich erinnern kann hat er auch oft gleich ne gute antwort gewußt wenn ich mal was gefragt hab hier im forum:-)

    ich bin halt jemand der lieber draufloscodet und sich die Infos on-the-fly holt, als sich erstmal lang therorie reinzuziehen, aber jeder soll des so machen wie er will

    p.s. wer is Alexandrescu 😃

    [ Dieser Beitrag wurde am 13.01.2003 um 11:27 Uhr von crass editiert. ]



  • unterrichten heißt nicht nur selber können.
    es wird oft verwechselt.

    du musst dich vor leute stellen, systematisch sachen erklären, didaktisch aufbereiten, nacht für nacht vorbereiten, weil du merkst, deine vorbereitung passt nicht auf die leute, aushalten, wenn sie nicht verstehen, andere worte für gleiche sachverhalte finden können,
    also auch schon eine masse abstand von dem stoff haben, den du da unterrichtest.

    Noch ein guter Punkt. Nachdem man sich 6 Monate Faktenwissen reingeprügelt hat, hat man dummerweise noch keinen blassen schimmer wie man das aus seinem Kopf wieder raus und in die der Auszubildenden rein bekommt.

    Ich kenne das von der Uni. Da geben irgendwelche Studenten (oder Dozenten) andauernd irgendwelche Tutorien. Die Lesen sich zwei drei Kapitel über dotNet (hier kann auch jede andere beliebige Technologie oder auch eine beliebige Programmiersprache stehen) durch und stellen sich dann vor 20 Leute und wollen erklären wie man dotNet einsetzt. Nicht nur, dass sie kaum Plan haben von dem was sie reden, sie haben natürlich auch kein Konzept wie sie ihr Wissen darstellen sollen (wie auch, wir sind Informatiker und keine Lehrer). Das ist in meinen Augen großer Käse. Einen Artikel (oder ein Buch) kann ich auch selber lesen. Vergleicht man das mit einer guten Vorlesung (einem guten Seminar) eines guten Profs, erkennt man schnell, dass zum Lehren doch ne Menge dazu gehört und das auch nicht jeder dazu geeignet ist.

    Das ich mit meiner Meinung aber ziemlich alleine dastehe, erkennt man auch an den unzähligen (C++) Tutorials im Netz. Ich denke, wenn man auf 1000 Tutorials 10 gute findet sollte man schon überglücklich sein. Der große Müll entsteht aber in meinen Augen deshalb, da einige Leute sich viel zu früh berufen fühlen über Dinge zu schreiben, die sie selbst noch garnicht wirklich verstehen.

    @Shade
    Wieviel muss ich dir jetzt bezahlen? 😉 😃

    [ Dieser Beitrag wurde am 13.01.2003 um 12:04 Uhr von HumeSikkins editiert. ]



  • Huch. Noch was ganz wichtiges vergessen:

    Ich denke gerade die die Anfänger unterrichten, sollten besonders gut sein. Gerade am Anfang braucht man Leute die den Stoff rund um verstanden haben und auf viele verrückte Fragen viele schöne klare Antworten haben. Gerade am Anfang kann man nämlich nicht eben mal in ne Bibliothek gehen und alles nachlesen. Denn gerade am Anfang fehlt einem das Verständnis dafür.

    Deshalb ärgere ich mich auch so, dass ich früher nie von elise unterrichtet wurde 🙂

    [ Dieser Beitrag wurde am 13.01.2003 um 12:11 Uhr von HumeSikkins editiert. ]



  • Original erstellt von HumeSikkins:
    [QB]

    Deshalb ärgere ich mich auch so, dass ich früher nie von elise unterrichtet wurde 🙂

    [QB]

    @hume
    Wieviel muss ich dir jetzt bezahlen??? *kringel* du spinner 😉



  • Original erstellt von crass:
    p.s. wer is Alexandrescu 😃

    http://www.moderncppdesign.com/
    den sollte man kennen

    @Hume:
    Du bist immer so bescheiden...
    Naja, sagen wir: du hilfst mir ab und zu wenn ich Designprobleme habe und dafür tue ich weiterhin so, als wärst du ein guter C++ Programmierer :p



  • Aber die meisten Informatik-Lehrer an den Schulen haben auch nicht so den großen Plan und unterrichten auch. 🕶



  • Aber die meisten Informatik-Lehrer an den Schulen haben auch nicht so den großen Plan und unterrichten auch.

    eben... man muss nix wissen sondern nur so tun als ob man was weiß...
    und das bekommt unser info-lehrer noch nicht mal hin 🙄

    naja...

    mfg
    Plassy



  • nur so tun als ob man was weiß...

    du hast vollkommen recht! leider 🙄



  • LOL ich find des echt peinlich so Informatik an unserer Schule, oder der Java-Kursd den es bei uns gibt.

    Da kann man mal so richtig über die Lehrer lachen und sagen was die für nen scheiß verzapfen.

    Ein Gebiet wo ich mal mehr Ahnung hab als die Lehrer.

    Tja, ich hab mal bei den Java-Kurs mal reingeschnuppert und muss sagen schlimm, nach mehrern stunden hat die nichtmal erklärt was bytecode ist wie java aufgebaut ist, nix, null finito.
    Schrecklich.

    Hab dann rausgefunden dass die nur ein paar seminare mitgemacht hat.



  • @Hume
    hast natürlich Recht und die Bücher bringen so nichts (BTW. hab Modern C++ Design vergessen, bei den wichtigen Büchern ;)), sollte man abertrotzdem lesen, wenn man C++ lernen will 😉

    Zum unterrichten von anderen, sollte man unmengen an praktischer Erfahrung haben. Theorie ist natürlich auch wichtig, nutzt einem nur nichts, wenn man nicht weiss, wie man sie anwenden kann!



  • Hallo Leute

    Da habe ich ja was ins Rollen gebracht...
    Um euch ein wenig aufzuklären:

    Wir sind eine kleine Firma und haben dieses Jahr 5 Azubis eingestellt. Diese Azubis sollen bei uns eine gute Ausbildung genießen, um später einen gutes weiteres Berufsleben genießen zu können.

    Die Schulungen bezüglich C++ werden bei uns hauptsächlich für die Azubis verwendet. C++ gilt ja als gute Muttersprache. Wenn man C++ kann, wird man mit unseren weiteren Produkten (Schulungen in anderen Programmiersprachen) weniger Probleme haben.

    Später können die Azubis sich spezialisieren aber als GRUNDWISSEN möchten wir ihnen gerne C++ beibringen. Es soll auch nicht so ablaufen, dass ich eine Lehrerrolle einnehme. Wir haben ein sehr enges Verhältnis (die azubis und ich). Es soll mehr ein gemeinsames Lernen sein aber das Grundwissen, was oftmal das schwerste Wissen überhaupt ist soll ich ihnen beibringen. Es geht hier um den C++ Syntax. Funktionen, Schleifen, if, usw. Ein paar kleine Spiele programmieren (nimm und gib spiel, zahlenraten, usw) also nichts wirklich schwiriges.

    Ich bin in unserem Betrieb für die Webschulungen verantwortlich (PHP/MySQL/HTML). Von daher weiss ich wie ich ihnen das Wissen gut einstampfen kann.

    danke für eure Ratschläge...



  • Original erstellt von sabine-cc:
    **Später können die Azubis sich spezialisieren aber als GRUNDWISSEN möchten wir ihnen gerne C++ beibringen. Es soll auch nicht so ablaufen, dass ich eine Lehrerrolle einnehme. Wir haben ein sehr enges Verhältnis (die azubis und ich). Es soll mehr ein gemeinsames Lernen sein aber das Grundwissen, was oftmal das schwerste Wissen überhaupt ist soll ich ihnen beibringen. Es geht hier um den C++ Syntax. Funktionen, Schleifen, if, usw. Ein paar kleine Spiele programmieren (nimm und gib spiel, zahlenraten, usw) also nichts wirklich schwiriges.

    Ich bin in unserem Betrieb für die Webschulungen verantwortlich (PHP/MySQL/HTML). Von daher weiss ich wie ich ihnen das Wissen gut einstampfen kann.
    **

    hi
    wenn du in php-schulung schon erfahrung hast, dann wird die "syntax" in c++ für den anfängerkurs nicht so das problem sein.
    auch die ganzen schleifen, verzweigungen, funktionen ... sind dann für dich nix neues.
    so du php auch klassenorientiert bist (und ich vermute schon, weil es einfach angesagt ist) ist dir objektorientierung in grundzügen ja auch geläufig.
    was jedoch wichtig ist: daß sie "objektorientiert" denken lernen. das ist das schwerste. vor allem die polymorphie.. da musst du sie auch als anfänger schon hinkriegen.
    na ja.. klingt aber eigentlich so, als ob deine frage eher eine rethorische war ..



  • Original erstellt von HumeSikkins:
    Ich kann mir vorstellen, dass man den Stroustrup in 6 Monaten durcharbeiten kann. Sogar soweit, dass man den größten Teil *der da steht* versteht. Man kann das was im Stroustrup steht vielleicht danach auch reproduzieren. Aber kann man deshalb auch, wie ein guter Lehrer, viele Fragen beantworten, die nicht genau im Struppi beantwortet werden? Das würde ich mit einem klaren Nein beantworten. Um eine solche Transferleistung erbringen zu können braucht man sicher eine etwas längere Ausbilungszeit als 6 Monate.

    Das geht in meinen Augen ohnehin alles an der Realität vorbei.

    Wer hat denn 6 Monate Zeit, nur um den Stroustrup durchzuarbeiten? Und die nächste Frage auch gleich nach: wozu sollte das überhaupt gut sein?

    Die meisten haben irgendwie keine Vorstellung von der Realität... denkt mal an die ganzen Freelancer, da ruft Montags ein Kunde an und fragt nach einem Projekt. Dienstags Kontaktbesuch, der Softwerker erfährt, daß der Kunde eine Implementation in C# wünscht. Hm, Schwerpunkt bisher war immer C++ und Java. Bis Freitag soll man eine vorläufige Schätzung abgeben, welchen Zeitaufwand die Sache erfordert. Projektstart in 2 Wochen, wenn man den Auftrag annimmt. Zeitziel ca. 2 Monate. Im Laufe der Vorüberlegungen stellt man auch noch fest, daß man im Laufe des Projekts mit ADO.NET arbeiten muß, wovon man gar keine Ahnung hat. Oberflächen sollen auch entwickelt werden, mit WinForms - oh Mann, außer mal 2 Tage im neuen Studio hat man damit noch gar nicht rumgespielt. Und wir waren auf einem 3-Tage-Seminar zu .NET. Also - Entscheidung: Projekt annehmen oder nicht?

    In der Realität sagen 95% der Entwickler zu so einem Projekt ja - und arbeiten es ab, sogar problemlos. Ohne Ideologie, ohne 100%ige Kenntnis der Sprache.

    Diese Forderung nach 100%iger Perfektion in einer Programmiersprache, um Projekte zu bewältigen, ist völlig unrealistisch und wird im realen Leben nicht erreichbar sein. Das ist so ähnlich wie die immer wieder gehörte Aussage, man sollte erst WinAPI beherrschen, bevor man mit MFC oder VCL beginnt. Ein hohes Ziel, nur selten erreichbar, da man bereits unverhofft an einem MFC oder VCL-Projekt arbeitet.

    Man sieht doch auch gut, welche Leute das beherrschen - man kann das sehr gut an der Anzahl der Buchautoren zu C++ abzählen. Und schaut man auf deren Seiten nach ihrer Berufstätigkeit, so stellt man fest, daß sie eben keine Softwareentwickler im normalen Berufsleben sind. Sie sitzen in Instituten, sind freie Seminarleiter, Trainer oder Berater, und Buchautoren. Es ist auch klar, wer an der nächsten ISO-Norm für C++ mitarbeitet, wird seine Schwerpunkte ganz anders legen als ein Entwickler, der eigenständig Projekte ausführt.

    Aber darüber sollte man als Lernender auch mal nachdenken - will man mit seinen C++-Kenntnissen an der nächsten ISO-Norm mitarbeiten oder an einem Compilerbau mitwirken, oder will man Projekte bearbeiten und Softwareentwickler werden. Diese Bereiche sind in vielen Teilen überschneidungsfrei und eine allzu tiefe Spezialisierung in dem einen Bereich macht für den anderen blind.

    Unter dem Strich bleiben wichtig gute theoretische Grundkenntnisse (über OOP, Komponenten, Datenbanken, Funktionsweise von eventgetriebenen Systemen, GUI-Aufbau). Da sollte man sicher sein.

    Aber von der Sprache her empfehle ich eigentlich Scott Meyers Bücher möglichst bald zu lesen... noch vor dem Stroustrup. In der Realität kommt man nämlich sehr viel früher mit Copykonstruktoren und Speicherlöchern in Berührung, als mit einigen Details der Standardlib.

    Schwerpunkte bilden.



  • @marc++s

    jep 🙂



  • @Marc++us
    Irgendwie sehe ich deinen Punkt nicht. Es geht doch nicht darum, ob oder wann man an Projekten arbeitet. So wie ich die Frage verstanden habe geht es hier eher darum ob und wann man andere Leute ausbildet.
    Und von einem Ausbilder würde ich schon erwarten, dass er von dem Stoff den er lehrt auch ein wenig mehr Ahnung hat.
    Und nur weil es schon immer uninformierte Ausbilder gab muss man ja nicht selbst so einer werden.

    Und zu deinem Punkt: Ich glaube ehrlich gesagt nicht, dass man ein Projekt fertig bekommt ohne das zumindest ein paar im Team ein Plan von dem haben was sie machen. Klar an der Uni wird einem beigebracht, dass nur die ganz oben was können müssen und das die Programmierer dann nichts weiter als austauschbare Resourcen sind. Das widerspricht aber so ziemlich allem was ich bisher gelesen habe. Warum sonst gibt es Bücher wie "The mystical man-month" oder "Death-March" (um nur zwei zu nennen)? Wenn alles so einfach ist, warum scheitern dann so unglaublich viele Softwareprojekte?



  • Sie scheitern wegen Nutzung der VHIT-Methode ... Vom Hirn ins Terminal ohne jegliche Überlegung. Das muss allerdings nicht aus mangelnder Kompetenz in Sachen C++ sein.



  • @Marc++us
    es macht einen Unterschied (wie Elise bereits ganz am Anfang gesagt hat), ob man mit etwas programmieren kann oder ob man jemanden etwas beibringen kann. Hier geht es ja um den Fall, dass man jemand unterrichten soll, dass kann man aber nicht ohne solide Kentnisse der Sprache.

    (BTW. Es gibt aber auch einige Autoren, die praktisch arbeiten, wie zB. Herb Sutter)



  • @kingruedi:
    Schau Dir mal genau an, welche Tätigkeit Herb Sutter im praktischen macht... das ist eher die Ecke, die ich nannte. Softwareconsultant und externer Projektberater ist für mich keiner mehr, der an Projekten "tippt".

    @Dimah:
    yep, zum Teil auch damit verbunden, daß oftmals die Anforderungen nicht klar sind, welche Funktionalität eigentlich implementiert werden soll. Irgendwann haben alle was fertig, was keiner will, und man zieht die Reißleine. Im seltensten Fall hängt das davon ab, daß jemand etwas nicht beherrscht - dem Fall kann man mit Maßnahmen auch leicht gegensteuern (Seminar, Buch, ext. Berater). Hauptsächlich ist einfach nicht klar, was gewollt ist.

    @Hume:
    Du hast durchaus auch mal ein Team, in dem keiner eine Ahnung von einem Tool hat, trotzdem wird beschlossen dieses zu nehmen, Training on the job. Wie glaubst Du sind die ganzen Firmen von C auf C++ umgestiegen? 6 Monate die Arbeit niedergelegt und gelesen und geübt, bevor ein Projekt gestartet wurde? Da hieß es "das nächste Projekt machen wir in C++", es gab etwas mehr Zeit, die Tools wurden gekauft, und zwischendrin gab's ein paar Seminare wenn Zeit war. Und so entwickeln sich die Kenntnisse der meisten Mitarbeiter. Man hat Probleme, liest etwas rum ob es das Problem schon wo gibt und eine Lösung dafür... auf diese Weise lernt man dann Design Patterns, Templates und Alexandrescu kennen. Wenn der Kommunikationsfluß im Team gut ist passt sich damit der Kenntnisstand gemeinsam und gegenseitig an. Aber diese Evolution erfolgt von Projekt zu Projekt. Alte haben den Stand nicht, neuere mehr, usw. Das perfekte Projekt gibt's nicht. Bei den Freelancern ist das noch 100mal schlimmer, weil da der Kunde ein Tool vorgibt ohne es zu kennen. Bei einem eigenen Team hat man noch Einfluß auf das Tool.


Anmelden zum Antworten