Scala
Scala, short for Scalable Language, is a hybrid functional programming language. It was created by Martin Odersky. Scala smoothly integrates the features of object-oriented and functional languages. Scala is compiled to run on the Java Virtual Machine. Many existing companies, who depend on Java for business critical applications, are turning to Scala to boost their development productivity, applications scalability and overall reliability.
Here we have presented a few points that makes Scala the first choice of application developers.
Scala is object-oriented
Scala is a pure object-oriented language in the sense that every value is an object. Types and behavior of objects are described by classes and traits which will be explained in subsequent chapters.
Classes are extended by subclassing and a flexible mixin-based composition mechanism as a clean replacement for multiple inheritance.
Scala is functional
Scala is also a functional language in the sense that every function is a value and every value is an object so ultimately every function is an object.
Scala provides a lightweight syntax for defining anonymous functions, it supports higher-order functions, it allows functions to be nested, and supports currying. These concepts will be explained in subsequent chapters.
Unit | Modules | Day (in hrs) |
Scala Basics | ||
1 | SBT, Scala IDE, Scala Basics, Introduction to Functional programming and Example – Hello World Program and How methods are written in scala; Installation and setup of Scala & sbt | 1.5 |
2 | Traits, Case classes, options, Pattern Matching | 1 |
3 | Collections- List, Sequence, Set, Maps, tuples, ArrayList; for comprehensions, foreach, Polymorphism – Overriding | 1.5 |
4 | flatmap, maps, futures, promises | 1 |
5 | Scala Basic & Recursion | 1 |
6 | Higher Order Functions and Partial functions | 1 |
Play | ||
1 | Play – Activator,Actions,Controllers,Routes | 1 |
2 | Asynchronous results,Futures and Promises,Manipultating Results,Body Parsers | 1 |
3 | JSON & XML Transformation (Reads/Writes object templating) | 1 |
4 | Using WebServices to invoke HTTP calls | 1 |
5 | Configuration – Ficus,logging,Dependency injection using Macwire | 1 |
6 | Unit test using scalatest for Play | 2 |
7 | Integration Test in Play | 1 |
8 | Assembling a Jar and library dependancies | 1 |
Akka |
1 | What are actors/actor model, designing actor systems | 1 |
2 | Message processing semantics,Routing strategies, Ask and Tell | 1 |
3 | Supervision strategy | 1 |
4 | Scheduling, Futures | 1 |
5 | Logging, Configuration, Event Bus | 1 |
6 | Common Design Patterns | 1 |
7 | Unit tests using scala tests | 2 |
8 | Assembling a Jar and library dependancies | 1 |
0 Comment