Skip to main content
  • Textbook
  • Aug 2014

A Beginner's Guide to Scala, Object Orientation and Functional Programming

Authors:

  • Unlike other books currently on the market this title does not assume that the reader is already proficient in an object-oriented language such as Java

  • All examples are complete and can be downloaded and executed by the reader

  • As well as introducing Scala, object-oriented and functional programming the book also covers web frameworks for Scala such as Play, Scala Swing, database access, build systems for Scala and the Akka concurrency framework

  • Includes supplementary material: sn.pub/extras

  • 155k Accesses

This is a preview of subscription content, log in via an institution to check for access.

Table of contents (43 chapters)

  1. Front Matter

    Pages i-xviii
  2. Introduction

    • John Hunt
    Pages 1-5
  3. Elements of Object Orientation

    • John Hunt
    Pages 7-13
  4. Why Object Orientation?

    • John Hunt
    Pages 15-20
  5. Functional Programming

    • John Hunt
    Pages 33-37
  6. Scala Background

    • John Hunt
    Pages 39-42
  7. A Little Scala

    • John Hunt
    Pages 43-58
  8. Scala Building Blocks

    • John Hunt
    Pages 59-62
  9. Scala Classes

    • John Hunt
    Pages 63-78
  10. Scala Methods

    • John Hunt
    Pages 79-92
  11. Building a Class

    • John Hunt
    Pages 93-103
  12. Packages & Encapsulation

    • John Hunt
    Pages 105-121
  13. Classes, Inheritance and Abstraction

    • John Hunt
    Pages 123-138
  14. Objects and Instances

    • John Hunt
    Pages 139-145
  15. Value Classes

    • John Hunt
    Pages 147-150
  16. Scala Constructs

    • John Hunt
    Pages 151-161
  17. Control and Iteration

    • John Hunt
    Pages 163-177
  18. Traits

    • John Hunt
    Pages 179-189
  19. Further Traits

    • John Hunt
    Pages 191-200

About this book

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.

Reviews

From the book reviews:

“It is a guide to a new programming language, Scala, that is written to serve the needs of advanced students or skilled software developers who wish to learn to use Scala to its fullest extent. … presents Scala in a stepwise manner in 43 well-focused and well-organized chapters. … The chapters contain numerous code examples, encouraging readers to play with the examples and learn by experiencing the language. … Summing Up: Recommended. Upper-division undergraduates through professionals/practitioners; two-year technical program students.” (J. Beidler, Choice, Vol. 52 (7), March, 2015)

Authors and Affiliations

  • Midmarsh Technology Ltd, Bath, United Kingdom

    John Hunt

About the author

John Hunt is a technology trainer, consultant, mentor and author who has 30 years experience within the computing industry. He has worked extensively in Object Oriented technologies over the last 20 years, although his career began with writing LISP on a Symbolics Lisp Machine. He first encountered Scala in 2010 through an organization with which he was working. Since then he has been involved in several Scala projects and has worked with a number of teams on developing their Scala skills.

Bibliographic Information