Open Source im professionellen Einsatz
Linux-Magazin 11/2016

Es geht ums Programmieren: Einmal ums Optimieren, einmal ums Lernen

Tux liest

Ein Buch diskutiert die Messbarkeit von Programmierleistungen: Lässt sich Effizienz beim Coden beziffern? Ein zweites Buch begleitet bei den ersten Schritten in Python.

616

Das Buch von Stefan Luckhaus nähert sich seinem Thema auf einer ausladenden Einlaufkurve: Nach einem Streifzug durch 45 Jahre IT-Geschichte und nach einer Stippvisite bei Kondratjews Konjunkturzyklen-Theorie landet es bei der Erkenntnis, Software sei gerade in unserer Zeit ein Schlüsselelement aller wirtschaftlichen wie sozialen Entwicklung, ihre effiziente Herstellung also besonders bedeutsam.

Was bis dahin noch nicht so überrascht, mündet nun aber in spannenden Fragen: Lässt sich die Produktivität von Software-Entwicklung messen? Kann man einzelne Entwickler, Programmiersprachen oder Entwicklungsparadigmen auf Grundlage von Zahlen belegbar vergleichen?

Code in Zahlen

Der Autor führt diese Fragen auf eine Aufwand-Nutzen-Relation zurück, bei der die besondere Schwierigkeit die Messung des Nutzens ist. Der Aufwand lasse sich vielleicht mit Manntagen noch einfach beziffern, aber wie misst man den Output? Nur die Programmzeilen zählen würde nicht genügen, denn dann wäre ein ausschweifender Programmierstil, der viel unnötigen Code erzeugt, produktiver als eine Methode, die zu vielen wiederverwendbaren Funktionen führt. Schon die Formatierung hätte Einfluss auf die Produktivität. Besser geeignet scheint der Funktionsumfang als Messgröße. Das Buch stellt einige interessante Methoden zu dessen Quantifizierung vor (Function Point Analyse, Cosmic-Methode, Data-Interaction-Point-Methode).

All diese Verfahren haben Grenzen: Zum einen, weil der Aufwand für die Messungen klein zu halten ist, zum anderen, weil sie bestimmte Aspekte wie den Wiederverwendungsgrad von Codeteilen oder deren Komplexität oft nicht genügend berücksichtigen. Gerade die Komplexität wirft heute noch viele Fragen auf, unter anderem, weil sich der Begriff einerseits auf das zu lösende Problem, andererseits auf die Implementierung der Lösung beziehen, weil er die Vielschichtigkeit der Benutzerinteraktion oder der abzuarbeitenden Algorithmen meinen kann. Nicht für jeden Fall sind Messmethoden etabliert.

Ein Kapitel mit Tipps zur praktischen Anwendung der Produktivitäts-Messverfahren beschließt das Buch, das viele wertvolle Anregungen vermittelt, die zu einer besseren Planung, Überwachung und Steuerung von Softwareprojekten beitragen können.

Einstieg in Python

Die Einführung in Python setzt tatsächlich keine Vorkenntnisse voraus und bemüht sich um einen legeren Stil. Ob sich der Leser dadurch ermuntert oder veralbert fühlt, ist Geschmackssache. So behauptet der Autor ausdauernd, Computer verstünden nur Zahlen, aber zum Beispiel keine Zeichenketten. Das mag zwar beim ersten Lesen eingängig klingen – in Wahrheit verstehen Computer aber weder das eine noch das andere, gerade das unterscheidet sie von Menschen.

Die Kapitel 5 und 6 behandeln Variablen, Datentypen, Operatoren, Funktionen und die Parameterübergabe. Es folgen Kapitel zur bedingten Programmausführung, zu Schleifen und zur Fehlerbehandlung. Das alles wird gut verständlich erklärt. Bisher gingen die Beispiele aber nicht weit über das Hello-World-Niveau hinaus. Der Leser vermisst ein Exempel mit Praxisnutzen oder Aha-Effekt, das ihn motivieren und für die Mühe entschädigen könnte, sich bis hierher durch die Python-Grundlagen geackert zu haben.

Im Folgenden geht es um fortgeschrittenere Programmiertechniken, namentlich um diverse Datentypen wie Zeichenketten, Listen oder Dictionaries und um eine Einführung in das objektorientierte Programmieren mit Python. Auch das Handling von Dateien ist Gegenstand eines Kapitels. Manches kommt aber auch gar nicht zur Sprache: Beispielsweise fehlen Themen wie reguläre Ausdrücke oder mehrdimensionale Listen, etwas über Grafik mit Python oder zur Datenbankschnittstelle.

Alles in allem: Wer die ersten Schritte mit Python wagen will, der kann sich dem Buch anvertrauen und wird im Schnelldurchlauf viele Kenntnisse erwerben, die ihn später befähigen, sie auszubauen und zu vertiefen. Um diesen zweiten Schritt mit einem anderen Buch wird ein ernsthafter Python-Programmierer aber nicht herumkommen.

Info 1

Stefan Luckhaus:

Produktivitäts- und Leistungsmessung – Messbarkeit und Messmethoden

Pass Consulting, 2016

125 Seiten

20 Euro

ISBN: 978-3-9816563-7-4

Info 2

John Paul Mueller:

Python programmieren lernen für Dummies

Wiley, 2015

380 Seiten

20 Euro

ISBN: 978-3-527-71148-2

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 1 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Bücher

    Von den ersten Schritten im Programmieren bis zum letzten Quäntchen, das sich dabei herausholen lässt, handeln diesmal zwei neue IT-Bücher.

  • Bücher

    Die Bücherseite stellt dieses Mal Bücher für fortgeschrittene Programmierer vor. Der erste Titel beschäftigt sich mit der Python-Praxis, der zweite mit Parallelprogrammierung in der Sprache Haskell.

  • Tux liest

    Zope ist ein freies Framework für die Entwicklung von Web-Applikationen und fast vollständig in Python geschrieben, einer modernen, objektorientierten Skriptsprache. Jetzt ist bei Galileo Computing ein Buch von Thomas Theis erschienen, das beide zusammen behandelt.

  • Bücher

    Zwei Einführungen in verschiedene Gebiete der Programmierung – einmal in die Abfragesprache SQL, zum anderen in die beliebte Skriptsprache Python.

  • Bücher

    In den Taschen der Mitmenschen stecken allerhand mobile Geräte und Betriebssysteme. Das erste vorgestellte Buch möchte mit HTML 5 Apps schreiben, die überall dort laufen. Der zweite Titel bringt mit Python und den passenden Bibliotheken dem Computer das Sehen bei.

comments powered by Disqus

Ausgabe 06/2017

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.