<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1049135627539464362</id><updated>2010-03-31T14:23:58.982-07:00</updated><title type='text'>Hartkodiert</title><subtitle type='html'>Aus dem Leben eines Studenten: fortgeschrittener Java-, PHP- und JavaScript-Programmierer, Softwareentwickler, blutiger C++-Anfänger. Über meinen schwerfälligen Einstieg in eine Programmiersprache mit zahlreichen Unbekannten, einigem scheinbar Vertrautem und jeder Menge hinter all dem verborgenen Fallstricke.</subtitle><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1049135627539464362/posts/default'/><link rel='alternate' type='text/html' href='http://hartkodiert.de/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://hartkodiert.de/atom.xml'/><author><name>Udo</name><uri>http://www.blogger.com/profile/04107630116266578794</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1049135627539464362.post-1524329096677800622</id><published>2010-03-31T14:19:00.001-07:00</published><updated>2010-03-31T14:23:58.994-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Beobachtungen'/><title type='text'>/* no comment */</title><content type='html'>Wer nichts zu sagen hat, sollte einfach mal die Fresse halten. Oder keinen Kommentar hinterlassen, zum Zeugnis des eigenen Unvermögens. Im besten Fall sollte jede/r selbsternannte Programmierer/in respektive aus- oder eingebildete Softwareentwickler natürlich selbsterklärenden Code schreiben. Das aber ist längst nicht immer und überall der Fall, insofern kann man froh sein wenn der hingekrakelte Quelltext oder aber der Kommentar halbwegs verständlich ist, oder zumindest unterhaltsam. Ganze Blogs kümmern sich um eben jene im Grund völlig überflüssigen und dennoch in nicht-öffentlichem Code leider allzu oft aufzufindendem digitalen Nonsens. Ich habe hier mal meine persönliche "Best of" zusammengestellt, und werde sie bei sich bietender Gelegenheit aktualisieren:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;/* DO/DON'T DO THIS, THAT OR DO/DON'T CHANGE THIS */&lt;/pre&gt;insbesondere in dieser aufdringlichen Form, an der man in jedwedem Editor, vom vi bishin zu Visual Studio 2010, beim besten Willen nicht vorbei kommt. Cool besonders dann, wenn sich bei syntaktischer Analyse herausstellt, das der "DO NOT REMOVE THIS!" markiete Codeabschnitt völlig überflüssig ist, entweder weil er durch andere Programmteile ganz oder in Teilen ersetzt werden könnte, oder noch einfacher: Wenn er schlicht und ergreifend nie aufgerufen wird.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;/* WHO MADE THIS CRAPPY/SILLY/DUMB/... CODE!? */&lt;/pre&gt;gerade dann wenn der bemängelte Abschnitt nur wenige Zeilen umfasst die ein ach so kundiger Ingenieur mit deratigem Mitteilungsbedürfnis jederzeit im nu in ein Nobellpreis-verdächtigen Mehrwert verwandeln würde, noch vor dem ersten Kaffee&lt;li&gt;/* WHAT DOES THIS? */ im Speziellen wenn es sich, anhand der Versionskontrolle nachvollziehbar, beim Verfasser des Kommentars wie des verbrochenen Programmabschnitts um die selbe Person handelt.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;METHODWITHUSELESSNAME(ARGUMENT LIKE ARG1, VALUE2, etc.)&lt;/pre&gt;sind vor allem bei Autoren beliebt, deren gesamter Quelltext oder Teile dessen aus Suchmaschinen stammen und denen es zu viel Mühe bereitete den so übernommenen Code wenigstens noch mit sachgerechten Namen zu versehen.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;/* destructor / constructor */&lt;/pre&gt;Tatsächlich gibt es Programmierer und Softwareentwickler - insbesondere selbsternannte, dann in der Regel auch: selbsternannte Gurus ihres Fachs - die es für nötig halten jeden einzelnen Konstruktur als solchen zu kennzeichnen, und zwar nur so.&lt;br /&gt;&lt;br /&gt;Mein Ziel ist es nicht, mit dieser Aufzählung jemand anzugreifen, sondern vielmehr für das Thema sinnloser Kommentare zu sensibilisieren. Da hilft meist Humor, und Selbstironie: Programmierer lernen nämlich nie aus, und wer über sich selbst lachen kann, tut das meist über eine vorangegangene Inkarnation. Wer hingegen immer auf dem selben Stand bleibt, ohne diese Ratschläge ernst zu nehmen, ist früher oder später überflüssig.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1049135627539464362-1524329096677800622?l=hartkodiert.de' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/1049135627539464362/1524329096677800622/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://hartkodiert.de/2010/03/no-comment.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1049135627539464362/posts/default/1524329096677800622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1049135627539464362/posts/default/1524329096677800622'/><link rel='alternate' type='text/html' href='http://hartkodiert.de/2010/03/no-comment.html' title='/* no comment */'/><author><name>Udo</name><uri>http://www.blogger.com/profile/04107630116266578794</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='13365170961507437475'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1049135627539464362.post-6341041308074732977</id><published>2010-01-06T02:13:00.000-08:00</published><updated>2010-01-06T04:37:47.531-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Jahr 2010 Bug'/><category scheme='http://www.blogger.com/atom/ns#' term='y2k10'/><category scheme='http://www.blogger.com/atom/ns#' term='Bugs'/><title type='text'>Jahr 2010 Bug</title><content type='html'>&lt;p&gt;&lt;a href="http://www.flickr.com/photos/springfeld/4250928530/" title="Jahr 2010 Problem by springfeld, on Flickr" style="float:right;padding:10px 0 10px 10px "&gt;&lt;img src="http://farm3.static.flickr.com/2789/4250928530_8a577125e0_m.jpg" width="225" height="225" alt="Jahr 2010 Problem" /&gt;&lt;/a&gt;Wer den Schaden hat, braucht für den Spot nicht zu sorgen, so das Sprichwort. In diesem Fall ist der Schaden gewaltig, vermutlich von &lt;strong&gt;größerer Tragweite als beim Jahr 2000 Problem mit Ansage&lt;/strong&gt;. Dabei kann nicht in allen Fällen von einer Überraschung die Rede sein, in Einzelfällen wie bei der OpenSource-AntiSpam-Lösung SpamAssasin von Apache war man längst über das Problem in Kenntnis gesetzt worden, &lt;a href="https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6269"&gt;trotzdem beispielsweise klassifiziert die Software seit dem 1. Januar viel mehr Mail als Spam&lt;/a&gt;. Kommerzielle Softwareprodukte sind hiervon aber längst nicht ausgenommen, so betrachtet &lt;a href="http://nieronet.spaces.live.com/blog/cns!E68077D85C203612!256.entry"&gt;Symantec Virendefinitionen mit einem Datum diesen Jahres als veraltet&lt;/a&gt;&lt;/p&gt;.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Das Problem ist &lt;strong&gt;fehlendes, qualifiziertes Personal&lt;/strong&gt;, zu deutsch &lt;strong&gt;Fachkräftemangel&lt;/strong&gt;. Und das wiederum gilt für die OpenSource-Lösung gleichermaßen wie beim weitaus verheerenderen Ausfall der Schnittstelle zur Zahlung per Magnetkarte. Dabei sind magnetische Datenträger so Retro, Old School und letztes Jahrtausend, das man meinen könnte das hochprofitable Bankensystem würde auch auf diese Technik zu Gunsten viel &lt;del&gt;ausgefeilterer&lt;/del&gt; einfacher auszulesender Chip-Technologie verzichten, mal ein wenig Geld in die Hand nehmen und zugleich ein wenig Qualitätssicherung zu betreiben.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Unser Dozent machte sich vor der um 8 Uhr sichtlich ausgedünnten Kommilitonenschaar zu recht lustig über das Unvermögen der Industrie und ermahnte alle Studenten Verantwortung für eigenen Code zu übernehmen. Ob das allerdings bei allen zukünftigen Kollegen ankam, darf ich aus Erfahrung bezweifeln.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1049135627539464362-6341041308074732977?l=hartkodiert.de' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/1049135627539464362/6341041308074732977/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://hartkodiert.de/2010/01/jahr-2010-bug.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1049135627539464362/posts/default/6341041308074732977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1049135627539464362/posts/default/6341041308074732977'/><link rel='alternate' type='text/html' href='http://hartkodiert.de/2010/01/jahr-2010-bug.html' title='Jahr 2010 Bug'/><author><name>Udo</name><uri>http://www.blogger.com/profile/04107630116266578794</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='13365170961507437475'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1049135627539464362.post-8526569977541276936</id><published>2009-12-09T09:30:00.001-08:00</published><updated>2009-12-09T09:43:42.614-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Prozedurale Programmierung'/><category scheme='http://www.blogger.com/atom/ns#' term='Pascal'/><title type='text'>Mein alter Bekannter, Pascal</title><content type='html'>Mein lieber Herr Gesangverein, was lief mir ein kalter Schauer über den Rücken, als ich mir nichts, dir nichts &lt;b&gt;Pascal &lt;/b&gt;begegnete. &lt;b&gt;Pascal &lt;/b&gt;ist ein alter Bekannter, der mir den Glauben an die Informatik rauben sollte, denn &lt;b&gt;Pascal &lt;/b&gt;war nicht irgendwer, sondern meine erste an der Hochschule vermittelte &lt;b&gt;Programmiersprache&lt;/b&gt;. &lt;b&gt;Prozedurale Programmierung&lt;/b&gt; hiermit das Höchstmögliche der Gefühle, und state-of-the-art Mitte/Ende der 1970er, Anfang der 1980er Jahre. Ende der 1990er servierte mir die Frankfurter Fachhochschule dies in der zentralsten Vorlesung meiner ersten studentischen Laufbahn, und angesichts der Tatsache das ich im privaten Umfeld bereits meine ersten, wenig erbaulichen Erfahrungen mit dem &lt;b&gt;Nachfolger Delphi&lt;/b&gt; gemacht hatte keine schöne Begegnung eben&lt;br /&gt;&lt;br /&gt;Wie die heutige, wieder in einer Vorlesung, dieses Mal allerdings ausdrücklich nicht mehr als beipspielhaftes Programmiermodell, sondern eine &lt;b&gt;Remineszens an die prozedurale Vergangenheit&lt;/b&gt;, als Vorlage für einen in C++ abzubildenden Algorithmus. Anders als damals kam das schlecht lesbare Schriftbild - vermutlich aus einem Buch herauskopiert, das mit damaliger Technik vervielfältig wurde - dieses Mal allerdings nicht vom Telefonbuch-schweren Skript des Dozenten, sondern wurde zeitgemäß an die Wand projeziert. Hier wurden wirklich schmerzliche Erinnerungen wach, denen ich mich hiermit entledigen will.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1049135627539464362-8526569977541276936?l=hartkodiert.de' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/1049135627539464362/8526569977541276936/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://hartkodiert.de/2009/12/mein-alter-bekannter-pascal.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1049135627539464362/posts/default/8526569977541276936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1049135627539464362/posts/default/8526569977541276936'/><link rel='alternate' type='text/html' href='http://hartkodiert.de/2009/12/mein-alter-bekannter-pascal.html' title='Mein alter Bekannter, Pascal'/><author><name>Udo</name><uri>http://www.blogger.com/profile/04107630116266578794</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='13365170961507437475'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1049135627539464362.post-5655915311024919911</id><published>2009-12-07T05:25:00.000-08:00</published><updated>2009-12-07T05:26:22.684-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='In eigener Sache'/><title type='text'>Hello, world!</title><content type='html'>This is the first post.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1049135627539464362-5655915311024919911?l=hartkodiert.de' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/1049135627539464362/5655915311024919911/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://hartkodiert.de/2009/12/hello-world.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1049135627539464362/posts/default/5655915311024919911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1049135627539464362/posts/default/5655915311024919911'/><link rel='alternate' type='text/html' href='http://hartkodiert.de/2009/12/hello-world.html' title='Hello, world!'/><author><name>Udo</name><uri>http://www.blogger.com/profile/04107630116266578794</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='13365170961507437475'/></author><thr:total>0</thr:total></entry></feed>
