Scala bietet für die openForce Webprojekte genau die richtigen Features um verteilte Systeme zu entwickeln, die auf mehreren Rechnern laufen. Genial bei Scala ist die Tatsache, dass es sich um eine objektorientiert funktionale Hybridsprache handelt. Durch diese Kombination kann man sich kurz und prägnant, passend zu den Anforderungen, ausdrücken. Zudem läuft Scala sehr ausgereift und performant auf der JVM.
Aus unternehmerischer Sicht bedeutet dies, dass ohne zusätzliche Investition in Hardware, die bestehende Java Infrastruktur weiterhin verwendet werden kann. Java Libraries sind kompatibel mit Scala. Das heißt, aus Scala Code heraus kann man Java Code aufrufen und mit gewissen Einschränkungen ist dies auch umgekehrt möglich. Belohnt wird man dabei neben hoher Programmiersicherheit (Stichwort: Secure Coding in Multiprozessor Systemen) auch mit einer kompakten Syntax.
Es hat sich in unseren Projekten gezeigt, dass wir deutlich weniger Code schreiben müssen, weil die Scala Sprache selbst moderne Konstrukte hat und man recht komplexe Probleme mit wenig Schreibarbeit lösen kann. Die Denkarbeit bleibt die selbe. Die Schreibarbeit ist allerdings deutlich geringer. Weniger Code bedingt auch weniger Fehler und somit eine höhere Entwicklerperformance.
Scala bietet zudem einen sanften Einstieg ins Thema ohne gleich auf die rein funktionale Lehre umzusteigen. Mit fortschreitendem Wissensaufbau nimmt der Anteil der objektorientierten Konstrukte ab und der der funktionalen Konstrukte zu.
Als Nachteil sehen wir den Paradigmenwechsel. Dieser benötigt sehr viel Lern- und Übungszeit, da die Syntax von Scala nicht immer leicht zu lesen ist. Sie enthält viele Kommandos und Sonderzeichen. Man ist recht schnell “dabei”, benötigt allerdings viel Erfahrung bis man die Vorteile von Scala ganz ausschöpfen kann.
Scala ist eine sehr lebendige Sprache und die Scala Community betreibt einen sehr hilfreichen Wissensaustausch. Zum Beispiel finden sich in Stack Overflow (dem „Wikipedia der Softwareentwickler“) qualitativ hochwertige Antworten und Lösungsvorschläge für individuelle Anforderungen.
Wir beobachten, dass besonders innovationsgetriebene Firmen gerne mit Scala entwickeln. So sind Finanzzentren wie London oder New York, die im Bereich Big Data arbeiten, richtige Scala-Hochburgen.
Im eher traditionellen Wien übernimmt die openForce hier eine Vorreiterrolle. Dass das Interesse in Wien an Scala steigt, sieht man bei den, von der openForce gesponserten und gut besuchten Meetups.