Scala Objekt-funktionale Programmierung
:
Oliver Braun
:
Scala Objekt-funktionale Programmierung
:
Carl Hanser Fachbuchverlag
:
9783446426221
:
1
:
CHF 24.90
:
:
Programmiersprachen
:
German
:
330
:
Wasserzeichen/DRM
:
PC/MAC/eReader/Tablet
:
PDF
Sie sind neugierig auf Scala, die neue, universale Programmiersprache, die Objektorientierung und funktionale Programmierung vereint? Sie wollen diese Sprache kennen lernen und erfahren, welche Vorzüge sie hat? Dann sind Sie hier richtig.
Oliver Braun führt Sie detailliert in die Sprache und ihre Syntax ein und stellt die Arbeitsumgebung für die Programmierung von Scala und die Ausführung des Codes vor. Er geht auf die für die Praxis wichtigen Themen Dokumentation und Testen ein und macht Sie mit den wichtigsten Bibliotheken und Frameworks vertraut. Besonders stark ist Scala im Bereich der nebenläufigen Programmierung, daher ist auch diesem Thema ein eigenes Kapitel gewidmet.
Insgesamt erhalten Sie einen umfassenden Überblick, welche Vorzüge Scala in der Praxis tatsächlich hat und eignen sich die Sprache anhand der vielen nachvollziehbaren Beispiele rasch an.
"
Kapitel 7 Actors– Concurrency und Multicore-Programmierung
(S. 193-194)
Nebenläufige Programmierung insbesondere unter Nutzung mehrerer Cores wird immer mehr zur Standardaufgabe für Softwareentwickler. Das liegt daran, dass die Prozessoren nicht mehr schneller werden, sondern dass sich in einem Prozessor immer mehr Kerne befinden. Ein Prozessor mit sehr wenigen Kernen kann in der Regel durch Betriebssystemprozesse noch ganz ordentlich ausgenutzt werden. Nun können z.B. zwei Prozesse, die sonst abwechselnd rechnen durften, parallel arbeiten.
Werden es aber immer mehr Kerne, wird es essenziell notwendig, die Programme selbst in mehrere Prozesse oder Threads aufzuteilen. Nachdem Scala auf der Java Virtual Machine oder auf einer .NET-Runtime ausgeführt wird, ist natürlich alles aus Java bzw. .NET verfügbar, um nebenläufig (engl. concurrent) zu programmieren. Scala bietet aber noch eine weitere, sehr elegante Abstraktionsmöglichkeit, die auf einem mathematischen Modell von nebenläufi- ger Programmierung basiert: die Actors1.
Es gibt Implementierungen des Actor-Modells in einigen Programmiersprachen bis hin zu actorbasierten, general purpose Programmiersprachen wie z.B. ActorScript2. Die Scala-Implementierung lehnt sich von der Syntax stark an die Actor- Implementierung in der funktionalen Programmiersprache Erlang3 an. Actors sind ganz nach der Scala-Philosophie nicht im Sprachkern, sondern als Library im Package scala.actors verfügbar.
Die Grundidee des Actor-Modells ist, dass ein Actor mit anderen Actors nurüber Messages kommuniziert. Wird einem Actor eine Message gesendet, landet diese in seiner Mailbox und bleibt dort, bis der Actor sie herausnimmt. Das heißt also, die Kommunikation ist grundsätzlich asynchron4. In diesem Kapitel geben wir Ihnen eine Einführung in die Welt der Scala-Actors. Wir beginnen in Abschnitt 7.1 damit, den Zusammenhang zwischen Actors und Threads zu erläutern. Wie ein Actor Messages empfangen und darauf reagieren kann, wird in Abschnitt 7.2 dargestellt. Besondere Aktoren, nämlich Reaktoren und Dämonen, sind Gegenstand von Abschnitt 7.3. Für Aktoren wird ein Scheduling benötigt. Informationen darüber finden Sie in Abschnitt 7.4. Das Kapitel schließt mit einem Blick auf Remote Actors (siehe Abschnitt 7.5)."
Inhaltsverzeichnis
8
Vorwort
12
1 Einführung