Scala Programming
Overview
This training program on Scala is planned to address the challenges in Java. This Scala programming is a general-purpose programming language which is used for Functional Programming.4 Days
Pre-Requisites
Participants must have strong Java developing knowledge
Course Outline
- History of the Java platform to date
- Distinguishing between the Java language and its platform
- Tuff points when using Java for software development
- What is the Possible criteria for an improved version of Java
- How and why the Scala language was created
- Everything is an object
- Class declarations
- Data typing
- Operators and methods
- Pattern matching
- Functions
- Anonymous and nested functions
- Traits
- Built in types, literals and operators
- Testing for equality of state and reference
- Conditionals, simple matching and external iteration
- Working with arrays ,lists, sets & maps
- Throwing and catching exceptions
- Adding annotations to your code
- Using standard Java libraries
- Built in types, literals and operators
- Testing for equality of state and reference
- Conditionals, simple matching and external iteration
- Working with lists, arrays, sets and maps
- Throwing and catching exceptions
- Adding annotations to your code
- Using standard Java libraries
- A minimal class declaration
- Understanding primary constructors
- Specifying alternative constructors
- Declaring and overriding methods
- Creating base classes and class hierarchies
- Creating the traits and mixing them into the classes
- How a Scala inheritance tree is linearized?
- Advanced uses of for expressions
- Understanding function values and closures
- Using closures to create internal iterators
- Creating and using higher order functions
- Practical examples of higher order functions
- Currying and partially applied functions
- Creating your own Domain Specific Languages(DSL’s)
- Using the match keyword to return a value
- Using case classes for pattern matching
- Adding pattern guards to match conditions
- Partially specifying matches with wildcards
- Deep matching using case constructors
- Matching against collections of items
- Using extractors instead of case classes
- Writing standard JUnit tests in Scala
- Conventional TDD using the Scala Test tool
- Behaviour Driven Development using Scala Test
- Using functional concepts in TDD
- Working with XML literals in code
- Embedding XPath like expressions
- Using Pattern Matching to process XML data
- Serializing & deserializing to and from XML
- Issues with conventional approaches to multi-threading
- How an actor-based approach helps participants to write thread-safe code
- Participants will know the Scala architecture for creating the actor-based systems
- Different coding styles which is supported by the actor model
