The Busy Java Developer's Guide to Scala: Thinking
Scala is a new programming language incorporating the most important concepts of object-oriented and functional languages and running on top of the Java Virtual Machine as standard "dot-class" files. Sporting the usual object-oriented concepts as classes and inheritance, Scala also offers a number of powerful functional features, such as algebraic data types, immutable objects by default, pattern matching, closures, anonymous functions and currying, and more. Combined with some deep support for XML generation and consumption, Scala offers Java programmers an opportunity to write powerful programs with concise syntax for a new decade of Java programming.
In this presentation, we try to graduate "beyond" the syntax by tackling the hardest problem of learning a new language--thinking in that new language. After a brief high-level discussion of some of functional concepts and design ideas/idioms, we'll take a programming challenge, collectively examine how we can implement it in Scala, but instead of just trying to use the O-O approach, we'll try to "think functionally" as well and use all of Scala's features to come up with the most succinct, reusable code we can imagine. It's a deliberately open-ended group-oriented discussion, looking to bring everybody into a different mindset.
About Ted Neward
Ted Neward is an Architectural Consultant with Neudesic, LLC as well as the Principal with Neward & Associates. He speaks on the conference circuit discussing Java, .NET and XML service technologies, focusing on Java-.NET interoperability, programming languages, and virtual machine technologies. He has written several widely-recognized books in both the Java and .NET space, including the recently- released "Professional F#" and widely-acclaimed "Effective Enterprise Java". He lives in the Pacific Northwest.More About Ted »