Skip to content

freiesMagazin 01/2014 erschienen

freiesMagazin 01/2014 Titelseite

Heute ist die Januarausgabe von freiesMagazin erschienen und bringt viele spannende Artikel aus den Bereichen Linux und Open Source mit.

Inhalt der Ausgabe 01/2014

  • Der Dezember im Kernelrückblick
  • Äquivalente Windows-Programme unter Linux – Teil 3
  • Rezension: Using SQLite
  • Rezension: Eclipse IDE – kurz & gut
  • Rezension: Weniger schlecht programmieren
  • Leserbriefe und Veranstaltungen

Downloads

Unter der Adresse http://freiesmagazin.de/mobil/ findet man immer die aktuelle und alle bisher erschienenen HTML- und EPUB-Ausgaben. Auf der Magazin-Seite können die letzten drei Ausgaben von freiesMagazin abgerufen werden, ältere Ausgaben findet man im Archiv.

Kontakt

Wer jeden Monat an die neue Ausgabe erinnert werden will, kann auch den RSS-Feed abonnieren. Leserbriefe mit Lob, Kritik, Anregungen oder Fragen und neue Artikelvorschläge können an die Redaktion geschickt werden.

Wochenrückblick 01/2014

Der Wochenrückblick lässt das Geschehen der vergangenen Woche rund um Ubuntu, Linux und Open Source Revue passieren.

Rund um Ubuntu

Neues Ubuntu Technical Board gewählt

Ende des letzten Jahres wurde das Technical Board gewählt und die Wahlsieger nun bekannt gegeben. Zu den Aufgaben des Technical Boards gehört es u.a. zu entscheiden, welche Pakete in Ubuntu enthalten sind, welche Prozesse und Werkzeuge eingesetzt werden, welcher Linux-Kernel oder welche Bibliotheken in Ubuntu Verwendung finden.

Neuer Ubuntu IRC Council gewählt

Kurz nach Neujahr wurde auch ein neuer IRC Council gewählt, deren Mitglieder nun Wochenrückblick 52/2013 wurde darauf hingewiesen, dass Ubuntu die WLAN-Passwörter als Klartext in /etc/ speichert und nicht im ggf. verschlüsselten Homeverzeichnis. Die Schuld wird jetzt bei GNOME und dem Networkmanager gesucht. Kritiker sehen die Schuld eher in falschen Standard-Einstellungen seitens Ubuntu. Quelle: Linux-Magazin

Ubuntus Fahrplan für 2014

Ubuntu-Community-Manager Jono Bacon hat in seinem Blog einen Ausblick auf Ubuntu im Jahr 2014 gegeben. Dabei soll vor allem die Code-Basis geräteübergreifend funktionieren, sodass eine echte Konvergenz über Smartphone, Tablet und Desktop-PC hinweg erfolgen kann. Quelle: Linux-Magazin

Spielen unter Linux

0 A.D. Alpha 15 „Osiris“ veröffentlicht

Das beliebte Echtzeitstrategiespiel 0 A.D. ist in einer neuen Version Alpha 15 (Codename „Osiris“) erschienen. Für die Spielmechanik wurden Auras eingeführt, die den Einheiten einen Bonus geben, wenn sie in Reichweite besonderer Gebäude sind. Als neue Zivilisation kann man die Ptolemäischen Ägypter spielen. Als neuer Spielmodus wurden Skirmish Maps eingeführt, die ähnlich wie Szenarios sind, aber sich besser anpassen lassen. Alle Änderungen können auf der Webseite nachgelesen werden. Quelle: heise open

Deadfall Adventures für Linux

Das Action-Adventure in Ego-Perspektive Deadfall Adventures wurde als Beta-Version für Linux veröffentlicht. Jeder bisherige Käufer kann das Spiel für Linux herunterladen und testen. Die Entwickler bitten dabei um ausführliches Feedback. Quelle: LinuxGames

Buch: Weniger schlecht programmieren

Titel

Weniger schlecht programmieren

Autor

Kathrin Passig und Johannes Jander

Sprache

Deutsch

Genre

Sachbuch

Herausgeber

O'Reilly, 2013

Seitenanzahl

456 Seiten

Man sollte sich seine Ziele nie zu hoch stecken. Dann lieber die Messlatte etwas niedriger hängen und die vorhandenen Hürden nach und nach nehmen. Das haben sich auch die Autoren des Buches „Weniger schlecht programmieren“ gedacht. Anstatt gleich ein guter Programmierer zu werden, fängt man hier lieber klein an.

