"If I were to pick a language to use today other than Java, it would be Scala."
-- James Gosling, creator of Java
David Pollak, Michael Galpin, and Bill Venners are going to tell us about Scala, a general purpose programming language designed to express common programming patterns in a concise, elegant, and type-safe way. It smoothly integrates features of object-oriented (think inheritance, methods, ...) and functional (think closures) languages. It is also fully interoperable with Java.
Oh, and Scala runs on the JVM and happens to be the brainchild of Martin Odersky, who is also credited with adding support for generics to Java 5. (When are they going to drop "J" from the JVM?) This is what you can expect from the gang of three:
- A brief history of Scala and the explanation of its structure and syntax
- An answer to "Why should I care about Scala?" with a side-to-side comparison of Java and Scala focusing on the syntax, programming style, concurrency, immutability, and performance of the two languages.
- OOP in Scala
- Functional programming in Scala
- A demonstration of how great Scala is for creating DSLs - using its XML and Actor libraries as examples.
Special thanks go to Aleksandar Gargenta, SF Java Meetup
Organizer, for helping us organize this meeting. We would also like to thank Google for providing the conference room and the refreshments. In particular, special thanks go to Googler Jeremy Manson.
is an engineer at eBay in its Architecture group. He has been working in software engineering and web development since 1998. He is also a freelance writer and has written for IBM developerWorks, TheServerSide.com, and the Java Developer's Journal. He is a regular on developerWorks and has written numerous articles including several on Scala. He has spoken at technical conferences such as EclipseCon, AjaxWorld, and EclipseWorld.
has been writing commercial software since 1977. He wrote the first real-time spreadsheet and the worlds highest performance spreadsheet engine.
Since 1996, David has been using and devising web development tools. As CTO of CMP Media, David oversaw the first large-scale deployment of WebLogic. David was CTO and VPE at Cenzic, a web application security company. David has also developed numerous commercial projects in Ruby on Rails.
In 2007, David founded the Lift Web Framework open source project. Lift is an expressive and elegant framework for writing web applications. Lift stresses the importance of security, maintainability, scalability and performance, while allowing for high levels of developer productivity. Lift open source software licensed under an Apache 2.0 license.
David is a consultant in San Francisco and works on Lift-based projects including Buy a Feature and ESME.
is president of Artima, Inc., publisher of Artima Developer
. He is author of the book, Inside the Java Virtual Machine
, a programmer-oriented survey of the Java platform's architecture and internals.
His popular columns in JavaWorld magazine covered Java internals, object-oriented design, and Jini. Active in the Jini Community since its inception, Bill led the Jini Community's ServiceUI project, whose ServiceUI API became the de facto standard way to associate user interfaces to Jini services.
Bill is also the lead developer and designer of ScalaTest, an open source testing tool for Scala and Java developers, and coauthor with Martin Odersky and Lex Spoon of the book, Programming in Scala.