FOSDEM '09 is a free and non-commercial event organized by the community, for the community. Its goal is to provide Free and Open Source developers a place to meet.

Martin Odersky
Day Saturday
Room Chavanne
Start time 16:00
End time 17:00
Duration 01:00
Event type Podium
Track Development and Languages
Language English
Scala - A Scalable Language

In this talk I'll describe the design principles of the Scala programming language, which has scalability as its primary design objective.

Today's software landscape resembles increasingly a tower of Babel: Systems are built using many different languages, combining server-side and client-side languages, scripting and systems programming languages, general and domain specific languages, all glued together with a hefty amount of XML. The advantage of this approach is that each individual language can be tailored to a specific application domain. Its disadvantage is that the necessary amount of cross-language glue can make applications cumbersome to write, deploy, and maintain.

An alternative is offered by scalable languages, which can be used for many different applications, ranging from small scripts to very large systems. An important aspect of a scalable language is that it itself is extensible and malleable. It should be possible to define very high-level libraries in it, which act in effect as specialized domain specific languages. The advantages of this approach is that it leads to more regular system designs, gives better static checking, makes applications easier to deploy, and increases their reliability.

In this talk I'll describe the design principles of the Scala programming language, which has scalability as its primary design objective. Scala combines lightweight syntax with strong static checking on a Java-compatible platform. It encourages the embedding of domain-specific languages as high-level libraries. I discuss how Scala affects systems design and discuss its suitability for large scale industrial deployment.

Other events at the same time:

When Event Track Where
15:15-17:15 Extensions in Java – do it yourself AW1.126
15:30-16:15 Putting Cross Development Support into OBS openSUSE H.2214
15:45-16:15 KDE Group Photo KDE H.1301
15:45-16:15 Group Picture GNOME H.1302
16:00-17:30 LPI exam session 2 LPI Certification Guillissen
16:00-17:00 Ada in Debian Ada AW1.124
16:00-16:15 Dynamic deployment with Apache Felix Lightning Talks Ferrer
16:00-17:00 Func, Symbolic: Present and future Fedora+CentOS H.2213
16:00-17:00 Nouveau Status Update H.1309
16:00-16:30 Jalimo: Cross-compiling OpenJDK using IcedTea and OpenEmbedded Free Java AW1.125
16:00-16:30 Personal Media Networks Jabber+XMPP AW1.120
16:00-17:00 The Debian status quo on the Openmoko Neo Freerunner Debian AW1.121
16:00-17:00 Web Services in Objective-C GNUstep+OpenGroupware+Etoile AW1.117
16:00-17:00 10 cool things about Exherbo Distributions Janson
16:00-17:00 Hacking with modular hardware: the BUG Embedded Lameere
16:00-17:00 OLAP/Windowing functions BSD+PostgreSQL UA2.114
16:00-16:45 Mozilla Community Sites Project Mozilla H.1308
16:15-17:00 Sharing the burden - doubling the joy KDE H.1301
16:15-17:00 Bringing geolocation into GNOME GNOME H.1302
16:15-16:30 Opsview: Network monitoring made easy Lightning Talks Ferrer
16:15-17:00 Create your own Linux Distribution openSUSE H.2214
16:30-16:45 Marionnet: networking for dummies Lightning Talks Ferrer
16:30-17:00 Large-Scale XMPP Deployments Jabber+XMPP AW1.120
16:45-17:15 How to port a Java GUI backend to a new platform using Caciocavallo Free Java AW1.125
16:45-17:30 Community and Design Mozilla H.1308