Das Buch
Informationen
Wie programmiert man gute Software? Was ist ein guter Programmierer? Viele Bücher sind geschrieben worden, um Prozesse, Abläufe, Code und Mitarbeiter zu verbessern — betrachtet man aktuelle Software, scheint es bei der Umsetzung so vieler Tipps zu hapern. Schreibt ein guter Entwickler bloß fleißig acht Stunden tollen Code pro Tag? Andrew Hunt und David Thomas beantworten im erfolgreichen Pragmatic Programmer diese Frage, die man jetzt auch auf Deutsch im Hanser Verlag nachlesen kann. Ein guter Entwickler ist ein Pragmatiker — er ist nicht interesselos und werkelt bloß seinen Code herunter, sondern er hat das Projekt und seine Realisierung vor Augen. Dazu bringt er ein paar Fähigkeiten mit, die man nicht in einem Informatikstudium oder Handbuch zu Algorithmen nachlesen kann. Er ist interessiert an neuen Technologien, er lernt gern dazu, er probiert neue Dinge aus und er arbeitet sinnvoll organisiert: Er testet seine Software, er verwendet die richtigen Werkzeuge und beherrscht sie, er übt sich darin, sinnvolle Zeitabschätzungen über seine Arbeit und das Projekt zu liefern. Er lässt sich von wilden Marketing-Versprechungen von Produkt X nicht beeindrucken und bildet sich eine eigene Meinung. Um diese Fähigkeiten und wie man sie sich aneignet geht es im Pragmatischen Programmierer — nicht um eine tolle Architektur X oder ein Projektverfahren Y. Das Handbuch richtet sich explizit an Entwickler — die zentrale Frage ist die eigene Arbeit und ihre Verbesserung und nicht wie in vielen Handbüchern zu Projektmanagement die Verbesserung der Arbeit anderer. Hunt liefert viele hilfreiche Tipps — einige sollten zwar selbstverständlich sein und bieten nicht viel mehr als gesunden Menschenverstand und ein gewisses Qualitätsbewusstsein der eigenen Arbeit gegenüber, andere Hinweise sind für unerfahrene Entwickler sicher inspirierend. Der Pragmatische Programmierer ist ein amerikanisches Buch — wer diesen Ansatz und die Sprache mag, wird ein sehr gutes und hilfreiches Buch mit interessanten Gedanken finden. Es richtet sich an Entwickler, die neue Impulse für ihre Arbeit suchen oder unerfahrene Entwickler, die sich das erste Mal fragen, was eigentlich ein guter Programmierer sein könnte. --Susanne Schmidt
Erstellt von: Andreas am 10. März 2006, 21:18 Uhr.
Bearbeiten darf: Jeder Pro-Benutzer.
Wie lernen? Regelmäßig wiederholen.
Wird zur Zeit gelernt von: oneoner, woodworker, duerschi, swizzle, weltrekordhalter und 33 weiteren Personen.
Bewertung: 
Autoren: Andrew Hunt, David Thomas
ISBN: 3446223096
Erschienen: 2003-03
Ausgabe: Gebundene Ausgabe
Verlag: Hanser Fachbuch
Seiten: 332
Preis: Ab EUR 39,90 bei Amazon (am 19. Februar 2007, 04:26 Uhr)
Rezensionen
Pragmatisch, interssant und sinnvoll
Lesen
Wenn Sie jemals programmiert haben, wird sie dieses Buch - nun ja - vielleicht nicht überraschen. Sind die Tipps und Informationen im "Pragmatic Programmer" doch offensichtlich, "eh-schon-Wissen".
Aaaber: Die Vorschläge und die Hinweise, die dieses Buch liefert sind dermaßen hilfreich und interessant verpackt, das jeder Programmierer - sei er nun Novize oder Experte - davon profitieren wird. Es geht weniger um die Vermittlung von Technologien oder Techniken, sonder vielmehr um die richtige Umsetzung und den korrekten Einsatz dieser Technologien. Auch wenn ich jetzt nicht wörtlich zitieren kann, möchte ich gerne ein Beispiel aus dem Buch nennen. "Treffen Sie keine Annahmen über die Funktionsweise eines Codes - verstehen Sie ihn. [..] Erst dann können Sie ihn verwenden" oder ähnlich handfeste Beispiele. Doch wie oft haben wir schon so gehandelt? Der Code wird schon liefern, was wir von ihm annehmen.
Ganz abgesehen von dieser Programmierebene, handelt es sich beim "Pragmatic Programmer" nicht um eine Sammlung von Tipps, sondern um die Erarbeitung einer eigenen Arbeitsweise. Es ist ein wunderbar beeindruckendes Buch über die Spannung und die Vielfalt und die Relevanz von korrekter Software. Zusammenfassend: Ein Buch, das wirklich zu einer neuen Sichtweise auf ihre Programmierweise motiviert, spannend, beispielhaft und hochinteressant geschrieben.
Hervorragendes Softwareentwicklungs-Meta-Buch
Lesen
"Der pragmatische Programmierer" ist ein wunderschönes, pragmatisches Buch.
Das Buch an sich ist unabhängig von der verwendeten Programmiersprache und der Programmiermethodik, obwohl man ganz klar die Präferenzen der Autoren für XP und OO Programmierung mit C++ oder Java erkennen kann. An ein paar Stellen werden ein paar Details zu Implementierungen eingestreut (z.B. wusste ich nicht, dass der ddd auch Perl Programme debuggen kann [Beispiel für ein Orthogonales Design]). Es gibt keine hochtrabenden Empfehlungen diese oder jene hochtrabende Methode zu verwenden, sondern es werden klare, einleuchtende und z.T. einfache Empfehlungen präsentiert wie z.B. "Verwenden Sie immer Versionskontrolle".
Das Buch besteht aus 70 Ratschlägen in 8 Kapiteln, zwei Anhängen und einer Zusammenfassungseinlage in der Mitte. Nicht nur die Tipps (in der Langversion im Text und in der Kurzversion in der Zusammenfassung) sondern auch die Anhänge sind ihr Geld mehr als Wert. Mir hat der Anhang A (Quellen / Literaturverzeichnis) besonders gut gefallen (zusätzlich zum Text). Im Anhang A wird kurz die verwendetet Literatur besprochen. Zu jeder Quelle wird eine kurze Inhaltsangabe gegeben (gut als Hinweis für weitere Bücherkäufe :-). Zusätzlich werden noch eine Reihe von sehr informativen Internet Adressen aufgelistet.
Ein paar von den Tipps sind meiner Meinung nach recht schwer umzusetzen (z.B. Design by Contracts) oder sehr aufwendig (z.B. konfigurieren Sie, statt zu integrieren), was diese Tipps aber nicht weniger sinnvoll macht. Eigentlich sollte man als Programmierer zumindest einen großen Teil dieser Tipps schon immer befolgt haben (oder haben wir uns nicht alle schon um eine Reihe dieser Tipps herumgedrückt ;-). Die meisten dieser Ratschläge sind nicht wirklich neu. Die Zusammenstellung (aus vielen Quellen), die Formulierung und die Argumentation dieser Tipps in der vorliegenden Form, machen das Buch zu einem echten Highlight.
Im pragmatischen Programmierer sind viele "goldige" Details versteckt, die mir sehr gefallen z.B. bei Abschätzungen (Seite 60) sollte man die Granularität in Ergebnisse (nicht immer Tage, sondern Wochen oder Monate verwenden) von der Höhe des Ergebnisses abhängig machen und (besonders gut) besser keine Abschätzungen für Dinge über 30 Wochen Aufwand abgeben. Die Autoren haben verstanden das Projektgeschäft nicht nur Technologie sondern auch Psychologie ist.
Als Datenbank Mensch hat mir nicht so gut gefallen, dass die Autoren immer davon ausgehen, dass man "mal eben" die Datenbank wechseln kann (bei guter Kapselung). Ich bin nicht dieser Meinung, da man mit einem solchen Vorgehen nicht das Optimum des jeweiligen Datenbank Systems (für das man viel Geld bezahlt hat) nutzen wird.
Ich habe vor Jahren das englische Original zu diesem Buch gelesen und ich finde die Übersetzung und die Anmerkungen der Übersetzer im Vorwort unter "Do you speak English" sehr gut und sehr gelungen. Man merkt sofort, dass Fachleute übersetzt haben, die das Thema kennen und das Buch selbst für sehr gut halten.
Wenn man gute Ratschläge für jeden Programmierer sucht ohne Methoden Overhead bzw. Methoden Verklärung der Tatsachen, sollte man dieses Buch kaufen. Man wird diesen Kauf als pragmatischer Programmierer nie bereuen.
Zu diesem Buch kann ich - als Ergänzung - alle Bücher von DeMarco (z.B. Bärentango) sehr empfehlen.
Disappointing: Shallow and Old School
Lesen
As most other reviewers, I was drawn in by the glowing commentaries here on Amazon.
As background, I've been programming professionally for nine years now, on a variety of projects, but generally high-performance embedded stuff. I'm interested in improving my software development & management skills, and have read a number of other, better books (listed later) about these topics.
My first criticism is that the collection of 50-odd tips are simply too shallowly presented to be very interesting. Generally, if you agree, you say, "yeah, duh," and if you don't, there's no discussion of the point, and no attempt to address known difficulties with "good" practices. There also seemed to be no attempt to balance some of the points. For example, the authors repeatedly talk about writing your code so it's flexible. In general, a good idea. On the other hand, they really seem to think you should be writing everything, regardless of what sort of application it is, to run on different machines, under different operating systems, with and without concurrency, etc. This, to me, just seems foolish, extra work, extra code, extra bugs. The estimates I've seen (in other, better, books) say that just writing re-usable code takes three times more work than "normal" code, ignoring multi-platform complexities.
The old school comment (and I consider myself fairly old school) is there because they very obviously come from a Unix/command line environment. I will admit, they motivated me to improve my scripting skills, something I've been planning on doing for a while. But then they have inane advice, like "use only one editor *for everything*". This is perhaps nice, if you can, but on larger projects or organizations, this probably isn't possible. I use the IDE required by the project, a different editor for documentation (also required) and a third one for doing hex & advanced search and replace. Perhaps with emacs and 47 scripts this wouldn't be necessary, but I'm not convinced it would be efficient either.
All in all, the advice is generally good, but I think there are better books out there (e.g. Code Complete, Writing Solid Code, Rapid Development, The Mythical Man-Month, C++ Coding Standards). As a light book to get you thinking about your craft, it's not bad, but that's the best I can say about it.
Das muß jeder Informatiker lesen
Lesen
Dies ist ein Buch, das jeder Informatiker gelesen haben sollte. Die Autoren schaffen es in acht Kapiteln viele nützliche Hinweise zu geben, die einem die tägliche Arbeit beim Programmieren erleichtern. Dabei wird erklärt, wie man generell bei der Lösung einer Aufgabe vorgehen sollte, welches Handwerkszeug wichtig für einen Programmierer ist, was beim Implementieren zu beachten ist und was bei Projektdurchführungen nicht vergessen werden sollte.
Viele angesprochene Themen werden einem zwar logisch vorkommen oder man hat sie schon einmal gehört, aber es gibt wahrscheinlich kein Buch in dem alles so gut zusammengefaßt und aufbereitet ist.
Das Buch ist in acht Kapitel gegliedert, die wiederum in Abschnitte aufgeteilt sind. Alle Abschnitte enthalten Querverweise untereinander, so daß man das Buch in einer beliebigen Reihenfolge lesen kann. Alle Abschnitte werden durch Aufgaben und Übungen mit Lösungen abgeschlossen.
Einfach lesen....
Ein Votum für guten Programmcode
Lesen
Pragmatic Programmer sind eine eigene Stilrichtung der leichtgewichtigen Entwicklungsmethoden und eng mit den Extreme Programmern verwandt. Hunt und Thomas sind sehr konkret und zeigen, worauf es bei gutem Programmcode wirklich ankommt. Jeder Softwarentwickler der glaubt, gut programmieren zu können, sollte dieses Buch lesen.

Kommentare
Bis jetzt noch keine Kommentare.
Kommentieren
Nur angemeldete Benutzer können Kommentare schreiben. Jetzt kostenlos anmelden!