Freitag, 25. Mai 2012
Jetzt neu: Onlinezugriff auf das digitalisierte Archiv des Entwickler Magazins

Artikel

April 2010 | Artikel

Scala, oder: Was hat es mit dem Hype auf sich? Ein kurzer Überblick

(Link zum Artikel: http://www.entwickler-magazin.de///003053)

Neulich, im Meeting

Text: Heiko Seeberger
  • Teilen
  • kommentieren
  • empfehlen
  • Bookmark and Share
Scala entwächst der Hype-Phase und kommt in der Breite zur Anwendung, denn immer mehr Projekte und Firmen setzen auf Scala. Warum eigentlich? Darauf wollen wir in diesem Artikel antworten und auch gleich einen kurzen Einblick geben, wie Scala-Code aussieht.
Teil 1   Teil 2   

Eine beinahe wahre Geschichte: Martin ist ein leidenschaftlicher Softwareentwickler. Die letzten Jahre hat er beruflich mit Java zugebracht, aber in so mancher langen Nacht beschäftigt er sich mit anderen Programmiersprachen. Weil er die Java Virtual Machine für eine großartige Sache hält, gilt seine Aufmerksamkeit vor allem JVM-Sprachen, die in letzter Zeit wie Pilze aus dem Boden schießen, also Groovy, JRuby, Clojure und natürlich Scala. Er kann allen etwas abgewinnen, schließlich kann man immer und überall etwas dazulernen, aber sein Favorit ist ganz klar Scala. Eines Tages in einer Teamsitzung versucht er seine Kollegen sowie seinen Chef Helmut davon zu überzeugen, das nächste Projekt doch einmal mit Scala zu versuchen.

Scala ist reif

Helmut, bekannt dafür, die Dinge gerne auszusitzen, und immer noch gestresst vom gerade erst abgeschlossenen Umstieg von Java 1.4 auf Java 5: „Schon wieder etwas Neues? Kommt nicht in Frage, schließlich setzen wir nur reife Produkte ein. Und von wem kommt dieses Scala überhaupt?“ Martin: „Aber Scala ist doch reif! Es wird schon seit 2003 entwickelt und erscheint gerade in der Version 2.8. Dahinter steht kein geringerer als Martin Odersky, Professor an der EPFL in Lausanne und bekannte Java-Größe, der schon den JIT-Compiler und die Java-Generics entwickelt hat.“

Scala steigert Produktivität und Qualität

Dann versucht es Helmut eben mit dem BWL-Killer-Argument: „Welchen (finanziellen) Nutzen bringt uns denn Scala?“ Darauf ist Martin natürlich vorbereitet, denn er kennt seinen Chef und bei aller Liebe zum Spiel – Entwickler brauchen bekanntlich immer wieder ein neues Spielzeug – hält er Scala tatsächlich auch betriebswirtschaftlich für sinnvoll: „Mit Scala können wir nicht nur direkt Kosten sparen, weil wir effizienter Entwickeln können, sondern wir können auch die Qualität steigern. Wir sind effizienter bei der Entwicklung, weil wir viel weniger Code schreiben müssen, um dasselbe zu erreichen wie in Java. Darüber hinaus ist Scala so ausdrucksstark, dass wir Code viel schneller lesen und verstehen können. Und bekanntlich verbringen wir mehr Zeit damit, Code zu lesen, als zu schreiben. Wir können auch die Qualität steigern, weil Scala durch funktionale Programmierung das Testen einfacher macht und mächtige Libraries für schwierige Aufgaben bereit hält, z. B. die Actor-Library für Concurrency, bekanntlich ein sehr heikles Thema mit Java-Bordmitteln.“ Darauf fällt Helmut erst einmal nichts weiter ein, als die Sache an Guido zu delegieren, einen anderen Entwickler, der sich stets gegen neue Sprachen sträubt.

Scala ist knapp und präzise

Guido: „Ich bin mit Java nach wie vor zufrieden und halte die angeblichen Vorzüge von neuen Sprachen für übertrieben. Lass doch mal sehen!“

Danke für die Steilvorlage!“ denkt sich Martin: „Nimm einfach einmal eine typische JavaBean, z. B. für eine Person. Hier kommt der Java-Code:“

  1. public class Person {
  2. private final String firstName;
  3. private final String lastName;
  4. public Person(String firstName, String lastName) {
  5. this.firstName = firstName;
  6. this.lastName = lastName;
  7. }
  8. public String getFirstName() {
  9. return firstName;
  10. }
  11. public String getLastName() {
  12. return lastName;
  13. }
  14. }

„Viel Holz für eine einfache Person mit Vor- und Nachnamen, oder? Hier kommt der Scala-Code, der absolut äquivalent ist“: class person(val firstName: String, val lastName: String). „Nur eine Zeile statt zehn oder mehr. Selbst wenn moderne IDEs den meisten Java-Code, z. B. die Getter-Methoden, generieren können, schreibt man den Scala-Code schneller hin. Und vor allem erkennt man auf einen Blick, wozu der Code dient.“

Teil 1   Teil 2   

Kommentare