Er Scala klar for mainstream?

Er Scala klar for mainstream?

FAGTANKEN: Vellykkede internett-fenomener som Twitter, Linkedin og 4square tenker nytt innen teknologivalg.

Nye databasevarianter, nye meldingssystemer, Javascriptdominerte brukergrensesnitt og ikke minst nye programmeringsspråk som Scala.

Hvorfor skal bare de få nyte godt av høyere utviklerproduktivitet, mindre feil og lykkeligere utviklere? Hvorfor skal ikke din bedrift også kunne skrive kode som skalerer på moderne prosessorer?

Java som programmeringsspråk har stått stille lenge. Oracle har signalisert at det vil komme en ny versjon hvert andre år, så det er lite som tyder på at programmeringsspråket Java kommer til å øke innovasjonstakten fremover. I tillegg har funksjonalitet som var planlagt for Java 8 blitt utsatt ytterligere. Java er et konservativt programmeringsspråk, der det ikke er rom for store endringer. Dette har fått de mer fremoverlente utviklermiljøene til å se på alternative språk.

Enkelte av disse språkene har etter hvert blitt stabile, de har fått egne fagmiljøer og dedikerte konferanser og er nå klare for å bli tatt i bruk av de mer etablerte miljøene.

Vi jobber i et lite konsulentfirma med lang fartstid innenfor Java-plattformen. De siste årene har mye av fokuset vårt vært på alternative språk og flere store prosjekter har blitt gjennomført med Scala. Som med all ny teknologi må man regne med en innkjøringsperiode, men vi ser at investeringen gir avkastning etter tre til seks måneder.

Scala er et språk som kompilerer ned til bytekode – akkurat som Java. Dette betyr at ny kode skrevet i Scala kan kjøre på eksisterende infrastruktur. Det gjør også at man kan bruke Java og Scala om hverandre. Kode skrevet i Java kan kalles fra Scala og omvendt. Med andre ord kan du fortsette å bruke det rike utvalget av åpen kildekode og rammeverk skrevet i Java. At Scala også kjører på JVM-en gjør at man beholder fordelene av å kjøre på en dønn stabil, kjent og sikker infrastruktur. Med andre ord, å gå fra Scala til Java er ikke risikabelt, du kan kjøre det på eksisterende servere og du trenger ikke skrive om alt du har. Du vil fortsatt få utbytte av investeringer du har gjort det siste tiåret.

Mindre feil, høyere produktivitet, lykkeligere utviklere, testere og prosjektledere

Som programmeringsspråk har Scala en rekke fordeler for både utviklere og bedriften. Scala er funksjonelt, objektorientert og statisk typet. Dette gjør at veldig mange av de vanlige feilene utviklere gjør vil bli fanget opp av kompilatoren. Samme hvor rigide regler man har vil testdekning aldri bli i nærheten av 100 prosent, å tro det er naivt. Ingen utviklere synes det er gøy å skrive tester. Da er det godt å vite at man har et programmeringsspråk som avdekker mange vanlige feil i kompilatoren, slik at test kan fokusere på å avdekke funksjonelle feil og i mindre grad utviklerslurv.

Hva med Java 8? Java 8 ser ut til å bli en like god forbedring av språket som Java 7 var. Java 7 kom med nye egenskaper som "switching" på strenger, "multi catch", man kan skrive binære tall og ikke minst ARM (Automatic Resource Management). I Java 8 kommer (med mindre Oracle bestemmer seg for noe annet) støtten for lambda-utrykk, tett integrasjon med JavaFX og kanskje noe mere fra "Project Coin".

Vi synes ærlig talt dette er en laber utvikling og mener Java ender opp med å kopiere ting som andre programmeringsspråk har funnet opp. Scala har allerede støtte for de egenskapene som er planlagt i Java 8 og 9, samtidig som du kan bruke språket i dag.

Tør du ta steget? I 2004 begynte bedrifter i Norge å etterlyse personer med kompetanse på Spring, Hibernate og Maven. Dette var rammeverkene som på den tiden utfordret det etablerte og fenget både utviklere og beslutningstakere. Vi tror Scala vil være det neste til å utfordre det etablerte, det neste paradigmeskiftet.

Akkurat som åpen kildekode virket skummelt for mange for noen år siden kan det å prøve et nytt programmeringsspråk virke skummelt. Spørsmålet er når du skal ta steget og prøve Scala, utviklerne er klare. Prøver ikke du noe nytt, vil de beste utviklerne dine forberedt på å gå til dem som vil.

Scala er et programmeringsspråk som fenger mange dyktige utviklere. Kjører din bedrift prosjekter med Scala er det stor sannsynlighet for at jobben med å rekruttere de utviklerne dere ønsker blir lettere. Utviklere med erfaring fra Scala er akkurat den typen du ønsker i din bedrift, fremoverlente utviklere som ikke lar Javas begrensninger stoppe dem. Og til slutt; ja, vi mener Scala er klar for mainstream.

Utvikling