EBOOK

Durchstarten mit Scala


€ 16,00
 
pdf eBook
Sofort lieferbar (Download)
Mai 2011

Beschreibung

Beschreibung

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.

Inhaltsverzeichnis

1;Inhaltsverzeichnis;4 2;Vorwort;8 3;Kapitel 1 Warum Scala?;10 3.1;1.1Was ist Scala?;10 3.2;1.2Warum Scala statt Java?;11 3.3;1.3Warum Scala statt Groovy, JRuby & Co?;15 4;Kapitel 2 Entwicklungsumgebung;16 4.1;2.1Kommandozeilen-Werkzeuge;16 4.1.1;2.1.1scalac und fsc;17 4.1.2;2.1.2scala;19 4.1.3;2.1.3scaladoc;20 4.2;2.2Build-Werkzeuge;20 4.2.1;2.2.1Ant;21 4.2.2;2.2.2Maven;22 4.2.3;2.2.3SBT;23 4.3;2.3IDEs;26 4.3.1;2.3.1Scala IDE for Eclipse;27 4.3.2;2.3.2IntelliJ IDEA;28 5;Kapitel 3 Das Fallbeispiel ScalaTrain;30 6;Kapitel 4 Erste Gehversuche in der REPL;32 6.1;4.1Variablen;32 6.1.1;4.1.1Unveränderliche Variablen;32 6.1.2;4.1.2Veränderliche Variablen;34 6.2;4.2Methoden;34 6.2.1;4.2.1Alles hat ein Ergebnis;34 6.2.2;4.2.2Unit-Methoden;36 6.3;4.3Funktionen;37 7;Kapitel 5 OO-Grundlagen;40 7.1;5.1Vorbereitung: Projekt initialisieren;40 7.2;5.2Klassen;41 7.2.1;5.2.1Klassenparameter und Konstruktoren;42 7.2.2;5.2.2Felder;44 7.2.3;5.2.3Methoden;46 7.2.4;5.2.4Named and Default Arguments;49 7.3;5.3Packages und Sichtbarkeit;50 7.3.1;5.3.1Verschachtelte Packages;51 7.3.2;5.3.2Imports;52 7.3.3;5.3.3Sichtbarkeit;53 7.4;5.4Singleton Objects;54 7.4.1;5.4.1Companion Objects;55 7.4.2;5.4.2Predef;55 7.5;5.5Case Classes;56 7.6;5.6Projekt-Code: aktueller Stand;59 8;Kapitel 6 Testen von Scala-Programmen;60 8.1;6.1 Unit-Tests mit specs;60 8.1.1;6.1.1Vorbereitung: Dependencies verwalten mit SBT;60 8.1.2;6.1.2Testfälle einfach gemacht;63 8.1.3;6.1.3Testdaten einfach gemacht;65 8.2;6.2Test Coverage mit scct;67 8.3;6.3Projekt-Code: aktueller Stand;70 9;Kapitel 7 Erste Schritte mit FP;72 9.1;7.1Scala-Collections;73 9.1.1;7.1.1Klassenhierarchie;73 9.1.2;7.1.2Collection-Instanzen erzeugen;74 9.1.3;7.1.3Typ-Parameter;75 9.1.4;7.1.4Tupel;76 9.1.5;7.1.5Unveränderliche und veränderliche Collections;77 9.1.6;7.1.6Collections in ScalaTrain;79 9.2;7.2Funktionale Collections;80 9.2.1;7.2.1Funktionsliterale;80 9.2.2;7.2.2Funktions-Typen;82 9.2.3;7.2.3Funktionale Collections in ScalaTrain;84 9.2.4;7.2.4map,
flatMap und filter im Detail;89 9.3;7.3For Expressions und For Loops;92 9.3.1;7.3.1For Expressions;94 9.3.2;7.3.2For Loops und foreach;97 9.4;7.4Projekt-Code: aktueller Stand;99 10;Kapitel 8 Vererbung und Traits;100 10.1;8.1Vererbung;100 10.1.1;8.1.1Sub-Klassen mit extends definieren;100 10.1.2;8.1.2Member überschreiben;103 10.1.3;8.1.3Abstrakte Klassen und Member;106 10.1.4;8.1.4Scala-Typhierarchie;109 10.2;8.2Traits;111 10.2.1;8.2.1Traits hinein mixen;113 10.2.2;8.2.2Linearisierung;114 10.2.3;8.2.3Beispiel: Ordered implementieren;117 10.2.4;8.2.4Einschub: By-Name Parameters;118 10.2.5;8.2.5Self Types;120 10.3;8.3Abschluss Aktueller Stand;122 11;Kapitel 9 Pattern Matching;126 11.1;9.1match-Ausdrücke;126 11.2;9.2Welche Pattern gibt es?;127 11.2.1;9.2.1Wildcard Pattern;127 11.2.2;9.2.2Constant Pattern;127 11.2.3;9.2.3Variable Pattern und Typed Pattern;127 11.2.4;9.2.4Tuple Pattern;128 11.2.5;9.2.5Constructor Pattern;128 11.2.6;9.2.6Sequence Pattern;130 11.3;9.3Pattern Guards und Variable Binding;131 11.4;9.4Pattern Matching außerhalb von match-Ausdrücken;132 11.5;9.5Projekt-Code: aktueller Stand;133 12;Kapitel 10 Scala und XML;136 12.1;10.1XML-Literale;136 12.2;10.2XML-Verarbeitung;137 12.3;10.3XML für ScalaTrain;139 12.4;10.4Abschluss Aktueller Stand;140 13;Kapitel 11 Implicits;142 13.1;11.1Implicit Conversions;142 13.1.1;11.1.1Implicit Conversions zum Expected Type;143 13.1.2;11.1.2Implicit Conversions des Receivers;145 13.2;11.2Implicit Parameters;148 13.3;11.3Type Classes;151 13.4;11.4Projekt-Code: aktueller Stand;154 14;Kapitel 12 Fortgeschrittene Konzepte;158 14.1;12.1Rekursion;158 14.2;12.2Upper Bounds und View Bounds;161 14.2.1;12.2.1Einschub: Package Objects;161 14.2.2;12.2.2Einschub: Varianz;162 14.2.3;12.2.3Upper Bounds;163 14.2.4;12.2.4View Bounds;164 14.3;12.3Existential Types;165 14.4;12.4Vertiefung objekt-funktionale Programmierung;167 14.4.1;12.4.1Problemstellung;167 14.4.2;12.4.2Lösungsansatz;168 14.4.3;12.4.3Streckenabschnitte ermitteln;170 14.5;12
.5Verbindungen ermitteln;173 14.6;12.6Abschluss Aktueller Stand;175 15;Kapitel 13 Scala Libraries;180 15.1;13.1Validieren mit scalaz;180 15.2;13.2Web-Applikationen mit Lift;185 15.2.1;13.2.1Lift-Konfiguration;186 15.2.2;13.2.2View First;187 15.2.3;13.2.3Snippets;190 15.3;13.3Abschluss Endgültiger Stand;193 16;Stichwortverzeichnis;200


