Book description
The perfect starting point for your journey into Scala and functional programming.In Get Programming in Scala you will learn:
- Object-oriented principles in Scala
- Express program designs in functions
- Use types to enforce program requirements
- Use abstractions to avoid code duplication
- Write meaningful tests and recognize code smells
Scala is a multi-style programming language for the JVM that supports both object-oriented and functional programming. Master Scala, and you'll be well-equipped to match your programming approach to the type of problem you're dealing with. Packed with examples and exercises, Get Programming with Scala is the perfect starting point for developers with some OO knowledge who want to learn Scala and pick up a few FP skills along the way.
About the Technology
Scala developers are in high demand. This flexible language blends object-oriented and functional programming styles so you can write flexible, easy-to-maintain code. Because Scala runs on the JVM, your programs can interact seamlessly with Java libraries and tools. If you’re comfortable writing Java, this easy-to-read book will get you programming with Scala fast.
About the Book
Get Programming with Scala is a fast-paced introduction to the Scala language, covering both Scala 2 and Scala 3. You’ll learn through lessons, quizzes, and hands-on projects that bring your new skills to life. Clear explanations make Scala’s features and abstractions easy to understand. As you go, you’ll learn to write familiar object-oriented code in Scala and also discover the possibilities of functional programming.
What's Inside
- Apply object-oriented principles in Scala
- Learn the core concepts of functional programming
- Use types to enforce program requirements
- Use abstractions to avoid code duplication
- Write meaningful tests and recognize code smells
About the Reader
For developers who know an OOP language like Java, Python, or C#. No experience with Scala or functional programming required.
About the Author
Daniela Sfregola is a Senior Software Engineer and a Scala user since 2013. She is an active contributor to the Scala Community, a public speaker at Scala conferences and meetups, and a maintainer of open-source projects.
Quotes
This book is by far the best introduction to Scala that I have ever read.
- SCOTT DIERBECK, MINDUP
A refreshing approach to learning Scala!
- CHAD DAVIS, LUMEN TECHNOLOGIES, INC.
Simple and clear explanations with practical examples make this book a smart choice.
- DAN SHEIKH, BCG DIGITAL VENTURES
A pragmatic, clean, structured, concise, and practical book.
- RONALD TISCHLIAR, WWK LIVE INSURANCE
A well-paced introduction to Scala served up in compact palatable doses.
- GEORGE THOMAS, MANHATTAN ASSOCIATES
Publisher resources
Table of contents
- inside front cover
- Get Programming with Scala
- Copyright
- dedication
- Contents
- front matter
- Unit 0. Hello Scala!
- 1 Why Scala?
- 2 The Scala environment
- 3 Scala Build Tool (sbt)
- Unit 1. The Basics
- 4 Values and variables
- 5 Conditional constructs and loops
- 6 Function as the most fundamental block of code
- 7 Classes and subclasses to represent the world
- 8 The vending machine
- Unit 2. Object-oriented fundamentals
- 9 Import and create packages
- 10 Scope your code with access modifiers
- 11 Singleton objects
- 12 Traits as interfaces
- 13 What time is it?
- Unit 3. HTTP server
- 14 Pattern matching
- 15 Anonymous functions
- 16 Partial functions
- 17 HTTP API with http4s
- 18 The time HTTP server
- Unit 4. Immutable data and structures
- 19 Case classes to structure your data
- 20 Higher order functions
- 21 What is purity?
- 22 Option
- 23 Working with Option: map and flatMap
- 24 Working with Option: For-comprehension
- 25 Tuple and unapply
- 26 Rock, Paper, Scissors, Lizard, Spock!
- Unit 5. List
- 27 List
- 28 Working with List: map and flatMap
- 29 Working with List: Properties
- 30 Working with List: Element selection
- 31 Working with List: Filtering
- 32 Working with List: Sorting and other operations
- 33 The movies dataset
- Unit 6. Other collections and error handling
- 34 Set
- 35 Working with Set
- 36 Map
- 37 Working with Map
- 38 Either
- 39 Working with Either
- 40 Error handling with Try
- 41 The library application
- Unit 7. Concurrency
- 42 Implicit and type classes
- 43 Future
- 44 Working with Future: map and flatMap
- 45 Working with Future: For-comprehension and other operations
- 46 Database queries with Quill
- 47 The quiz application: Part 1
- Unit 8. JSON (de)serialization
- 48 JSON (de)serialization with circe
- 49 Lazy evaluation
- 50 The IO type
- 51 Working with the IO type
- 52 Testing with ScalaTest
- 53 The quiz application: Part 2
- Index
- inside back cover
Product information
- Title: Get Programming with Scala
- Author(s):
- Release date: September 2021
- Publisher(s): Manning Publications
- ISBN: 9781617295270
You might also like
book
Learn Scala Programming
" A step-by-step guide in building high-performance scalable applications with the latest features of Scala. Key …
book
Functional Programming in Scala
Functional Programming in Scala is a serious tutorial for programmers looking to learn FP and apply …
book
Functional Programming Patterns in Scala and Clojure
Solve real-life programming problems with a fraction of the code that pure object-oriented programming requires. Use …
book
Beginning Scala 3: A Functional and Object-Oriented Java Language
Learn the latest version of Scala through simple, practical examples. This book introduces you to the …