Sie sind hier
E-Book

Durchstarten mit Scala

AutorHeiko Seeberger, Roman Roelofsen
Verlagentwickler.press
Erscheinungsjahr2011
Seitenanzahl204 Seiten
ISBN9783868022513
FormatPDF
Kopierschutzkein Kopierschutz/DRM
GerätePC/MAC/eReader/Tablet
Preis16,00 EUR
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.

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.

Kaufen Sie hier:

Horizontale Tabs

Blick ins Buch
Inhaltsverzeichnis
Inhaltsverzeichnis4
Vorwort8
Kapitel 1 – Warum Scala?10
1.1Was ist Scala?10
1.2Warum Scala statt Java?11
1.3Warum Scala statt Groovy, JRuby & Co?15
Kapitel 2 – Entwicklungsumgebung16
2.1Kommandozeilen-Werkzeuge16
2.1.1scalac und fsc17
2.1.2scala19
2.1.3scaladoc20
2.2Build-Werkzeuge20
2.2.1Ant21
2.2.2Maven22
2.2.3SBT23
2.3IDEs26
2.3.1Scala IDE for Eclipse27
2.3.2IntelliJ IDEA28
Kapitel 3 – Das Fallbeispiel „ScalaTrain“30
Kapitel 4 – Erste Gehversuche in der REPL32
4.1Variablen32
4.1.1Unveränderliche Variablen32
4.1.2Veränderliche Variablen34
4.2Methoden34
4.2.1Alles hat ein Ergebnis34
4.2.2Unit-Methoden36
4.3Funktionen37
Kapitel 5 – OO-Grundlagen40
5.1Vorbereitung: Projekt initialisieren40
5.2Klassen41
5.2.1Klassenparameter und Konstruktoren42
5.2.2Felder44
5.2.3Methoden46
5.2.4Named and Default Arguments49
5.3Packages und Sichtbarkeit50
5.3.1Verschachtelte Packages51
5.3.2Imports52
5.3.3Sichtbarkeit53
5.4Singleton Objects54
5.4.1Companion Objects55
5.4.2Predef55
5.5Case Classes56
5.6Projekt-Code: aktueller Stand59
Kapitel 6 – Testen von Scala-Programmen60
6.1 Unit-Tests mit specs60
6.1.1Vorbereitung: Dependencies verwalten mit SBT60
6.1.2Testfälle einfach gemacht63
6.1.3Testdaten einfach gemacht65
6.2Test Coverage mit scct67
6.3Projekt-Code: aktueller Stand70
Kapitel 7 – Erste Schritte mit FP72
7.1Scala-Collections73
7.1.1Klassenhierarchie73
7.1.2Collection-Instanzen erzeugen74
7.1.3Typ-Parameter75
7.1.4Tupel76
7.1.5Unveränderliche und veränderliche Collections77
7.1.6Collections in ScalaTrain79
7.2Funktionale Collections80
7.2.1Funktionsliterale80
7.2.2Funktions-Typen82
7.2.3Funktionale Collections in ScalaTrain84
7.2.4map, flatMap und filter im Detail89
7.3For Expressions und For Loops92
7.3.1For Expressions94
7.3.2For Loops und foreach97
7.4Projekt-Code: aktueller Stand99
Kapitel 8 – Vererbung und Traits100
8.1Vererbung100
8.1.1Sub-Klassen mit extends definieren100
8.1.2Member überschreiben103
8.1.3Abstrakte Klassen und Member106
8.1.4Scala-Typhierarchie109
8.2Traits111
8.2.1Traits hinein mixen113
8.2.2Linearisierung114
8.2.3Beispiel: Ordered implementieren117
8.2.4Einschub: By-Name Parameters118
8.2.5Self Types120
8.3Abschluss – Aktueller Stand122
Kapitel 9 – Pattern Matching126
9.1match-Ausdrücke126
9.2Welche Pattern gibt es?127
9.2.1Wildcard Pattern127
9.2.2Constant Pattern127
9.2.3Variable Pattern und Typed Pattern127
9.2.4Tuple Pattern128
9.2.5Constructor Pattern128
9.2.6Sequence Pattern130
9.3Pattern Guards und Variable Binding131
9.4Pattern Matching außerhalb von match-Ausdrücken132
9.5Projekt-Code: aktueller Stand133
Kapitel 10 – Scala und XML136
10.1XML-Literale136
10.2XML-Verarbeitung137
10.3XML für ScalaTrain139
10.4Abschluss – Aktueller Stand140
Kapitel 11 – Implicits142
11.1Implicit Conversions142
11.1.1Implicit Conversions zum Expected Type143
11.1.2Implicit Conversions des Receivers145
11.2Implicit Parameters148
11.3Type Classes151
11.4Projekt-Code: aktueller Stand154
Kapitel 12 – Fortgeschrittene Konzepte158
12.1Rekursion158
12.2Upper Bounds und View Bounds161
12.2.1Einschub: Package Objects161
12.2.2Einschub: Varianz162
12.2.3Upper Bounds163
12.2.4View Bounds164
12.3Existential Types165
12.4Vertiefung objekt-funktionale Programmierung167
12.4.1Problemstellung167
12.4.2Lösungsansatz168
12.4.3Streckenabschnitte ermitteln170
12.5Verbindungen ermitteln173
12.6Abschluss – Aktueller Stand175
Kapitel 13 – Scala Libraries180
13.1Validieren mit scalaz180
13.2Web-Applikationen mit Lift185
13.2.1Lift-Konfiguration186
13.2.2View First187
13.2.3Snippets190
13.3Abschluss – Endgültiger Stand193
Stichwortverzeichnis200

