sehr empfehlenswert
Wer sich mit concurrent-oriented programming im Allgemeinen oder Erlang im Speziellen informieren will, kommt an diesem Buch nicht vorbei.
Die Programmiersprache Erlang, die OTP Erweiterungen und die Erlang Datenbank Mnesia.
1 Begin 2 Getting Started 3 Sequential Programming 4 Exceptions 5 Advanced Sequential Programming 6 Compiling and Running Your Program 7 Concurrency 8 Concurrent Programming 9 Errors in Concurrent Programs 10 Distributed Programming 11 IRC Lite 12 Interfacing Techniques 13 Programming with Files 14 Programming with Sockets 15 ETS and DETS: Large Data Storage Mechanisms 16 OTP Introduction 17 Mnesia: The Erlang Database 18 Making a System with OTP 19 Multicore Prelude 20 Programming Multicore CPUs A Documenting Our Program B Erlang on Microsoft Windows C Resources D A Socket Application E Miscellaneous F Module and Function Reference
Joe Armstrong ist Schwede, aber PrageDave hat für ein gutes Englisch gesorgt.
Das Buch ist eine Werbung für Erlang und concurrent-oriented programming. Der Autor stellt die Sprache Erlang vor, sie ist: eager, weak typed, functional. Also im Vergleich zu Haskell oder Miranda (beides lazy, strong typed, functional) eher eine unspektakuläre Sprache mit weniger eleganter Syntax. Aber Erlang hat andere Vorteile: es ist sehr gut auf Parallelverarbeitung (Actors-Modell) ausgelegt und bringt eine reichhaltige Bibliothek und Konventionen mit, um performante, hochverfügbare Systeme zu bauen. Neben der Sprache bilden über die Hälfte des Buchs hier den Schwerpunkt. Der Autor deutet viele Tools aus dem OTP Baukasten (Open Telecom Platform) an und verweist dann auf die Online Doku.
Bereits 1994 habe ich mir das erste Buch von Armstrong zu Erlang gekauft. Die Sprache selber hat mich nicht besonders begeistert, für eine funktionale Sprache fehlt ihr ein Hindler-Milner Typesystem und Lazy-Evaluation. Aber seit 1994 hat sich einiges getan. Die Sprache selber hat sich nicht wesentlich verändert, aber das Drumherum, das ist beeindruckend!
Armstrong und seinen Kollegen ist es gelungen, ein System auf die Beine zu stellen, dass das Erstellen stabiler, wartungsfreundlicher, paralleler Applikationen ermöglicht. Die Autoren haben vielen Details sehr viel Aufmerksamkeit geschenkt:
Wer sich nicht das ganze Buch antun will, sondern mehr an der Essenz interessiert ist, dem möchte ich die Armstrongs Doktorarbeit verweisen: http://www.sics.se/~joe/thesis/armstrong_thesis_2003.pdf
Joe Armstrong
2007, The Pragmatic Programmers, ISBN 978-1-9343560-0-5, 536 Seiten
Amazon: http://www.amazon.de/Programming-Erlang-Software-Concurrent-World/dp/193435600X
Verlag: http://www.pragprog.com/titles/jaerlang
Programming Language, Functional Programming, concurrent oriented
21-Dec-2007