- 560 pages
- English
- ePUB (mobile friendly)
- Available on iOS & Android
Get Programming with Scala
About This Book
The perfect starting point for your journey into Scala and functional programming. Summary
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 smellsScala 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.Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.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 smellsAbout 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.Table of ContentsUnit 0 HELLO SCALA!
Unit 1 THE BASICS
Unit 2 OBJECT-ORIENTED FUNDAMENTALS
Unit 3 HTTP SERVER
Unit 4 IMMUTABLE DATA AND STRUCTURES
Unit 5 LIST
Unit 6 OTHER COLLECTIONS AND ERROR HANDLING
Unit 7 CONCURRENCY
Unit 8 JSON (DE)SERIALIZATION
Frequently asked questions
Information
1 Why Scala?
- Discuss the advantages of adopting Scala
- Describe the execution flow of a typical Scala program
- Define the key features of the Scala language
1.1 Why Scala?
1.2 Scala and the JVM
*.class
. When coding in Java, you save your source files with extension *.java
and use the compiler javac
to prod...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