Niveau im Programming Forum (besonders C/C++)

Daniel Toplak

Erfahrenes Mitglied
Ich weiß ja nicht wie ihr das seht, aber ich hab das Gefühl das Niveau im Programming Forum, besonders im C/C++ Forum sinkt.
Was ich damit meine ist, daß zuviele Leute mit Gewalt programmieren lernen wollen und schon bei den essentiellen Grundlagen scheitern, oder das einige meinen, daß hier ihre Projektarbeiten bzw. Übungsaufgaben gelößt werden, damit sie dann naher gut da stehen.

Desweiteren verweiße ich hier auch noch auf den Thread von Christian (Lesen verlernt? ), denn das ist schon irgendwo armseelig.
Wo soll das noch hinführen, wenn die Leute von heute alles vorgekaut bekommen?

Wie denkt darüber nach?

Gruß Homer
 
Dann erkennen wir das selbe. :)

Ich denke wir, Helfende, können am besten dazu beitragen, in dem unsere
Lösungswege nicht copy & paste fähig presentieren.

Auf Fragen sollte mann so antworten das der Fragende das Hintergrundwissen
vermittelt bekommt anstatt eine copy und paste fähige Antwort.

Als Beispiel die Frage:

Wie lese ich bei Java DOM den Text eines Elementes aus.
Sollte mann lieber erklären das in DOM der Text aus als Element vom Typ TextNode dargestellt wird als 10 Zeilen zu schreiben wie es geht.

Mann lernt Programmieren dann am besten wenn mann vor einem
Problem steht und dieses lösen muss.
Copy und Paste - Antworten verhindern das der Fragende auch was dabei lernt.

Wer mit solchen Antworten immer (ausnahmen gibt es immer) nicht
klarkommt und lieber Copy und Paste fähig haben
will, der sollte das mit dem Prorammieren eher sein lassen.
 
Ich habe durchaus kein Problem Neulingen zu helfen. Im Gegenteil. Es sollte sich jedoch jeder der Wissen will, im Klaren sein, dass er dafür auch etwas tun muss. Sprich, sein Problem aufarbeiten sogut er kann.

Eine komplette Aufgabenstellung zB werde ich sicherlich ignorieren - da ich annehme, dass sich der betreffende User nicht damit beschäftigt hat und mir die Zeit eigentlich zu schade ist, mich in sein gesamtheitliches Problem einzudenken.

Ja, das Niveau ist durchaus in einigen Foren nicht sehr hoch, da viele etwas machen wollen, wofür sie entweder nicht geschaffen sind, oder wofür sie zuwenig tun. Immerhin kann man erwarten, dass sich zB jemand der eine Programmiersprache wirklich erlernen möchte, auch die paar Euros hat, um sich ein entsprechendes Werk zu besorgen.

Im Grunde verhält es sich wie mit Script-Kiddies ... verstehen nichts von OSI-Layern, nichts von Protokollen, haben noch nichtmal einen CISCO-Router konfiguriert, aber richten Unheil an, weil sie die große Leistung schaffen, auf eine Clicki-Bunti-Oberfläche zu tapschen.

Klingt vielleicht heftig, aber es ist in meinen Augen leider so. Ich denke es sollte vor allem Augenmerk auf diejenigen gelegt werden, bei denen erkannt wird, dass sie das Programmierhandwerk erlernen wollen. Dass mal einer auf der Leitung stehen kann und den Wald vor lauter Bäumen nicht sieht ist klar, da muss man nicht diskutieren und erkennt man aus seinen anderen Posts.

Just my 2 cents,
Nitro
 
Original geschrieben von nitronic

Ja, das Niveau ist durchaus in einigen Foren nicht sehr hoch, da viele etwas machen wollen, wofür sie entweder nicht geschaffen sind, oder wofür sie zuwenig tun. Immerhin kann man erwarten, dass sich zB jemand der eine Programmiersprache wirklich erlernen möchte, auch die paar Euros hat, um sich ein entsprechendes Werk zu besorgen.

Prinzipiell gebe ich dir recht. Wobei mann aber dazu sagen sollte das es für sämmtliche
Programmiersprachen (mit wenigen Ausnahmen), kostenlose Werkzeuge gibt.
Selbst bei Programmiersprachen von Firmen die keine grössere OpenSource Affinität haben, wie eben MS. So gibt es WebMatrix, SharpDevelop das .net Framework umsonst. Bei Java gibts Eclipse, Netbeans usw, bei C++ wird mann ebenso mit kostenlosen Produkten erschlagen.
Das interressante ist dabei das die kostenlosen Werkzeuge oftmals auch die Referenzimplementierungen, und oft auch die besten Werkzeuge sind.

