icancode.de

Programmierung

Stack Overflow Driven Development

Veröffentlicht am .

Stack Overflow Driven Development

Einleitung

Immer öfter werden Stimmen laut, die der Meinung sind, Programmieren sei wichtig für jeden Menschen. So gibt es Projekte die es sich auf die Fahne geschrieben haben, jedem das Programmieren beizubringen. Wer nun denk es ginge darum, eine Programmiersprache zu erlernen, hat weit gefehlt. Viel mehr ist das Ziel, den Menschen – und besonders Kindern – ein problemorientiertes, sequenzielles Denken zu vermitteln.

In den letzten Jahren hat sich auch die Art der Entwicklung verändert. Gab es damals nur vereinzelt Profis (heute auch gern Zen Meister genannt), so hat heute fast jeder Zugang zu einem Computer und damit auch die Möglichkeit zu programmieren.

Kleine Projekte sind einfach gestemmt. Hier ein »Game of Life«, da ein »Tic Tac Toe«.
Schnell steht man vor einem größeren Projekt und fragt sich, wie dieses Problem sinnvoll und mit möglichst wenig Aufwand gelöst werden kann. Diese Frage haben sich bereits viele Menschen gestellt und daraus verschiedene Methoden der Softwareentwicklung erarbeitet.

Stack Overflow Driven Development

Stack Overflow ist weit über die Grenzen der Programmiercommunity bekannt. Seit August 2008 gibt es die Frage & Antwort Plattform nun schon. Auf 120 unterschiedlichen Seiten haben sich 5,4 Millionen User mittlerweile 9,1 Millionen Fragen gestellt. StackOverflow im Speziellen ist auf Rang 53 des Webseitenrankings und hat einen Pagerank  7/10. (Stand 07.05.2014)

Lässt man diese Daten kurz wirken, stellt man sehr schnell fest, dass es kein Wunder ist, dass nahezu jede Frage bereits aufgekommen ist und mit großer Wahrscheinlichkeit gelöst wurde.
Schnell wird sich jedoch zu sehr darauf verlassen, dass es bereits eine Lösung geben wird und das eigene Denken kommt zu kurz. Was bringt mir ein Programm, das in der Theorie von mir entwickelt wurde, in der Praxis jedoch aus Code-Snippets von anderen besteht, die ich womöglich nicht einmal richtig verstehe. Der Begriff kam beim Brainstorming für das nächste Projekt mit Christoph Wolff von pixelpoesie.com auf. Zunächst habe ich herzhaft gelacht, aber nach ein paar Minuten wurde mir die traurige Tragweite dieser Wahrheit klar.

Keinen Bock auf APIs

Jeder, der im Begriff ist eine neue (Programmier)Sprache zu lernen, wird sich früher oder später in eine sog. API Dokumentation einlesen müssen. Das kann ziemlich nervig sein, vor allem, wenn man nicht genau weiß, wonach man eigentlich sucht. StackOverflow löst dieses Problem mehr oder minder nebenbei. Gebe ich bei Google mein Problem ein, werde ich mit hoher Wahrscheinlichkeit einen Treffer haben, der auf ein ähnliches Problem – und automatisch auf dessen Lösung verweist.
Ich persönlich finde das schade, habe ich doch durch das Lesen von API Dokumentation unbewusst vieles über die Sprache gelernt, was mir an späterer Stelle sehr hilfreich war.

Schlechter Informatikunterricht

Es ist traurig aber wahr, der Informatikunterricht an deutschen Schulen scheint nicht sehr ruhmreich zu sein. Ich selbst hatte den Grundkurs aller Grundkurse. Es gab einfach keinen anderen Kurs. Der Lehrer hatte viele der einfachsten Prinzipien selbst nicht verstanden und versuchte nun uns auf Grundlage einer Weiterbildung VBA für Excel und objektorientiere Programmierung beizubringen. Wohlgemerkt mit Delphi 6. Als computeraffiner Mensch, der sich autodidaktisch die Grundlagen von Pascal und Visual Basic beigebracht hatte, was dies ein sehr ernüchterndes Erlebnis.
Als Tutor an der Uni setzt sich diese Erfahrung fort. Die Studierenden teilen sich in zwei Lager – die, die einen sehr guten Informatik Unterricht hatten und »den Rest«. Erstere sind sowohl mit den essentiellen Prinzipien, als auch im Umgang mit APIs geschickt und wissen, wovon gesprochen wird. Zweiterer Teil löst schätzungsweise 75% der Aufgaben mit Hilfe von StackOverflow oder Foren, in denen ähnliche – wenn nicht sogar identische – Probleme bereits gelöst wurden. Offensichtlich abgeschriebener Code fällt natürlich auf und wird auch angemerkt. Die Tatsache, dass teilweise nicht einmal die Kommentare geändert werden oder der Code nicht erklärt werden kann, macht das Erkennen dieser Plagiate enorm einfach.
Das Problem ist nicht, dass sie die Aufgaben googlen. Das Problem ist, dass sie zu faul sind, den Code wenigstens zu verstehen, wenn sie ihn schon abschreiben.

Tritt man einen Schritt zurück und betrachtet andere Bereiche, so wird man schnell feststellen, das es ein immer globaler werdendes Problem ist. Egal ob Schule oder Universität, Mathematik oder Philosophie, der Ehrgeiz eine Aufgabe komplett selbst zu lösen scheint mir immer mehr abzunehmen. Schade eigentlich

 

 

Auch interessant

Complaint Driven Development
Asshole Driven Development

Rico Magnucki

Rico Magnucki

http://magnucki.de

21st Century Digital Boy und Blog-Gründer. Studiert naturwissenschaftliche Informatik in Bielefeld. Auf dem Blog ist er der Ansprechpartner für LaTeX, schreibt Tutorials, dreht die Videos für YouTube und durchforstet das Internetz nach spannenden Dingen.

Navigation