Leanpub Header

Skip to main content

Production Haskell (Deutsche Ausgabe)

Erfolg in der Industrie mit Haskell

Sind Sie begeistert von Haskell, wissen aber nicht, wo Sie anfangen sollen? Sind Sie von den technischen Vorteilen begeistert, machen sich aber Sorgen über unbekannte Fallstricke? Dieses Buch hat alles, was Sie brauchen.

This book is a translation into German of Production Haskell which was originally written in English

The authors are letting you choose the price you pay for this book!

Pick Your Price...
PDF
EPUB
WEB
About

About

About the Book

Also, Sie haben Haskell gelernt. Sie haben Ihren Freunden von Monaden erzählt, einige Einsteiger-Lehrbücher durchgearbeitet und vielleicht mit einigen Open-Source-Projekten herumgespielt. Jetzt, da Sie auf den Geschmack gekommen sind, wollen Sie mehr: Sie möchten eine Anwendung in Haskell zum Spaß schreiben! Vielleicht möchten Sie Haskell bei der Arbeit einsetzen!

Sie setzen sich an Ihren Computer, und Sie stecken fest.

Wie bekommt man mit dieser Sprache tatsächlich etwas zustande?

Das ist eine häufige Frage.

Haskell hat schon immer eine Vielzahl hochwertiger Lernmaterialien für fortgeschrittene Teile der Sprache genossen, wenn man keine Angst vor akademischen Arbeiten hat. In den letzten fünf Jahren gab es einen Aufschwung fantastischer Ressourcen, um die Sprache als Anfänger zu erlernen. Allerdings gibt es nicht viele Ressourcen, um sie in der Produktion zu nutzen. Es ist schwierig, sich in den Ökosystemen zurechtzufinden und qualitativ hochwertige Ressourcen zu identifizieren, die mit Ihren Zielen und Werten übereinstimmen.

Dieses Buch soll in dieser Situation helfen. Nach der Lektüre dieses Buches sollten Sie sich wohlfühlen, große Softwareprojekte in Haskell zu schreiben, konkurrierende Bibliotheken und Techniken zu bewerten und produktiv Material von verschiedenen Haskell-Nutzern zu lesen.

Ein Meinungsgetriebener Reiseführer

Haskell ist eine enorm vielfältige Landschaft.

Es gibt viele regionale Gruppen: Vereinigtes Königreich, Skandinavien, Festlandeuropa, Russland, die USA, Japan, China und Indien haben alle blühende Haskell-Ökosysteme, die interessante Dialekte und Unterschiede in Brauchtum und Praxis aufweisen.

Menschen kommen mit vielen Hintergründen zu Haskell. Einige Leute lernten Haskell weit in ihrer Karriere und hatten zuvor eine lange Karriere in Java, Scala oder C#. Einige kamen von dynamisch typisierten Sprachen wie LISP oder Ruby zu Haskell. Einige begannen sehr früh in ihrer Programmierkarriere mit Haskell und verwenden es als Vergleichsbasis. Einige verwenden Haskell hauptsächlich in der akademischen Forschung, während andere Haskell hauptsächlich in industriellen Anwendungen nutzen. Einige sind Hobbyisten und schreiben einfach gerne Haskell zum Spaß!

Dieses Buch richtet sich an Menschen, die Haskell in der Industrie schreiben möchten. Die Kompromisse und Einschränkungen, denen industrielle Programmierer gegenüberstehen, unterscheiden sich von denen akademischer oder Hobby-Programmierer. Dieses Buch wird nicht nur technische Aspekte der Haskell-Sprache behandeln, sondern auch soziale und technische Anliegen, die „wirklich“ nichts mit Haskell zu tun haben.

Ein Teil dieses Buches wird objektiv sein. Ich werde Ihnen einige interessante Techniken und Ideen beibringen, um die Entwicklung mit Haskell produktiver zu machen. Wir werden über Template Haskell, Typ-Level-Programmierung und andere spannende Themen lernen.