Weitere E-Books zum Thema: Programmiersprachen - Softwareentwicklung

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

Programmieren lernen in PHP 5

E-Book Programmieren lernen in PHP 5
Format: PDF

Mit der Version 5 erreicht PHP einen bemerkenswerten Reifegrad, der PHP zu einer festen Größe in der Welt der Webprogrammierung macht. Gerade die leichte Erlernbarkeit macht PHP zur idealen…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Weitere Zeitschriften

BIELEFELD GEHT AUS

BIELEFELD GEHT AUS

Freizeit- und Gastronomieführer mit umfangreichem Serviceteil, mehr als 700 Tipps und Adressen für Tag- und Nachtschwärmer Bielefeld genießen Westfälisch und weltoffen – das zeichnet nicht ...

BONSAI ART

BONSAI ART

Auflagenstärkste deutschsprachige Bonsai-Zeitschrift, basierend auf den renommiertesten Bonsai-Zeitschriften Japans mit vielen Beiträgen europäischer Gestalter. Wertvolle Informationen für ...

Burgen und Schlösser

Burgen und Schlösser

aktuelle Berichte zum Thema Burgen, Schlösser, Wehrbauten, Forschungsergebnisse zur Bau- und Kunstgeschichte, Denkmalpflege und Denkmalschutz Seit ihrer Gründung 1899 gibt die Deutsche ...

care konkret

care konkret

care konkret ist die Wochenzeitung für Entscheider in der Pflege. Ambulant wie stationär. Sie fasst topaktuelle Informationen und Hintergründe aus der Pflegebranche kompakt und kompetent für Sie ...

IT-BUSINESS

IT-BUSINESS

IT-BUSINESS ist seit mehr als 25 Jahren die Fachzeitschrift für den IT-Markt Sie liefert 2-wöchentlich fundiert recherchierte Themen, praxisbezogene Fallstudien, aktuelle Hintergrundberichte aus ...

building & automation

building & automation

Das Fachmagazin building & automation bietet dem Elektrohandwerker und Elektroplaner eine umfassende Übersicht über alle Produktneuheiten aus der Gebäudeautomation, der Installationstechnik, dem ...

filmdienst#de

filmdienst#de

filmdienst.de führt die Tradition der 1947 gegründeten Zeitschrift FILMDIENST im digitalen Zeitalter fort. Wir begleiten seit 1947 Filme in allen ihren Ausprägungen und Erscheinungsformen.  ...