Gateway Software Symposium
March 6 - 8, 2009 - St. Louis, MO
Senior Software Engineer at OCI
Tim Dalton was been developing with Java for recreation and professionally since 1997. Before coming to Object Computing, Tim worked for May Department Stores, MasterCard, and A.G. Edwards. Moving from a Systems Administrator position to C developer and then to Java development in the process.
Tim is interested in trends in software development and it always looking for the next "bronze bullet". Tim contributes to the software development community via his blog, http://compulsiontocode.blogspot.com, teaching for OCI, and presenting at the St. Lous Java User Group.
Scala is a programming language targeting the Java Virtual Machine that combines features of both functional and object-oriented languages. It is statically typed and compiles to Java byte code so existing Java libraries can be used by Scala code. There is a scripting interpreter available as well.
Significant Features: * Type inference. * Traits that are like Ruby mixins or Java interfaces that can include implementation. * Functions as objects which enables support for anonymous functions, higher-order functions, lambda expressions and closures. * Pattern matching constructs similar to functional languages like Erlang or Ocaml. * Support for Erlang style actors which provide a message passing mechanism between concurrent processes. * Built-in support for XML.
There are features of Scala that are being discussed/debated for inclusion in future versions of Java including type inference and function objects/closures.