Allerdings ist zum größten Teil dieses Buch von Natur aus subjektiv. Da Haskell so viele Ökosysteme bedient, ist es entscheidend zu erkennen, für welches Ökosystem etwas gedacht ist. Mehr als nur Vorschriften zu geben - „Diese Bibliothek ist bereit für die Produktion! Dies ist ein Spielzeug!“ - hoffe ich, meinen Denkprozess zu zeigen und Ihnen zu ermöglichen, Ihre eigenen Urteile zu fällen.

Letztendlich ist dies ein Buch über die soziale Realität der Softwareentwicklung in Nischensprachen.

Über den Autor

Ich bin Matt Parsons. Ich begann im Januar 2014 mit dem Programmieren mit Java, weil ich die Karriere wechseln wollte. Im Sommer lernte ich JavaScript mit dem ausgezeichneten Buch [Eloquent JavaScript][eloquent-javascript]. Es hatte ein Kapitel über funktionale Programmierung und objektorientierte Programmierung. Ich fand das Kapitel über funktionale Programmierung intuitiver, also machte ich mir eine geistige Notiz, die funktionalste Sprache zu lernen, die ich finden konnte. Ein paar Monate später begann ich, Haskell zu lernen.

Mein Gehirn nahm Haskell extrem schnell auf. Ich hatte kaum begonnen, imperative und objektorientierte Programmierung zu lernen, sodass die schwierige Neuheit, neue Fachbegriffe und Konzepte zu lernen, erwartet wurde. Im August 2015 begann ich ein Haskell-Praktikum und konnte Haskell in meinem Künstliche Intelligenz-Kurs verwenden. In meinem letzten Semester am College konnte ich Haskell in meiner Bachelorarbeit verwenden, um die Verbindung zwischen Kategorientheorie, Modallogik und verteilten Systemen zu untersuchen.

Ich hatte das große Glück, diese Möglichkeiten zu haben, da sie mich für den Erfolg mit Haskell eingerichtet haben. Mein erster Job nach dem College bestand darin, PHP-Anwendungen in Greenfield Haskell umzuwandeln, und seitdem arbeite ich Vollzeit mit Haskell. Ich habe in verschiedenen Kontexten gearbeitet: ein Startup, das nicht zu 100% von Haskell überzeugt war, ein größeres Unternehmen, das von Haskell überzeugt war, aber mit sozialen und technischen Schwierigkeiten eines riesigen Code-Basis und Entwicklungsteams kämpfte, und ein Startup, das von Haskell überzeugt war und an Wachstum arbeitete. Ich trage auch zu vielen Open-Source-Projekten bei und bin mit den meisten Ökosystemen vertraut. Alles in allem habe ich mit fast einer Million Zeilen Haskell-Code gearbeitet!

Ich habe gesehen, wie Haskell scheitert, und ich habe gesehen, wie es erfolgreich ist. Ich möchte Ihnen helfen, mit Haskell erfolgreich zu sein.

Share this book

Categories

This book is a translation into German of Production Haskell which was originally written in English

Price

Pick Your Price...

Minimum price

$30.00

$40.00

You pay

$40.00

Authors earn

$32.00
$

All prices are in US $. You can pay in US $ or in your local currency when you check out.

EU customers: prices exclude VAT, which is added during checkout.

...Or Buy With Credits!

Number of credits (Minimum 2)

2
The author will earn $24.00 from your purchase!
You can get credits monthly with a Reader Membership

Author

About the Authors

Matt Parsons

Hi! I’m Matt Parsons! I like to ride my bicycle, play guitar, learn cello, and occasionally program a computer. I'm the team lead for the Backend Developer Experience at Mercury.

I started learning a software in Spring 2014 in my “intro to Java” course at UGA. JavaScript introduced me to functional programming that summer, and Ruby on Rails pointed me towards Sandi Metz and Smalltalk-inspired object oriented design. Haskell caught my interest and I started learning it in earnest in early 2015. Ever since, I’ve been sold on functional programming.

