Durchstarten mit Scala
معرفی کتاب «Durchstarten mit Scala» نوشتهٔ Heiko Seeberger; Roman Roelofsen، منتشرشده توسط نشر entwickler.press. ein Label der Software & Support Media GmbH در سال 2011. این کتاب در فرمت pdf، زبان آلمانی ارائه شده است. «Durchstarten mit Scala» در دستهٔ بدون دستهبندی قرار دارد.
Kaum eine andere Programmiersprache kombiniert derart elegant wie Scala die Vorzüge verschiedener Programmier-Paradigmen und ermöglichst gleichzeitig die vollständige Integrationsfähigkeit mit Java. Die Java-Plattform hat sich seit über einem Jahrzehnt als eine der wichtigsten Laufzeitumgebungen für Desktop- und Server-Software etabliert. Dahingegen stößt die Programmiersprache Java zunehmend an ihre Grenzen bei dem Versuch, mit der ständig steigenden Komplexität in der Softwareentwicklung und den Herausforderungen von verteilten und parallelisierten Systemen Schritt zu halten. Scala bietet die Ausdrucksstärke und Klarheit einer dynamischen Programmiersprache, stellt die Funktionen einer Sprache wie Erlang geschickt über Bibliotheken zur Verfügung und gewährleistet gleichzeitig durch statische Typisierung die Code-Korrektheit, wie wir es von Java her kennen. Das Ergebnis ist eine Programmiersprache, mit der wir einfache Aufgaben auf einfache Weise bewerkstelligen können und die für komplexe Herausforderungen maßgeschneiderte Lösungen ermöglicht. Dieses Buch bietet allen Scala-Interessierten und Einsteigern einen praxisnahen und zielgerichteten Weg, um Scala zu lernen. Dabei legen die Autoren den Fokus bewusst auf die Praxis der Softwareentwicklung, um dem Leser die Vorteile von Scala möglichst direkt näher zu bringen. Im Rahmen eines durchgängigen Fallbeispiels wird der gesamte Zyklus der Softwareentwicklung abgedeckt, vom Einrichten der Entwicklungsumgebung über'Debugging'mit dem interaktiven Interpreter (REPL) und testgetriebener Entwicklung unter Verwendung von Test-Bibliotheken bis hin zur Integration in Java EE Umgebungen. Selbstverständlich wird der Leser dabei Schritt für Schritt mit allen Grundlagen von Scala vertraut gemacht, sodass er nach der Lektüre dieses Buches das nötige Rüstzeug für eigene Scala-Projekte hat. Buchcover......Page 1 Durchstarten mit Scala......Page 3 Impressum......Page 4 Inhaltsverzeichnis......Page 5 Vorwort......Page 9 1.1 Was ist Scala?......Page 11 1.2 Warum Scala statt Java?......Page 12 1.3 Warum Scala statt Groovy, JRuby & Co?......Page 16 2.1 Kommandozeilen-Werkzeuge......Page 17 2.1.1 scalac und fsc......Page 18 2.1.2 scala......Page 20 2.2 Build-Werkzeuge......Page 21 2.2.1 Ant......Page 22 2.2.2 Maven......Page 23 2.2.3 SBT......Page 24 2.3 IDEs......Page 27 2.3.1 Scala IDE for Eclipse......Page 28 2.3.2 IntelliJ IDEA......Page 29 Kapitel 3 – Das Fallbeispiel „ScalaTrain“......Page 31 4.1.1 Unveränderliche Variablen......Page 33 4.2.1 Alles hat ein Ergebnis......Page 35 4.2.2 Unit-Methoden......Page 37 4.3 Funktionen......Page 38 5.1 Vorbereitung: Projekt initialisieren......Page 41 5.2 Klassen......Page 42 5.2.1 Klassenparameter und Konstruktoren......Page 43 5.2.2 Felder......Page 45 5.2.3 Methoden......Page 47 5.2.4 Named and Default Arguments......Page 50 5.3 Packages und Sichtbarkeit......Page 51 5.3.1 Verschachtelte Packages......Page 52 5.3.2 Imports......Page 53 5.3.3 Sichtbarkeit......Page 54 5.4 Singleton Objects......Page 55 5.4.2 Predef......Page 56 5.5 Case Classes......Page 57 5.6 Projekt-Code: aktueller Stand......Page 60 6.1.1 Vorbereitung: Dependencies verwalten mit SBT......Page 61 6.1.2 Testfälle einfach gemacht......Page 64 6.1.3 Testdaten einfach gemacht......Page 66 6.2 Test Coverage mit scct......Page 68 6.3 Projekt-Code: aktueller Stand......Page 71 Kapitel 7 – Erste Schritte mit FP......Page 73 7.1.1 Klassenhierarchie......Page 74 7.1.2 Collection-Instanzen erzeugen......Page 75 7.1.3 Typ-Parameter......Page 76 7.1.4 Tupel......Page 77 7.1.5 Unveränderliche und veränderliche Collections......Page 78 7.1.6 Collections in ScalaTrain......Page 80 7.2.1 Funktionsliterale......Page 81 7.2.2 Funktions-Typen......Page 83 7.2.3 Funktionale Collections in ScalaTrain......Page 85 7.2.4 map, flatMap und filter im Detail......Page 90 7.3 For Expressions und For Loops......Page 93 7.3.1 For Expressions......Page 95 7.3.2 For Loops und foreach......Page 98 7.4 Projekt-Code: aktueller Stand......Page 100 8.1.1 Sub-Klassen mit extends definieren......Page 101 8.1.2 Member überschreiben......Page 104 8.1.3 Abstrakte Klassen und Member......Page 107 8.1.4 Scala-Typhierarchie......Page 110 8.2 Traits......Page 112 8.2.1 Traits hinein mixen......Page 114 8.2.2 Linearisierung......Page 115 8.2.3 Beispiel: Ordered implementieren......Page 118 8.2.4 Einschub: By-Name Parameters......Page 119 8.2.5 Self Types......Page 121 8.3 Abschluss – Aktueller Stand......Page 123 9.1 match-Ausdrücke......Page 127 9.2.3 Variable Pattern und Typed Pattern......Page 128 9.2.5 Constructor Pattern......Page 129 9.2.6 Sequence Pattern......Page 131 9.3 Pattern Guards und Variable Binding......Page 132 9.4 Pattern Matching außerhalb von match-Ausdrücken......Page 133 9.5 Projekt-Code: aktueller Stand......Page 134 10.1 XML-Literale......Page 137 10.2 XML-Verarbeitung......Page 138 10.3 XML für ScalaTrain......Page 140 10.4 Abschluss – Aktueller Stand......Page 141 11.1 Implicit Conversions......Page 143 11.1.1 Implicit Conversions zum Expected Type......Page 144 11.1.2 Implicit Conversions des Receivers......Page 146 11.2 Implicit Parameters......Page 149 11.3 Type Classes......Page 152 11.4 Projekt-Code: aktueller Stand......Page 155 12.1 Rekursion......Page 159 12.2.1 Einschub: Package Objects......Page 162 12.2.2 Einschub: Varianz......Page 163 12.2.3 Upper Bounds......Page 164 12.2.4 View Bounds......Page 165 12.3 Existential Types......Page 166 12.4.1 Problemstellung......Page 168 12.4.2 Lösungsansatz......Page 169 12.4.3 Streckenabschnitte ermitteln......Page 171 12.5 Verbindungen ermitteln......Page 174 12.6 Abschluss – Aktueller Stand......Page 176 13.1 Validieren mit scalaz......Page 181 13.2 Web-Applikationen mit Lift......Page 186 13.2.1 Lift-Konfiguration......Page 187 13.2.2 View First......Page 188 13.2.3 Snippets......Page 191 13.3 Abschluss – Endgültiger Stand......Page 194 Stichwortverzeichnis......Page 201 Scala ist eine neue funktionale und objektorientierte Programmiersprache. Eine ausführliche Darstellung gibt L. Piepmeyer (ID-G 33/10), wobei auch auf Konzepte des funktionalen Programmierens allgemein eingegangen wird. Das vorliegende Buch wendet sich vorwiegend an Einsteiger. Anhand eines durchgehenden Beispiels (ScalaTrain - Tool zur Reiseplanung mit der Bahn) wird der Leser mit den Grundlagen von Scala vertraut gemacht. Kenntnisse in Java erleichtern die Lektüre beträchtlich. Dem Buch liegt die Version 2.8.1 von Scala zugrunde. Die Autoren stellen zunächst die Vorteile von Scala gegenüber Java selbst und Java-verwandten Sprachen (Groovy, JRuby, Clojure) heraus. Der Akzent liegt hierbei deutlich bei der Einsparung von Code. Anschliessend werden wichtige Entwicklungswerkzeuge für Scala einschliesslich grafischer Benutzeroberflächen behandelt. Gut berücksichtigt werden auch die Scala-Bibliotheken, das Testen von Programmen und das Debugging. Der Code des grossen Fallbeispiels wird schrittweise aufgebaut und sehr gut kommentiert. Auf ein weiterführendes Literaturverzeichnis wird leider verzichtet. (2)
دانلود کتاب Durchstarten mit Scala