Skip to main content
  • Book
  • © 2022

Beginning Scala 3

A Functional and Object-Oriented Java Language

Apress
  • One of the first tutorials on Scala 3 programming language
  • Covers functional programming with this Java-based scripting language
  • Download source code at https://github.com/Apress/beg-scala3

Buy it now

Buying options

eBook USD 49.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book USD 64.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Other ways to access

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

Table of contents (14 chapters)

  1. Front Matter

    Pages i-xxii
  2. Getting Started with Scala

    • David Pollak, Vishal Layka, Andres Sacco
    Pages 1-20
  3. Basics of Scala

    • David Pollak, Vishal Layka, Andres Sacco
    Pages 21-50
  4. Object-Oriented Modeling

    • David Pollak, Vishal Layka, Andres Sacco
    Pages 51-77
  5. Functional Programming

    • David Pollak, Vishal Layka, Andres Sacco
    Pages 79-109
  6. Pattern Matching

    • David Pollak, Vishal Layka, Andres Sacco
    Pages 111-134
  7. Scala Collections

    • David Pollak, Vishal Layka, Andres Sacco
    Pages 135-171
  8. Traits and Enums

    • David Pollak, Vishal Layka, Andres Sacco
    Pages 173-195
  9. Scala Type System

    • David Pollak, Vishal Layka, Andres Sacco
    Pages 197-217
  10. Scala and Java Interoperability

    • David Pollak, Vishal Layka, Andres Sacco
    Pages 219-236
  11. DSL and Parser Combinator

    • David Pollak, Vishal Layka, Andres Sacco
    Pages 237-245
  12. Simple Build Tool

    • David Pollak, Vishal Layka, Andres Sacco
    Pages 247-261
  13. Creating Web Applications

    • David Pollak, Vishal Layka, Andres Sacco
    Pages 263-285
  14. Testing Your Code

    • David Pollak, Vishal Layka, Andres Sacco
    Pages 287-299
  15. Scala Best Practices

    • David Pollak, Vishal Layka, Andres Sacco
    Pages 301-314
  16. Back Matter

    Pages 315-321

About this book

Learn the latest version of Scala through simple, practical examples. This book introduces you to the Scala programming language, its object-oriented and functional programming characteristics, and then guides you through Scala constructs and libraries that allow you to assemble small components into high-performance, scalable systems.

Beginning Scala 3 explores new Scala 3 language features such as Top-level declarations, Creator applications, Extension methods to add extra functionality to existing types, and Enums. You will also learn new ways to manipulate types via Union types, intersection, literal, and opaque type aliases. Additionally, you’ll see how Implicits are replaced by given and using clauses.

After reading this book, you will understand why Scala is judiciously used for critical business applications by leading companies such as Twitter, LinkedIn, Foursquare, the Guardian, Morgan Stanley, Credit Suisse, UBS, and HSBC – and you will be able to use it in your own projects.

What You Will Learn

  • Get started with Scala 3 or Scala language programming in general
  • Understand how to utilitze OOP in Scala
  • Perform functional programming in Scala
  • Master the use of Scala collections, traits and implicits
  • Leverage Java and Scala interopability
  • Employ Scala for DSL programming
  • Use patterns and best practices in Scala

Who This Book Is For

Those with a background in Java and/or Kotlin who are new to Scala.  This book is also for those with some prior Scala experience who want to learn Scala version 3. 


Authors and Affiliations

  • San Francisco, USA

    David Pollak

  • Bruxelles, Belgium

    Vishal Layka

  • Ciudad Autonoma de Buenos Aires, Argentina

    Andres Sacco

About the authors

David Pollak has been writing commercial software since 1977. He wrote the award-winning Mesa spreadsheet, which in 1992 was the first real-time spreadsheet. Wall Street companies traded billions of dollars a day through Mesa. In 1996, David sold his company to CMP Media and became CTO of CMP Media's NetGuide Live and was one of the first large-scale users of Java and WebLogic to power an Internet site. In 1998, David released Integer, the world's first browser-accessible, multiuser spreadsheet. Since 2000, David has been consulting for companies including Hewlett-Packard, Pretzel Logic/WebGain, BankServ, Twitter, and SAP. David has been using Scala since 2006 and is the lead developer of the Lift Web framework.



Vishal Layka is the chief technology officer of Star Protocol. He is involved in the architecture, design, and implementation of distributed business systems, and his focus is on consulting and training with the JVM languages. Hislanguage proficiencies include Java, Groovy, Scala, and Haskell. Vishal is also the lead author of Beginning Groovy, Grails, and Griffon (Apress, 2012). When he needs a break from technology, Vishal reads eclectically from calculus to star formation.


Andres Sacco has been a professional developer since 2007, working with a variety of languages, including Java, Scala, PHP, NodeJs, and Kotlin. Most of his background is in Java and the libraries or frameworks associated with it, but since 2016, he has utilized Scala as well, depending on the situation. He is focused on researching new technologies to improve the performance, stability, and quality of the applications he develops. 



Bibliographic Information

Buy it now

Buying options

eBook USD 49.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book USD 64.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Other ways to access