I tend to like abstraction, patterns, extremes in contrast, and going a little too meta. There’s an underpinning to writing music, learning mathematics, and making beautiful programs that resonate with me. Emergent complexity, chaotic systems, and expressions of passion are my favorite things.

Leanpub Podcast

Episode 195

An Interview with Matt Parsons

TranslateAI

Leanpub now has a TranslateAI service which uses AI to translate their book from English into up to 31 languages, or from one of those 31 languages into English. We also have a GlobalAuthor bundle which uses TranslateAI to translate English-language books into either 8 or 31 languages.

Leanpub exists to serve our authors. We want to help you reach as many readers as possible, in their preferred language. So, just as Leanpub automates the process of publishing a PDF and EPUB ebook, we've now automated the process of translating those books!

Contents

Table of Contents

Einführung

  1. Ein Meinungsfreudiger Reiseführer
  2. Über den Autor

Danksagungen

Prinzipien

  1. Komplexität
  2. Neuheit
  3. Kohäsion
  4. Empathie
  5. Referenzen
  6. IHaskell-Teams aufbauen

1.Haskell verkaufen

  1. 1.1Einschätzung der Aufnahmebereitschaft
  2. 1.2Software-Produktivität
  3. 1.3Statistiken zur Produktivität
  4. 1.4Kennen Sie Ihre Konkurrenz

2.Haskell Lernen und Lehren

  1. 2.1Die Philologie von Haskell
  2. 2.2Programmieren ist schwer zu lernen
  3. 2.3Lernmaterialien auswählen
  4. 2.4Schreiben Sie viel Code
  5. 2.5Keine Angst vor dem GHC
  6. 2.6Einfach anfangen
  7. 2.7Reale Probleme lösen
  8. 2.8Pair-Programmierung
  9. 2.9Ein Dialog
  10. 2.10Referenzen

3.Haskeller einstellen

  1. 3.1Das zweischneidige Schwert
  2. 3.2Junioren und Senioren
  3. 3.3Einstellung von Senioren
  4. 3.4Juniors einstellen

4.Bewertung von Beratungsfirmen

  1. 4.1Identifizierung des Ziels
  2. 4.2Well-Typed
  3. 4.3FP Complete
  4. IIAnwendungsstruktur

5.Der Anfang

  1. 5.1Abstraktion zum Mocken
  2. 5.2Vorwärtskompatibilität
  3. 5.3AppEnvironment
  4. 5.4Das ReaderT-Muster
  5. 5.5Einbetten, nicht Stapeln

6.Drei-Schichten-Haskell-Kuchen

  1. 6.1Schicht 1: Imperative Programmierung
  2. 6.2Schicht 2: Objektorientierte Programmierung
  3. 6.3Schicht 3: Funktionale Programmierung
  4. 6.4Beispiele

7.Invertiere Deine Mocks!

  1. 7.1Effekte Dekomponieren
  2. 7.2Streaming-Zerlegung
  3. 7.3Einfachste Abstraktion
  4. 7.4Zerlegen!!!
  5. 7.5Was, wenn ich muss?

8.Projekt Präludien

  1. 8.1Probleme mit Prelude
  2. 8.2Benutzerdefinierte Vorteile
  3. 8.3Fertige Preludes
  4. 8.4Nesting Preludes
  5. 8.5Nachteile
  6. 8.6Verwendung eines benutzerdefinierten Prelude

9.Optimierung der GHC-Kompilierungszeiten

  1. 9.1Das Project.Types Megamodul
  2. 9.2Paketaufteilung
  3. 9.3Großes Instanzen-Modul
  4. 9.4TemplateHaskell
  5. 9.5Einige zufällige abschließende Gedanken
  6. IIIDomänenmodellierung

10.Typsicherheit Hin und Her

  1. 10.1Die Wellenwirkung
  2. 10.2Fragen Sie nur, was Sie brauchen

11.Halten Sie Ihre Typen klein…

  1. 11.1Expansion und Einschränkung
  2. 11.2Einschränkungen Befreien
  3. 11.3Wertebereich Einschränken
  4. 11.4Eine perfekte Passform

