What is Scala?
Scala is a general purpose programming language principally targeting the Java Virtual Machine. Designed to express common programming patterns in a concise, elegant, and type-safe way,
it fuses both imperative and functional programming styles.
It smoothly integrates features of object-oriented and functional languages, enabling Java and other programmers to be more productive.
Its key features are: statically typed; advanced type-system with type inference; function types; pattern-matching; implicit parameters and conversions; operator overloading; full interop with Java
Where to download it from? http://www.scala-lang.org/
Scala on Cloud: Heroku the popular cloud service provider is supporting the Scala.
Key Features:
- Statically typed
- Advanced type-system with type inference and declaration-site variance
- Function types (including anonymous) which support closures
- Pattern-matching
- Implicit parameters and conversions which support the typeclass and pimp my library patterns
- Mixin composition
- Full interop with Java
Scala Video Tutorials:
Understanding Scala and It’s Importance:
Your First Application in Scala using Eclipse:
:
Scala Tutorial from Stackoverflow:
- Introduction to Scala
- Variables/values
- Methods
- Equal sign in methods
- Operator notation and the rules
- Leave parentheses in method calls
- Unary operators
- Multiple parameter lists
- Right-associative method names
- Side effect free methods
- Missing parentheses at methods
- Why no i++ in Scala?
- How to mix punctuation with alphanumeric characters in method names?
- Shortcut methods (
+=,-=,*=, ...) - List of "magic method" names (apply, unapply/unapplySeq, update)
- Named arguments / optional parameters
- Type inference in return type
- Literals, statements and blocks
- Difference between block and statement
- Weak conformance
- Symbols
- Difference between braces and parentheses
- Dereference keyword (backtick usage)
- Local definitions
- Loops/recursion
- Data structures / Collections
- Collections design tutorial
- Immutable Collections
- Mutable Collections
- Lazy Collections
- Parallel Collections
- Conversions
- Memory footprint
- How are Scala collections able to return the correct collection type from an operation?
- For-comprehension
- Enumeration
- Pattern-matching
- Explanation
- Value binding (
x @ X) / type binding (x: X) - How to do a multi-match
- Guards
- How to match variables or values?
- How is pattern match implemented under the hood?
- Exhaustive pattern
- Assignment via pattern
- Pattern match in for-expressions
- Ignore cases / no default value
- Conjunction
- Pattern match PartialFunctions
- Match Regex
- Classes, objects and types
- Packages, imports and visibility identifiers
- Imports
- Multiple imports / import renames / hide imports
- Local imports
- Packages
- Visibility
- Explanation
- Private constructors
- Private variables
- Imports
- Inheritance
- Explanation
- Early initializer
- Extractors
- Explanation (Example: conjunctions)
- Infix notation for type parameters (
X[A, B]=>A X B)
- Case classes
- Parameterized types
- How to declare them?
- Upper / lower bounds
- Unify numerics
- How to get around type erasure?
- Abstract Types vs Generics
- Variances
- Traits
- Self references
- Error handling
- Exceptions
- Explanation
- Stand-alone try block
- Ignore an exception
- Option
- Either
- What to use?
- Exceptions
- Type handling
- Annotations
- Functions/Function literals
- Type safety
- Implicits
- Pimp-my-library pattern
- Actors
- Use Java from Scala and vice versa
- XML literals
- Explanation
- Scala Swing
- Explanation
- Examples
- Type Programming
- Functional Scala
Further learning
- Learning Resources
- Operator precedence
- Scala blogs to follow
- Scala style
Scala Slides and Videos:
- Overview
- Day 0 (Wednesday, June 1st)
- Day 1 (Thursday, June 2nd)
- 09:00 - 10:00
- 10:25 - 12:05
- 13:45 - 15:25
- 15:50 - 17:30
- Day 2 (Friday, June 3rd)
Maybe you'll want to place a twitter icon to your website. I just marked down this url, although I had to make it by hand. Just my advice.
ReplyDeleteMy blog:
rachat emprunt ou rachat credit
[...] has done a really great job to prepare and present them in a good format. One of them is about Scala. You may check it out [...]
ReplyDelete