Portrait

Heiko Seeberger ist Diplom-Physiker und verfügt über fünfzehn Jahre Erfahrung in IT-Beratung und Software-Entwicklung. Er zählt in Deutschland und international zu den führenden Scala-Experten, ist aktiver Open Source Committer, Autor zahlreicher Fachartikel und Redner auf einschlägigen Konferenzen.Roman Roelofsen beschäftigt sich seit vielen Jahren mit der funktionalen Programmierung und deren Vorzügen für die alltägliche Softwareentwicklung. Dabei gilt sein Fokus besonders der serverseitigen Programmierung mit Scala und Java EE. Seine jahrelange Expertise in diesen Feldern gibt er in Open Source-Projekten, Fachartikeln und Konferenzenbeiträgen weiter.

Technik

Dieses eBook wird im PDF-Format ohne Kopierschutz geliefert. Sie können dieses eBook auf vielen gängigen Endgeräten lesen.

Sie können dieses eBook auf vielen gängigen Endgeräten lesen.

Für welche Geräte?
Sie können das eBook auf allen Lesegeräten, in Apps und in Lesesoftware öffnen, die PDF unterstützen:

  • tolino Reader
    Öffnen Sie das eBook nach der automatischen Synchronisation auf dem Reader oder übertragen Sie das eBook auf Ihr tolino Gerät mit einer kostenlosen Software wie beispielsweise Adobe Digital Editions.

  • Sony Reader und andere eBook Reader
    Laden Sie das eBook direkt auf dem Reader im eBook.de-Shop herunter oder übertragen Sie es mit der kostenlosen Software Sony READER FOR PC/Mac oder Adobe Digital Editions.

  • Tablets und Smartphones
    Installieren Sie die eBook.de READER App für Android und iOS oder verwenden Sie eine andere Lese-App für PDF-eBooks.

  • PC und Mac
    Lesen Sie das eBook direkt nach dem Herunterladen über "Jetzt lesen" im Browser, oder mit der kostenlosen Lesesoftware Adobe Digital Editions.

Bitte beachten Sie: Dieses eBook ist nicht auf Kindle-Geräten lesbar.

Ihr erstes eBook?
Hier erhalten Sie alle Informationen rund um die digitalen Bücher für Neueinsteiger.

EAN: 9783868022513
Untertitel: Dateigröße in MByte: 3.
Verlag: entwickler.press
Erscheinungsdatum: Mai 2011
Seitenanzahl: 204 Seiten
Format: pdf eBook
Kopierschutz: Keiner
Es gibt zu diesem Artikel noch keine Bewertungen.Kundenbewertung schreiben