Dennoch sehe ich als wichtigste Eigenschaft eines Programmierers, die
Eigenschafft sich passend zu informieren. Sprich APIs lesen lernen, verschiedene
Hilfen wie eben tutorien und Google Groups nutzen zu wissen.
Wenn dann immer noch Fragen aufkommen die so zu verfassen, das daraus klar wird
was nicht ganz verstanden worden ist.

Ein weiterer ganz besonders wichtiger Punkt ist das mann lernt die Fehlermeldungen
zu verstehen. Wer nicht weiss was bei Java eine NullpointerException ist und wie diese entstehen kann, der wird viele, äusserst einfache Fehler nicht finden.
So wird er auch nie verstehen: unhandeld SQLException.
Der geübte, der auch Fehlermeldungen lesen kann, wird sofort feststellen das er irgendwo eine Datenbankoperation nutzt die "schief gehen kann", und er dies nicht wie gefordert behandelt.
Diese Dinge lernt mann aber zu verstehen wenn mann sich mit den Fehlern auseinandersetzt, die einem beim lernen widerfahren. Wenn mann dagegen gleich den Copy & Paste fähigen Code einbaut, wird mann diese Erfahrungen nicht sammeln können.



<- hat auch noch keinen CISCO Router konfiguriert ;)
 
Gute Post :)

Ad Cisco-Router: war ja auch nur ein Beispiel - würdest aber in Null-Komma-Nix schaffen, wennst dich ein bisserl mit Protokollen auskennst :)

Im Grunde ist Weiterbildung und das Wissen WO man suchen muss sehr sehr wichtig. Kopiert man fertige Lösungen/Codebeispiele, wirds spätestens dann eng, wenn mal wirklich etwas von einem verlangt wird.

Nitro
 
Prinzipiell gebe ich dir recht. Wobei mann aber dazu sagen sollte das es für sämmtliche
Mit den Werken waren glaub ich eher die Bücher gemeint. Und da sollte wirklich jeder in der Lage sein, sich zumindest ein Grundlagenbuch zu der jeweiligen Technologie/Sprache anzueigenen.
Noch dazu gibt es ja diverse Bücher auch kostenlos als eBooks.

Außerdem hab ich auch erst neulich die Erfahrung gemach (im Chat) das die Lernresistenz (finde das Wort einfach gut :) ) bei vielen sehr stark zunehmend ist.
Denn sie wollen alles jetzt und sofort gelöst haben und sind dabei nicht im Stande etwas hinzuzulernen, bzw. aus Fehlern zu lernen.

Gruß Homer
 
Irgendwo muß ich Euch recht geben. Ich bin hier seit einiger Zeit in diesem Board weil es scheinbar das beste (wahrscheinlich das einzige gute) deutsche Board ist in dem man wirklich mal Fragen stellen kann, die nicht nur an der Oberfläche kratzen. Hier wird geholfen wie der Teufel - da bin ich wirklich überrascht! Und da mir schon sehr oft hier geholfen wurde bin ich mittlerweile jeden Tag ein paar mal hier und helfe ebenfalls....

Ich muß allerdings sagen, das ich (gerade auch Programmierung) durch viele viele (Copy & Paste ;) ) Beispiele gelernt habe. Das liegt wahrscheinlich auch daran, dass ich wirklich etwas lernen will und eben den Copy&Paste-Code erst einmal auseinandernehme und genau schaue was da eigentlich passiert. Mich ständig nur mit Theorie rumschlagen hätte ich weder Lust noch Zeit. Bis vor kurzem hatte ich noch keine Ahnung wie man z. B. eine Socket-Verbindung zu einem FTP-Server programmiert weil ich noch nicht einmal wußte was das eigentlich ist. Dann hab ich mir eine Beispiel-Klasse besorgt und hab das Teil in seine Einzelteile zerpflückt und geschaut was Zeile für Zeile passiert. Deswegen bin ich gar nicht so sehr dagegen, dass man Code-Beispiele postet. Klar merkt man bei vielen, dass sie nur schnell ein Programm zusammenbauen wollen ohne überhaupt zu wissen was sie dort tun und vor allem warum sie es tun. Das finde ich etwas erbärmlich. Aber ich kenne viele (vor allem sehr junge) dieser "Script-Kiddies" ( ;) ), die wirklich lernen wollen und es erstaunt mich immer wieder wie irgendwelche 13/14jährigen (die wirklich mit ihrer Freizeit was besseres anfangen sollten) sich vor diese Flimmerkiste setzen und in ihrer FREIZEIT sich mit Programmierung, Datenbanken, Web-Servern etc. beschäftigen und einfach alles in sich aufsaugen... Ist schon manchmal sehr erstaunlich und da helf ich natürlich gern (ob mit fertigem Code oder nur mit theoretischen Hinweisen)!

