Scala is an exciting, modern, multi-paradigm language for the JVM. You can use it to write traditional, imperative, object-oriented code. But you can also leverage its higher level of abstraction to take full advantage of modern, multicore systems. Programming Scala will show you how to use this powerful functional programming language to create highly scalable, highly concurrent applications on the Java Platform.

Buy Now

Select a DRM-free Format:

In Stock
In Stock
In Stock
Buy the eBook and get these DRM-free formats delivered immediately:
  • epub (for iPhone/iPad, Android, eReaders)
  • mobi (for Kindle)
  • PDF
We can automatically send them to your Kindle or Dropbox, and for a social reading experience we can link the book to your Readmill account. (You'll need to log in to enable these options.)
 

About this Book

  • 250 pages
  • Published:
  • Release: P1.0 (2009-07-07)
  • ISBN: 978-1-93435-631-9

The increasing popularity and availability of multicore processors is creating a whole new set of challenges—although you can enjoy true concurrency, you’re now faced with higher contention and synchronization issues. Deploying an existing application on a multicore processor may bring out previously hidden concurrency issues. Java’s multi-threading facility by itself isn’t enough—-it’s a very low level abstraction. Instead, you need a paradigm that provides a higher level of abstraction to deal with concurrency. It’s time to embrace Functional Programming.

Scala is a hybrid Object-Oriented/Functional Programming language on the JVM. Using Scala, you can create traditional imperative programs, intermix them with Java code, and at the same time take advantage of higher levels of abstraction. You can use features that lead to concise, highly expressive code that remove the pain of dealing with concurrency.

Programming Scala will show you the fundamentals of functional programming using Scala. Very quickly, you’ll learn how this statically typed language can give you dynamic capabilities to create concise, scalable, highly capable concurrent code.

Pragmatic programmers always use the right tool for the job. For concurrent programming on the Java VM, Scala is the tool, and Programming Scala by award-winning author Venkat Subramaniam is your guide.

Contents and Extracts

Full Table of Contents

  • Introduction
  • Getting Started
  • Getting up to speed in Scala excerpt
  • Classes in Scala
  • Sensible Typing excerpt
  • Function Values and Closures
  • Traits and Type Conversions excerpt
  • Using Collections
  • Pattern Matching and Regular Expressions
  • Concurrent Programming
  • Intermixing with Java
  • Unit Testing With Scala
  • Exception Handling
  • Using Scala
  • Web Resources

About the Author

Venkat Subramaniam, founder of Agile Developer, Inc., has trained and mentored thousands of software developers in the US, Canada, Europe, and Asia. Venkat helps his clients effectively apply and succeed with agile practices on their software projects. He is a frequently invited speaker at international software conferences and user groups.

He’s author of .NET Gotchas (O’Reilly), coauthor of the 2007 Jolt Productivity award-winning book Practices of an Agile Developer (Pragmatic Bookshelf), and author of Programming Groovy (Pragmatic Bookshelf).

Upcoming Author Events

  • 2013-01-08: Venkat Subramaniam
    Integrating Groovy and Java (Boulder JUG)
  • 2013-01-09: Venkat Subramaniam
    "Integrating Groovy and Java" and "Design Patterns in Modern JVM Languages" (Denver JUG)
  • 2013-01-15: Venkat Subramaniam
    Scala for the Intrigued (Atlanta JUG)
  • 2013-02-04: Venkat Subramaniam
    Workshops and talks on Functional Programming and JVM related languages. (JFokus - Sweden)
  • 2013-02-18: Venkat Subramaniam
    Talks on Java 8 and also CoffeeScript. (DevNexus - Atlanta)
  • 2013-02-26: Venkat Subramaniam
    Workshop and talks on Agile technical practices. (Agile India - Bangalore)
  • 2013-03-04: Venkat Subramaniam
    An opportunity to hang out with fellow speakers. (SpeakerConf - Aruba)
  • 2013-03-08: Venkat Subramaniam
    Talks on HTML 5 and JVM languages. (NFJS - Minneapolis, MN)
  • 2013-03-13: Venkat Subramaniam
    Various JVM languages related topics. (33degree - Warsaw, Poland)
  • 2013-04-04: Venkat Subramaniam
    JavaScript related topic (DenverJS - Denver, CO)
  • 2013-04-05: Venkat Subramaniam
    Talks on HTML 5 and JVM languages. (NFJS, NYC)
  • 2013-04-21: Venkat Subramaniam
    Talks on HTML 5 and JVM languages. (NFJS, Reston, VA)
  • 2013-05-03: Venkat Subramaniam
    Talks on JVM related languages (NFJS, Charlotte, NC)
  • 2013-05-07: Venkat Subramaniam
    Workshops and talks on various topics (Great Indian Developer Summit, Bangalore)
  • 2013-05-14: Venkat Subramaniam
    Scala for the Intrigued (JUG, San Francisco, CA)
  • 2013-05-17: Venkat Subramaniam
    Various topics related to JVM and HTML5 (NFJS, Dallas, TX)
  • 2013-05-22: Venkat Subramaniam
    Talks on various topics related to Groovy and the JVM. (GR8Conf, Copenhagen)
  • 2013-06-05: Venkat Subramaniam
    Various topics related to Java and architecture (Software Architecture Summit, Berlin)
  • 2013-06-12: Venkat Subramaniam
    Talks on various topics (NDC Oslo)
  • 2013-07-16: Venkat Subramaniam
    Workshops and talks on various topics. (ÜberConf)
  • 2014-02-24: Venkat Subramaniam
    Speaking about Groovy, Humane interfaces, Patterns. (DevNexus—Atlanta)
  • 2014-02-28: Venkat Subramaniam
    Speaking on various technologies including NoSql, Java 8, HTML 5, Reactive programming, JavaScript (NFJS—Boston)
  • 2014-03-07: Venkat Subramaniam
    Speaking on various technologies including NoSql, Java 8, HTML 5, Reactive programming, JavaScript (NFJS—Minneapolis)
  • 2014-04-22: Venkat Subramaniam
    Speaking about various languages and tools. (GIDS—Bangalore)