Scala is a new programming language developed by Martin Odersky and his team at the EPFL. The name Scala is derived from Sca(lable) La(nguage). Scala is a multi-paradigm language, incorporating object oriented approaches with functional programming. Although some familiarity with standard computing concepts is assumed (such as the idea of compiling a program and executing this compiled form, etc.) and with basic procedural language concepts (such as variables and allocation of values to variables) the early chapters of the book do not assume any familiarity with object orientation nor functional programming. These chapters also step through other concepts with which the reader may not be familiar (such as list processing). From this background, John Hunt provides a practical introduction to object and functional technology using Scala, one of the newest and most interesting programming languages available. A variety of concepts are introduced through practical experience taking the reader beyond the level of the language syntax to the philosophy and practice of object-oriented development and functional programming. Students, and those actively involved in the software industry will find this comprehensive introduction to Scala and to object orientation and functional programming, invaluable.
Author(s): John Hunt (auth.)
Edition: 1
Publisher: Springer International Publishing
Year: 2014
Language: English
Pages: 494
Tags: Software Engineering/Programming and Operating Systems; Programming Techniques; Programming Languages, Compilers, Interpreters
Front Matter....Pages i-xviii
Introduction....Pages 1-5
Elements of Object Orientation....Pages 7-13
Why Object Orientation?....Pages 15-20
Constructing an Object Oriented System....Pages 21-32
Functional Programming....Pages 33-37
Scala Background....Pages 39-42
A Little Scala....Pages 43-58
Scala Building Blocks....Pages 59-62
Scala Classes....Pages 63-78
Scala Methods....Pages 79-92
Building a Class....Pages 93-103
Packages & Encapsulation....Pages 105-121
Classes, Inheritance and Abstraction....Pages 123-138
Objects and Instances....Pages 139-145
Value Classes....Pages 147-150
Scala Constructs....Pages 151-161
Control and Iteration....Pages 163-177
Traits....Pages 179-189
Further Traits....Pages 191-200
Arrays....Pages 201-210
Tuples....Pages 211-215
Functional Programming in Scala....Pages 217-225
Higher Order Functions....Pages 227-232
Partially Applied Functions and Currying....Pages 233-240
Scala Collections Framework....Pages 241-246
Immutable Lists and Maps....Pages 247-259
Immutable and Mutable Collection Packages....Pages 261-270
Type Parameterization....Pages 271-278
Further Language Constructs....Pages 279-295
Exception Handling....Pages 297-310
Scala and JDBC Database Access....Pages 311-333
Scala Style Database Access....Pages 335-339
Scala and MySQL Database Example....Pages 341-357
Testing....Pages 359-364
Scala Testing....Pages 365-382
Introduction to Akka Actors....Pages 383-398
Further Akka Actors....Pages 399-412
Play Framework....Pages 413-428
RESTful Services....Pages 429-441
GUIs in Scala Swing....Pages 443-454
User Input in Scala Swing....Pages 455-464
Scala Build Tools....Pages 465-477
Scala & Java Interoperability....Pages 479-494