Zielgruppe

Auch wenn der Titel „Weniger schlecht programmieren“ witzig klingt und auch sofort das Interesse weckt, steckt dahinter eine einfache Botschaft. Das Buch richtet sich vor allem, aber nicht nur, an Programmiereinsteiger und Hobby-Programmierer, die zwar vielleicht schon seit Ewigkeiten programmieren, aber nicht wirklich verstehen, was sie tun. Der Copy&Paste-Code aus dem Internet zusammengeklaubt, funktioniert zwar irgendwie und durch Versuch und Irrtum konnte der Code auch angepasst werden, aber so richtig hat man keine Ahnung, was man tut. Genau für diese Personen ist das Buch geschrieben.

Hintergrund hiervon sind die vier Stufen der Kompetenzentwicklung. Diese bauen sich auf von der unbewussten Inkompetenz, bei der eine Person nicht weiß, was sie nicht weiß (die bekannten „unknown unknowns“ von Donald Rumsfeld), hin zur bewussten Inkompetenz, bei der die Person immerhin weiß, was sie nicht weiß, über die bewusste Kompetenz, bei der die Person weiß, was sie weiß und es auch anwenden kann, bis man schlussendlich bei der unbewussten Kompetenz ankommt, bei der die Anwendung des eigenen Wissens ganz unbewusst geschieht und wie von Zauberhand geht.

Die Autoren Kathrin Passig und Johannes Jander haben sich ihr eigenes Ziel ebenfalls niedrig gesteckt und wollen die Leser nur von Stufe 1 auf Stufe 2 heben, wobei manchmal vielleicht sogar die Stufe 3 erreicht wird.

Inhalt

Das Inhaltsverzeichnis kann man auf der O'Reilly-Webseite nachlesen, weswegen es hier nicht wiederholt wird. Einige Kapitel und Inhalte verdienen aber besondere Beachtung.

Passig und Jander gehen auf sehr viele bekannte Konzepte und Regeln ein, die man als weniger schlechter Programmierer kennen sollte. Das geht vom Kiss-Prinzip („Keep it simple stupid“) über das YAGNI-Prinzip („You Ain’t Gonna Need It“) bis zum Pareto-Prinzip, was einigen auch als 80/20-Regel bekannt ist, d.h. dass die letzten 20% einer Aufgabe 80% der Gesamtzeit einnehmen.

Weniger bekannt, aber ebenso wichtig ist Eagleson's Law. Dies sagt aus, dass jeder selbstgeschriebene Code, den man mehr als sechs Monate nicht betrachtet hat, genauso aussieht, als hätte ihn jemand anderes geschrieben. Wer selbst schon mehrere Jahre programmiert, weiß sofort, was das bedeutet. Das ist auch der Grund, wieso die Autoren in ihren ersten drei Kapiteln so intensiv auf vernünftige Namensgebung und Kommentare eingehen. Etwas, was ziemlich oft missachtet wird – dabei ziemlich oft unbewusst.

Wer in dem Buch viele Codebeispiele sucht, wird vergebens suchen. Bereits in der Einleitung weisen die Autoren darauf hin, dass das Buch kein Kodierhandbuch ist. Ob man die Klammern nun ans Ende der Zeile oder zu Beginn der nächsten Zeile setzt (C++-Programmierer wissen, was gemeint ist) oder wie viele Leerzeichen der Code eingerückt werden soll, ist egal (Python-Programmierer dürfen jetzt widersprechen). Wichtig ist, dass es einheitlich und klar verständlich ist, was man macht.

Neben dem Text – und es ist wirklich viel Text, den die 456 Seiten enthalten – gibt es auch immer wieder kleine Anekdoten von Kathrin Passig und Johannes Jander und deren Programmierer-Freunde aus dem Alltag. Vor allem die Geschichten, bei denen etwas schief ging, regen zum Denken an, ob man selbst vielleicht einmal diesen Fehler gemacht hat – und es womöglich gar nicht bemerkte.

