Konstrukte, Sprachen, Hintergründe
Buch, Deutsch, Format (B × H): 168 mm x 240 mm
ISBN: 978-3-662-74522-9
Verlag: Springer
ist heute die Realität moderner Softwareentwicklung: Fast alle verbreiteten objektorientierten Programmiersprachen integrieren funktionale Konzepte wie Funktionen höherer Ordnung, Closures, Pattern Matching oder Typabstraktion. Dennoch werden funktionale und objektorientierte Programmierung meist getrennt gelehrt und verstanden.
Dieses Buch verfolgt einen anderen Ansatz. Es entwickelt die objekt-funktionale Programmierung von ihren Grundlagen aus und stellt die funktionale Programmierung zunächst in den Mittelpunkt. Ausgehend von imperativer Programmierung, Lambda-Kalkül und Typentheorie zeigt es Schritt für Schritt, wie funktionale und objektorientierte Konzepte zusammenwirken und sich gegenseitig ergänzen.
Anhand der fünf Programmiersprachen JavaScript, Ruby, TypeScript, Scala und F# vermittelt Friedrich Steimann die zentralen Konstrukte moderner Programmiersprachen: Objekte, Klassen, Funktionen, Typen, Vererbung, Pattern Matching, Generics, Typsysteme und funktionale Programmiertechniken. Dabei werden Gemeinsamkeiten und Unterschiede der Sprachen systematisch herausgearbeitet und in einen übergreifenden konzeptionellen Zusammenhang gestellt.
Das Buch eignet sich als Lehrbuch für Informatikstudierende, als Begleitwerk zu Lehrveranstaltungen zur objekt-funktionalen Programmierung , funktionalen Programmierung , objektorientierten Programmierung und Programmiersprachenkonzepten sowie als fundierte Referenz für Entwicklerinnen und Entwickler, die die theoretischen und praktischen Grundlagen moderner Programmiersprachen vertiefen möchten.
Zielgruppe
Upper undergraduate
Autoren/Hrsg.
Fachgebiete
Weitere Infos & Material
Voraussetzungen der objekt-funktionalen Programmierung.- Programmierung.- Imperative Programmierung.- Programmieren mit Funktionen.- Programmieren mit Objekten.- Objekte als Strukturen.- Metaphysik der Objekte.- Imperative Basis objektorientierter Sprachen.- Objekte als Programmelemente.- Objektkonstruktion.- Prototypen, Vererbung und Überschreiben.- Funktionen als Objekte.- Objekte als Funktionen.- Reflektion.- Das Wesen von Objekten.- Programmieren mit Klassen.- Objekte und Klassen.- Ausdrücke und Klassen.- Klassendefinitionen.- Metaklassen.- Superklassen.- Andere Formen der Wiederverwendung von Klassen.- Wertklassen.- Collection-Klassen.- Nachbildung von Relationen.- Verhalten für alle Objekte.- Klassen in JAVASCRIPT.- Das Wesen von Klassen.- Programmieren mit Typen.- Ursprung der Typentheorie.- Datentypen.- Funktionstypen.- Klassen als Typen.- Typen von Klassen.- Typkompatibilität und Subtyping.- Null-Sicherheit und sichere Initialisierung.- Typabstraktion.- Typinferenz.- Graduelle Typsysteme.- Das Wesen von Typsystemen.- Programmieren mit SCALA.- SCALAs Syntax.- Die Ontologie SCALAs.- Pattern matching.- Kontrollfluss.- SCALAs Typsystem.- Kontextabstraktion.- Das Wesen SCALAs.- Programmieren mit F#.- Die Syntax von F#.- Der funktionale Kern von F#.- Datentypen.- Kontrollfluss.- Metaprogrammierung in F#.- Das Wesen von F#.- Objekt-funktionale Programmiertechniken.- Fluent interfaces.- Verarbeitungspipelines.- Anfragesprachen.- Type-driven development.- Implementierung von Parsern.- Memoisierung.