12.Das Problem mit typisierten Fehlern

  1. 12.1Monolithische Fehlertypen sind schlecht
  2. 12.2Boilerplate ade!
  3. 12.3Typklassen zur Rettung!
  4. 12.4Die Tugend von ungetypten Fehlern

13.Ausnahmen

  1. 13.1Ausnahmen in fünf Minuten
  2. 13.2Best Practices
  3. 13.3Hierarchien
  4. 13.4Neu erfinden
  5. 13.5Asynchrone Ausnahmen
  6. 13.6Die Theorie
  7. 13.7HasCallStack

14.EDSL-Design

  1. 14.1Tricks mit do
  2. 14.2Überladene Literale
  3. 14.3Typinferenz-Trick
  4. 14.4Fluent Interfaces
  5. 14.5Fallstudie: Krafttraining-Protokollierung
  6. 14.6Fallstudie: rowdy
  7. 14.7Fallstudie: hspec

15.Wachstumsschmerzen

  1. 15.1Eine Taxonomie der Bruchänderungen
  2. 15.2Vermeidung von Breaking Changes
  3. 15.3Kommunikation mit Benutzern
  4. IVSchnittstelle zur Realität

16.Testen

  1. 16.1Bibliotheken und Werkzeuge
  2. 16.2Code für Tests entwerfen

17.Protokollierung und Beobachtbarkeit

  1. 17.1Über Debug.Trace
  2. 17.2Bevorzuge die do-Notation
  3. 17.3Protokollierungskontexte
  4. 17.4Bibliotheken im Überblick

18.Datenbanken

  1. 18.1Getrennte Datenbanktypen
  2. 18.2Migrationen
  3. 18.3Zugriffsmuster
  4. 18.4Fazit
  5. VFortgeschrittene Haskell

19.Template Haskell ist nicht beängstigend

  1. 19.1Ein Anfängertutorial
  2. 19.2Moment mal, das ist nicht Haskell, was mache ich hier
  3. 19.3Konstruktion eines AST
  4. 19.4Boilerplate Ade!

20.Grundlegende Typ-Ebenen-Programmierung

  1. 20.1Die Grundtypen
  2. 20.2Die höheren Arten
  3. 20.3Dynamisch Typisiertes Programmieren
  4. 20.4Datenarten
  5. 20.5GADTs
  6. 20.6Vektoren
  7. 20.7Type Families
  8. 20.8Das ist Mist
  9. 20.9Heterogene Listen
  10. 20.10Induktive Typ-Klassen-Instanzen
  11. Weitere Übungen
  12. 20.11Erweiterbare Datensätze
  13. Übung:
  14. 20.12Hat Ihnen gefallen, was Sie gelesen haben?

21.Familienwerte

  1. 21.1Typfamilien
  2. 21.2Offene oder Geschlossene Typfamilien?
  3. 21.3Die Brücke zwischen den Welten
  4. 21.4Datenfamilien
  5. 21.5Fazit

22.Abwägungen in der Typ-Programmierung

  1. 22.1MPTCs
  2. 22.2MPTCs + Funktionale Abhängigkeiten
  3. 22.3Assoziierte Typen
  4. 22.4Vergleiche

23.Fallstudie: Prairie

  1. 23.1Problemstellung:
  2. 23.2Stand der Technik
  3. 23.3Der GADT-Ansatz
  4. 23.4Verbesserungen?
  5. 23.5Symbole
  6. 23.6Vergleichen und Gegenüberstellen
  7. 23.7Das Problem identifizieren
  8. 23.8Generalize eines GADT
  9. 23.9Funktionale Abhängigkeiten
  10. 23.10Mehr Klasse bitte
  11. 23.11Verfeinerung der Klasse
  12. 23.12Template Haskell
  13. 23.13Fazit

Get the free sample chapters

Click the buttons to get the free sample in PDF or EPUB, or read the sample online here

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

Earn $8 on a $10 Purchase, and $16 on a $20 Purchase

We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earned over $14 million writing, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub