{"id":6508,"date":"2015-07-19T08:50:02","date_gmt":"2015-07-19T06:50:02","guid":{"rendered":"https:\/\/www.herr-rau.de\/wordpress\/?p=6508"},"modified":"2015-07-19T11:27:35","modified_gmt":"2015-07-19T09:27:35","slug":"erfahrungen-beim-programmieren","status":"publish","type":"post","link":"https:\/\/www.herr-rau.de\/wordpress\/2015\/07\/erfahrungen-beim-programmieren.htm","title":{"rendered":"Erfahrungen beim Programmieren"},"content":{"rendered":"<div style='text-align:right;'><small>(<a href='https:\/\/www.herr-rau.de\/wordpress\/2015\/07\/erfahrungen-beim-programmieren.htm#comments'>5 Kommentare.<\/a>)<\/small> <\/div><p>Beim Programmieren kann man viele sch\u00f6ne Erfahrungen machen, zum Beispiel mit Fehlern. Fehler sind dabei n\u00e4mlich etwas Allt\u00e4gliches. Anders als beim Fehler im Deutschaufsatz merkt man aber gleich, dass etwas falsch ist, und das ganz ohne den Hinweis eines Lehrers: Der Computer weigert sich zum Beispiel, einen Programmtext zu akzeptieren, weil man irgendeinen syntaktischen (=grammatischen) Fehler gemacht hat. Den muss man dann suchen und verbessern, sonst geht es nicht weiter. Das halte ich f\u00fcr eine lehrreiche Erfahrung.<\/p>\n<p>Noch spannender sind die semantischen Fehler: Das Programm l\u00e4uft zwar, aber es tut einfach nicht das, was es soll. Das \u00e4rgert einen. Die unmittelbare Reaktion ist: der Computer hat einen Fehler gemacht, Tats\u00e4chlich muss man aber akzeptieren, dass &#8211; in den in der Schule auftretenden F\u00e4llen jedenfalls &#8211; das Programm genau das macht, was man ihm gesagt hat. Nur hat man ihm einfach das Falsche gesagt; es ist ein Fehler des Programmierers und nicht des Computers. <\/p>\n<p>Erst neulich: Da war so eine Stelle, eingebettet in viele \u00e4hnliche Stellen, da hie\u00df es quasi <\/p>\n<p><code>wenn (a&lt;0 oder b&gt;0) dann:<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;tue Folgendes <\/code><\/p>\n<p>Das Programm hat jenes eher komplizierte Folgende aber nicht. Erster Schritt: \u00dcberpr\u00fcfen, ob die beiden Bedingungen tats\u00e4chlich erf\u00fcllt sind. &#8222;Doch, sind sie,&#8220; versicherte der Sch\u00fcler. &#8222;Kann gar nicht anders sein. Das muss so sein, weil sonst h\u00e4tte ja gar nicht&#8230;&#8220; Der Erkl\u00e4rung habe ich gar nicht zugeh\u00f6rt. Warum das logisch gar nicht sein kann, dass die Bedingungen nicht erf\u00fcllt sind, ist mir egal, solange sich einfach <em>\u00fcberpr\u00fcfen<\/em> l\u00e4sst, welchen Wert a und b zu diesem Zeitpunkt im Programmablauf haben, also in welchem Zustand sich das Programm zu diesem Zeitpunkt befinden. Manche Entwicklungsumgebungen bringen dazu ein Debugger genanntes Werkzeug mit, aber man kann sich auch einfach den Wert vona und b ausdrucken lassen, kurz bevor sie abgefragt werden.<\/p>\n<p>Und was nicht sein konnte, war dann doch so. Jetzt muss man weiter suchen, wieso a oder b den Wert haben, den sie nicht haben sollen. Hypothesen aufstellen, \u00fcberpr\u00fcfen, ausbessern.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>(5 Kommentare.) Beim Programmieren kann man viele sch\u00f6ne Erfahrungen machen, zum Beispiel mit Fehlern. Fehler sind dabei n\u00e4mlich etwas Allt\u00e4gliches. Anders als beim Fehler im Deutschaufsatz merkt man aber gleich, dass etwas falsch ist, und das ganz ohne den Hinweis eines Lehrers: Der Computer weigert sich zum Beispiel, einen Programmtext zu akzeptieren, weil man irgendeinen [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[25],"tags":[227],"class_list":["post-6508","post","type-post","status-publish","format-standard","hentry","category-informatik","tag-informatik"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/posts\/6508","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/comments?post=6508"}],"version-history":[{"count":1,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/posts\/6508\/revisions"}],"predecessor-version":[{"id":6514,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/posts\/6508\/revisions\/6514"}],"wp:attachment":[{"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/media?parent=6508"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/categories?post=6508"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/tags?post=6508"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}