Changes for page WebObjects with Scala

Last modified by Ravi Mendis on 2011/05/10 02:10

From version 480.1
edited by Ravi Mendis
on 2010/12/23 23:54
Change comment: There is no comment for this version
To version 483.1
edited by Ravi Mendis
on 2010/12/24 00:05
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,6 +1,6 @@
1 1  === What is Scala? ===
2 2  
3 -[[Scala>>http://en.wikipedia.org/wiki/Scala_(programming_language)]] is a JVM language that is a hybrid of Object-Oriented and Functional styles. Its [[functional language>>http://en.wikipedia.org/wiki/Functional_programming]] foundations and built-in Actors library makes it especially attractive for concurrent computing. In this day and age of multi-core processors concurrent computing can not be ignored.
3 +[[Scala>>http://en.wikipedia.org/wiki/Scala_(programming_language)]] is a modern, multi-paradigm JVM language that is most often compared to Groovy, Clojure or Erlang. Its [[functional language>>http://en.wikipedia.org/wiki/Functional_programming]] foundations and built-in Actors library makes it especially attractive for concurrent computing. In this day and age of multi-core processors concurrent computing can not be ignored.
4 4  
5 5  Many of Scala's features have been designed with concurrency in mind, some of which may not be unfamiliar to Objective-C or WebObjects developers. Here's a summary:
6 6  
... ... @@ -44,9 +44,10 @@
44 44  
45 45  === Thread-Safe Shared Vars ===
46 46  
47 -Scala doesn't have static variables or methods. Instead Scala employs the [[Singleton Pattern>>http://en.wikipedia.org/wiki/Singleton_pattern]] which is built into the language and is **thread-safe**: a class can have a //Companion Object// that will allow you to achieve something equivalent to static variables - but better. This is not however true for mutable ##val## e.g: ##NSMutableArray##, ##scala.collection.mutable.ListBuffer##
47 +Scala doesn't have static variables or methods. Instead Scala employs the [[Singleton Pattern>>http://en.wikipedia.org/wiki/Singleton_pattern]] which is built into the language and is **thread-safe**: a class can have a //Companion Object// that will allow you to achieve something equivalent to static variables - but better.
48 48  
49 49  You don't have to worry about synchronizing access to shared mutable fields in a concurrent application.
50 +This is not however true for mutable ##val## e.g: ##NSMutableArray##, ##scala.collection.mutable.ListBuffer## which you will have to synchronize the adding to or removing from.
50 50  
51 51  The following is an example of the use of a //Companion Object// for Talent in Scala instead of Talent static fields in Java.
52 52