Open Source im professionellen Einsatz
Linux-Magazin 09/2014

Bücher für Python- und Haskell-Programmierer

Tux liest

,

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.

591

In Python programmieren ist die eine Sache, das Ergebnis vernünftig zu dokumentieren, zu testen und an Anwender zu verteilen eine andere. "The Hacker's Guide to Python" von Julien Danjou möchte diese zweite Seite der Python-Entwicklung beleuchten und richtet sich an Entwickler mit Erfahrung, denen die wichtigsten PEPs (Python Enhancement Proposals) geläufig sind.

Python professionell

Danjous Erfahrungen mit Python resultieren aus der Mitarbeit im Open-Stack-Projekt, dessen Umfang nach einer ausgefeilten Entwickler-Policy verlangt. Von dieser persönlichen Warte aus soll das englischsprachige Buch seinen Lesern einen effizienteren Umgang mit der Programmiersprache ermöglichen, zum Beispiel beim Dokumentieren. Danjou zeigt am Beispiel des Tools Sphinx, wie sich die für viele eher lästige Tätigkeit halbwegs automatisieren lässt.

Dem ebenfalls gern vernachlässigten Thema Testing widmet Danjous Buch ein ganzes Kapitel zu Unittests. Es zeigt, wie Entwickler Teststrukturen anlegen, die Tools aus dem Nose-Package einsetzen und Beispielklassen sowie Methoden auf Basis des Moduls Unittest2 erzeugen. Das vorgestellte Fixture-Modul erlaubt es, Objekte, Klassen und Pfade temporär für die Tests zu verändern, mit Mock-Objekten und dem Paket Testscenarios lassen sich verschiedene Testfälle durchspielen.

Weitere Kapitel stellen Pythons Ansatz zur funktionalen Programmierung vor und geben Tipps rund um Performance-Optimierungen, etwa zu Zero Copy und Py-Py. Auch auf die Frage, wie Python-Anwendungen trotz Global Interpreter Lock (GIL) skalieren, geht der Autor ein – die passenden Stichworte: Event-getriebene Architektur und Multiprocessing. Die Codebeispiele eignen sich für die Python-Versionen 2.7 und 3.3.

Einsteiger lässt das Buch vermutlich ratlos zurück, routinierte Python-Entwickler hingegen finden darin viele Anregungen, um sich die tägliche Arbeit zu vereinfachen oder sie schlicht nachhaltiger zu strukturieren.

Info

Julien Danjou

The Hacker's Guide to Python

https://julien.danjou.info, 2014

290 Seiten

36 Euro (E-Book ab 21 Euro)

ISBN 9781304819246

Haskell parallel

Simon Marlow, Entwickler des parallelen Laufzeitsystems des Glasgow Haskell Compilers, hat ein Buch zur Parallelprogrammierung veröffentlicht. Das englischsprachige Werk "Parallel and Concurrent Programming in Haskell" hat der Verlag unter http://chimera.labs.oreilly.com/books/1230000000929/ zum kostenlosen Lesen online gestellt. Auf über 300 Seiten beschreibt der Autor Techniken für die Multicore- und Multithreading-Programmierung mit Haskell.

Das Buch besteht aus zwei Teilen: Zuerst stellt Simon Marlow in "Parallel Programming" die Techniken vor, die Programme schneller laufen lassen, indem sie die CPUs optimal ausnutzen. Auf den gut hundert Seiten erfährt der Leser vieles zu Evaluationsstrategien und Modularisierung von parallelem Code. Er begegnet aber auch asynchronen Aufrufen, Datenfluss-Parallelität, Pipelining sowie Operationen auf Arrays mit der Repa-Bibliothek. Mit dem Rechnen auf der GPU endet der erste Teil.

Der zweite Teil ist mit "Concurrent Programming" überschrieben. Darin widmet sich Marlow Programmen, die viele Interaktionen eingehen. Beginnend mit der Thread-Erzeugung beschäftigt er sich mit I/O, Datenkanälen zwischen Threads, Exceptions in Threads, dem Unterbrechen von Threads und Software Transactional Memory. Zuletzt folgt ein Kapitel zum verteilten Programmieren mit Haskell. Überlegungen zum Debugging und Tuning von Concurrent-Programmen runden das Buch ab.

Dieser Band ist voll von lauffähigen Beispielen, die aufgrund der Ausdruckskraft von Haskell die Funktionalität kurz und verständlich auf den Punkt bringen. Unter anderem implementiert Simon Marlow mehrere Algorithmen zur Shortest-Path-Ermittlung oder zum Lösen von Sudoku, aber auch einen Chatserver oder ein Message-Passing-Framework.

Das Buch eignet sich für den Haskell-Anwender, der die volle Mächtigkeit seiner Programmiersprache entdecken und entfalten will. Anhängern anderer Sprachen zeigt es, welche Parallel- und Multithreading-Abstraktionen notwendig sind, um moderne Hardware optimal und fehlerfrei anzusprechen.

Info

Simon Marlow

Parallel and Concurrent Programming in Haskell

O'Reilly, 2013

320 Seiten

32 Euro (E-Book 25 Euro) ISBN 978-1-4493-3594-6

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

    Das Linux-Magazin ergründet, was das Haskell-Buch von Simon Thompson zu einem Dauerbrenner macht. Der zweite Titel widmet sich der No-SQL-Datenbank Couch DB und ihrer Anwendung.

  • Bücher

    Passend zum Haskell-Artikel in dieser Ausgabe bespricht das Linux-Magazin zwei Bücher über die funktionale Programmiersprache. Das erste ist auf Deutsch erschienen und kommt als Intensivkurs schnell zur Sache, das zweite ist englischsprachig und besticht durch seine Originalität.

  • Shell scripting with type-safety using Haskell

    Why is scripting usually done in dynamically typed languages? This article applies strong typing in Haskell to shell programs. The end result can still be light-weight but also save time by reducing runtime errors.

  • Yesod 1.0: Haskell-Framework fürs Web

    Yesod, ein Haskell-Framework für Webanwendungen, hat Version 1.0 erreicht.

  • Haskell

    In der funktionalen Programmiersprache Haskell lässt sich bemerkenswert kompakter Code schreiben, der dennoch leicht zu lesen ist. Dieser Artikel erklärt, welche Sprachkonstrukte und -eigenschaften diese Meisterleistung ermöglichen. Eine Code-Besichtigung für Haskell-Interessierte.

comments powered by Disqus

Ausgabe 10/2017

Digitale Ausgabe: Preis € 6,40
(inkl. 19% MwSt.)

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