Changes for page WebObjects with Scala
Last modified by Ravi Mendis on 2011/05/10 02:10
From version 506.1
edited by Ravi Mendis
on 2010/12/24 01:00
on 2010/12/24 01:00
Change comment:
There is no comment for this version
To version 509.1
edited by Ravi Mendis
on 2010/12/24 01:42
on 2010/12/24 01:42
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,6 +1,6 @@ 1 1 === What is Scala? === 2 2 3 -[[Scala>>http://www.scala-lang.org/]] is a modern, multi-paradigm JVM language that is most often compared to [[Groovy>>http://en.wikipedia.org/wiki/Groovy_(programming_language)]], [[Clojure>>http://en.wikipedia.org/wiki/Clojure]] or [[Erlang>>http://en.wikipedia.org/wiki/Erlang_(programming_language)]]. Its [[functional language>>http://en.wikipedia.org/wiki/Functional_programming]] foundations and built-in Actors library make it especially attractive for concurrent computing. (Scala is an abbreviation for "scalable" hinting at its design goals). In this day and age of multi-core processors concurrent computing can not be ignored. 3 +[[Scala>>http://www.scala-lang.org/]] is a modern, multi-paradigm JVM language that is most often compared to [[Groovy>>http://en.wikipedia.org/wiki/Groovy_(programming_language)]], [[Clojure>>http://en.wikipedia.org/wiki/Clojure]] or [[Erlang>>http://en.wikipedia.org/wiki/Erlang_(programming_language)]]. Its [[functional language>>http://en.wikipedia.org/wiki/Functional_programming]] foundations and built-in [[Actors>>http://en.wikipedia.org/wiki/Actor_model]] library make it especially attractive for concurrent computing. (Scala is an abbreviation for "scalable" hinting at its design goals). In this day and age of multi-core processors concurrent computing can not be ignored. 4 4 5 5 Many of the design features of Scala have been chosen with concurrency in mind, some of which may not be unfamiliar to Objective-C or WebObjects developers. Here's a summary: 6 6 ... ... @@ -8,7 +8,7 @@ 8 8 |= Immutability | Partial - via collections //e.g: NSArray/NSMutableArray// | No | Yes 9 9 |= Closures | Yes - via Blocks (//Extension//) | No | Yes - via Anonymous Functions 10 10 |= Static variables | Yes | Yes | No 11 -|= Static methods or functions| Yes | Yes | No11 +|= Static methods | Yes | Yes | No 12 12 |= Concurrency | Yes - via [[Grand Central Dispatch>>http://en.wikipedia.org/wiki/Grand_Central_Dispatch]] (//Extension//) | //Yes - via Threads// | Yes - via [[Actors>>http://en.wikipedia.org/wiki/Actor_model]] 13 13 |= |= Weakly Typed |= --Strongly Typed-- |= Strongly Typed 14 14 ... ... @@ -16,7 +16,7 @@ 16 16 17 17 |= |= Objective-C |= Java |= Scala 18 18 |= Parametered methods | Yes //e.g: addObject: to~:// | No | Yes //e.g: add(object= ,to=)// 19 -|= Class composition | Categories | Interfaces | Traits 19 +|= Class composition | Yes - via Categories | Yes - via Interfaces | Yes - via [[Traits>>http://en.wikipedia.org/wiki/Trait_(computer_science)]] 20 20 21 21 === Why Use Scala? === 22 22