Ob man nun einen CISCO-Router konfigurieren kann oder nicht (ich hab es noch nie getan, weiß also nicht ob ich es könnte) sei dahin gestellt. Wenn ich programmiern lernen möchte, muß ich schließlich nicht zwangsläufig einen Router konfigurieren oder PhotoShop aus dem F-F bedienen können. Ich weiß es war von Dir nur ein Beispiel und in gewissem Maße hast Du sicherlich recht.....

Ich wäre natürlich dafür, dass sich die Hilfesuchenden (bevor sie posten) etwas mit ihrem Problem beschäftigen (vielleicht selbst eine Lösung finden) und nicht gleich bei der ersten Fehlermeldung den Browser öffnen.

Na ja, das ist meine Meinung....

MfG
..::Six Dark::..
 
Es spricht ja nichts dagegen. Wenn Du Dir den Source auch wirklich ansiehst und ihn verstehen willst, dann ists eh kein Problem.

Es gibt nur viele, bei denen Du schon bei der Fragestellung merkst, dass sie sich nicht mit dem Problem auseinandergesetzt haben bzw. schon gar nicht mit der gesamten Materie. Und da hab ich persönlich etwas dagegen ihnen da fertigen Source in den Hintern (für Deutsche Staatsbürger -> Popo *gg*) zu schieben.

Beschäftigt sich jemand mit dem Thema, dann hilft ihm auch ein Tutorial, oder ein Link zu einer Page mit Beschreibungen etc. Aufgrund dessen kann er sich dann den Sourcecode zusammenbasteln. Sollte der selbst erstelle Code nicht funktionieren, oder Performanceprobleme verursachen etc, dann kann er ja gepostet werden und es gibt sicherlich genügend die ihn "verbessern".

Nitro
 
Original geschrieben von SixDark
Mich ständig nur mit Theorie rumschlagen hätte ich weder Lust noch Zeit. Bis vor kurzem hatte ich noch keine Ahnung wie man z. B. eine Socket-Verbindung zu einem FTP-Server programmiert weil ich noch nicht einmal wußte was das eigentlich ist. Dann hab ich mir eine Beispiel-Klasse besorgt und hab das Teil in seine Einzelteile zerpflückt und geschaut was Zeile für Zeile passiert.

Besser währe aber gewesen wenn du dich im Buch über Socketverbindungen informierst. Am schönsten währe es wenn du dir das auch auf dem Betriebssystem mal anschaust wie eine sich dort eine Verbindung über Socket aufbaut.
z.b durch $ man socket (auf UNIX / Linux Systemen)

Dann hast du dir grundlegende informationen die du benötigst. Danach reicht bei sowas
ein blick in die API und schon sollte es gehen.

Es geht auch nicht um die Beispiele die funktionsfähige Sourcen enthalten sondern es geht darum dem Fragenden nicht genau sein Problem per richtiger Source frei haus zu liefern.
Wenn er ein funktionsfähiges Beispiel hat und die Hintergrundinfos (was Sockets sind, wie sie funktionieren) dann kann aufgrund dieses Wissen immer ohne Probleme solchen Code implementieren.
Bei Copy & Paste fähigen Code den er so übernehmen kann, hat er aus seinem Problem nichts gelernt, ausser er ist lernwillig und versucht den Code nachzuvollziehen, wie du das von dir beschrieben hast.
 
Original geschrieben von Daniel Toplak
...Außerdem hab ich auch erst neulich die Erfahrung gemach (im Chat) das die Lernresistenz (finde das Wort einfach gut :) ) bei vielen sehr stark zunehmend ist....
Wenn mir jemand sagt, wie ich bei Miranda Text sinnvoll aus der History rausbringe, dann habe ich ein Hammerbeispiel dazu ;).
 
Zurück