Beispielsweise ist die Van-Halen-Anekdote sehr interessant, dass diese bei ihren Bandauftritten keine braunen M&Ms im Backstagebereich bei der Verpflegung haben wollten. Diese vertraglich festgehaltene Regel diente allein dem Zweck zu prüfen, ob die Veranstalter der Musikveranstaltung den Vertrag wirklich gelesen und vor allem bis in kleinste Detail eingehalten hatten. Wenn es braune M&Ms gab, war die Wahrscheinlichkeit hoch, dass auch beim Bühnenaufbau irgendwas (Sicherheitsrelevantes) nicht passte.

Sehr interessant sind die Kapitel „Hilfe suchen“ und „Lizenz zum Helfen“. Das erste beschäftigt sich mit dem Thema, wie man richtig fragt, wenn man ein Problem hat. Das Thema ist deshalb interessant, weil es nicht nur für Programmierer relevant ist, sondern für jeden, der ein Problem hat. Viel zu oft schreibt man als Fehlerbeschreibung „Geht nicht!“ und ärgert sich dann darüber, dass einem keiner helfen will. Umgekehrt geht das zweite Kapitel darauf ein, wie man sich als Helfer zu verhalten hat, wenn man nicht gleich als arrogantes Arschloch herüberkommen will, das nur „RTFM“ durch die Gegend blökt.

Weitere interessante Kapitel sind die zum Unit-Testing und Refactoring. Auch auf Datenbanken und deren spezielle Probleme beim Programmieren und Benutzen wird eingegangen, sodass sich nicht nur Nutzer „klassischer“ Programmiersprachen durch das Buch angesprochen fühlen sollten.

Fazit

Schriftstellerin Kathrin Passig ist keine Unbekannte für die, die sich in der digitalen Welt heimisch fühlen. Dementsprechend ist es klar, dass sie weiß, wie man Inhalte vermitteln kann. Auch wenn sie selbst etwas programmiert, ist Johannes Jander der Software-Entwickler, der die Fehler gemacht hat, die man als schlechter Programmierer so machen kann. Zusammen ergibt sich ein wirklich gutes Team, dass zwischen interessanten, unterhaltsamen und lehrreichen Absätzen wechselt.

Sehr gut ist auch, dass das Buch von zwei deutschsprachigen Autoren geschrieben wurde, die auf einige Eigenheiten bei der Programmierung in deutscher Sprache eingehen. Sei es die Wahl der Sprache in den Kommentaren oder der Hinweis auf Unicode – etwas, womit sich viele englischsprachige Entwickler nicht herumschlagen (müssen), es aber vielleicht manchmal doch besser tun sollten (wenn ich an der Stelle auf „Gone Home“ verweisen darf).

Wichtig ist, was auch die Autoren im Buch erwähnen, dass viele Hinweise und Tipps nicht in der ganzen Fachwelt so gesehen werden. Es gibt viele Diskussionen (vor allem bei Namenskonventionen, was z.B. die Länge oder Aussehen von Methodennamen angeht) unter Programmieren und jeder hat da wohl seine eigene Meinung und Stil. Als Leser sollte man also immer im Hinterkopf haben, dass es nicht die eine Wahrheit gibt, wenn es ums Programmieren geht.

Etwas überbetont kamen mir die Hinweise auf Versionskontrollsysteme vor. In fast jedem Kapitel betonen die Autoren, dass ein Versionskontrollsystem nahezu unumgänglich ist. Sicherlich ist es hilfreich und ich selbst möchte es nicht missen, aber oft ist die Einrichtung vor allem für Programmieranfänger auf der Kompetenzstufe 1 so komplex, dass dies übertrieben wirkt.

Insgesamt ist „Weniger schlecht programmieren“ ein sehr unterhaltsames Buch, auch wenn man selbst schon mehrere Jahre im Geschäft ist. Vor allem, wenn man sich für einen guten Programmierer hält, sollte man einmal einen Blick hinein werfen. Man kann immer noch etwas lernen. :) Zum Ende flaut das Buch etwas ab, da sehr viele Themen aufgenommen werden, die sicherlich wichtig sind, aber nicht ganze Kapitel einnehmen könnte. Das wirkt dann teilweise etwas zusammengeschustert – so wie einige Misc-Klassen auf der Arbeit. Auf der anderen Seite kann man die für einen uninteressanten bzw. nicht passenden Passagen so schneller überblättern.

Am besten haben mir die zwei Kapitel zur Hilfesuche und Hilfestellung gefallen, da dies etwas ist, was man abseits der Programmierung auch in den Alltag mitnehmen kann - auch wenn es dabei natürlich oft um technische oder zumindest Technik-verwandte Themen geht.