Useful Links
Computer Science
Programming
By Language
Scala Programming
1. Introduction to Scala
2. Scala Language Fundamentals
3. Object-Oriented Programming in Scala
4. Functional Programming in Scala
5. The Scala Collections Library
6. Advanced Language Features
7. Concurrency and Parallelism
8. Tooling and Ecosystem
9. Advanced Topics
10. Practical Applications
11. Best Practices and Idioms
Tooling and Ecosystem
sbt in Depth
Project Structure and Configuration
Managing Dependencies
Adding and Updating Dependencies
Dependency Resolution
Version Conflicts
Scopes
Compile
Test
Runtime
Provided
Common Tasks and Commands
Compiling
Running
Testing
Cleaning
Packaging
Writing Custom Tasks
sbt Plugins
Installing Plugins
Popular sbt Plugins
Multi-Project Builds
Publishing Artifacts
Testing Frameworks
ScalaTest
Writing Test Suites
Test Styles
FunSuite
FlatSpec
WordSpec
FreeSpec
Assertions and Matchers
Running Tests
Test Fixtures
Specs2
Writing Specifications
Matchers and Assertions
Running Specs2 Tests
Property-Based Testing with ScalaCheck
Generators
Shrinking
Documentation Tools
Scaladoc
Writing Documentation Comments
Generating Documentation
API Documentation Best Practices
Interoperability with Java
Using Java Libraries in Scala
Importing Java Classes
Handling Java Collections
Java Generics and Wildcards
Calling Scala Code from Java
Compiling for Java Interoperability
Access Modifiers and Compatibility
Scala Features and Java Limitations
Scala-Java Collection Conversions
JavaConverters
Best Practices for Interoperability
Handling Java Exceptions
Working with Java Annotations
Previous
7. Concurrency and Parallelism
Go to top
Next
9. Advanced Topics