introduction to advanced scala - springpeople

10
© SpringPeople Software Private Limited, All Rights Reserved. © SpringPeople Software Private Limited, All Rights Reserved. Introduction to Advanced Scala

Upload: springpeople

Post on 13-Jul-2015

390 views

Category:

Education


2 download

TRANSCRIPT

Page 1: Introduction to Advanced Scala - SpringPeople

© SpringPeople Software Private Limited, All Rights Reserved.© SpringPeople Software Private Limited, All Rights Reserved.

Introduction to Advanced Scala

Page 2: Introduction to Advanced Scala - SpringPeople

© SpringPeople Software Private Limited, All Rights Reserved.

What is Scala?

Scala is an acronym for “Scalable Language”. Thismeans that Scala grows with you. You can playwith it by typing one-line expressions andobserving the results. But you can also rely on itfor large mission critical systems, as manycompanies, including Twitter, LinkedIn, or Inteldo.

Page 3: Introduction to Advanced Scala - SpringPeople

© SpringPeople Software Private Limited, All Rights Reserved.

Object-functional Programming Language

• Scala is a pure-bred object-oriented language. Conceptually,every value is an object and every operation is a method-call.The language supports advanced component architecturesthrough classes and traits.

• Even though its syntax is fairly conventional, Scala is also afull-blown functional language. It has everything you wouldexpect, including first-class functions, a library with efficientimmutable data structures, and a general preference ofimmutability over mutation.

Page 4: Introduction to Advanced Scala - SpringPeople

© SpringPeople Software Private Limited, All Rights Reserved.

What is type System?

• “A type system is a tractable syntactic method for proving the absence of certain program behaviors by classifying phrases according to the kinds of values they compute.“ – Benjamin Piercejeudi

Page 5: Introduction to Advanced Scala - SpringPeople

© SpringPeople Software Private Limited, All Rights Reserved.

What is Type?

• A Type defines a set of values a variable can posses and a set of functions that can be applied to these values.

• In Functional Languages like Scala, a Function is also a Type that can be assigned to a variable.

Page 6: Introduction to Advanced Scala - SpringPeople

© SpringPeople Software Private Limited, All Rights Reserved.

Internal DSLs in Scala

• Domain-Specific Language” A Domain-Specific Language is a programming language or executable specification language that offers, through appropriate notations and abstractions, expressive power focused on, and usually restricted to, a particular problem domain.

• Examples of DSLs :

• HTML

• Verilog and VHDL hardware description languages

• Mata for matrix programming

• Mathematica and Maxima for symbolic mathematics

• Spreadsheet formulas and macros

Page 7: Introduction to Advanced Scala - SpringPeople

© SpringPeople Software Private Limited, All Rights Reserved.

Seamless Java Interop

• Scala runs on the JVM. Java and Scala classes can be freely mixed, no matter whether they reside in different projects or in the same. They can even mutually refer to each other, the Scala compiler contains a subset of a Java compiler to make sense of such recursive dependencies.

Page 8: Introduction to Advanced Scala - SpringPeople

© SpringPeople Software Private Limited, All Rights Reserved.

How you can master Scala Language?

Get TypeSafe certification.

World class Advanced Scala corporate training by the industry experts.

More Details

Page 9: Introduction to Advanced Scala - SpringPeople

© SpringPeople Software Private Limited, All Rights Reserved.

Suggested Audience & Other Details

• Suggested Audience - Developers, Architects

• Duration – 2 Days

• Prerequisites - A basic knowledge of Scala as covered in the Fast Track to Scala course with at least two months practical experience in developing with Scala.

Syllabus

Page 10: Introduction to Advanced Scala - SpringPeople

© SpringPeople Software Private Limited, All Rights Reserved.

For further info/assistance contact

[email protected]

+91 80 656 79700

www.springpeople.com

Our Partners