Nya tekniktrender inkluderar alltid cykler med uppmärksamhet åt nya programmeringsspråk. Ett språk som verkar redo att fånga lite mer uppmärksamhet är Scala. Trots att det inte är populärt, verkar Scala få en del mark genom att ge ett glatt medium mellan Rubys synliga syntax och det robusta företagsstödet för Java. Här är några skäl till varför Scala kan vara värt ett andra utseende.
Den körs på Java Virtual Machine
Verkligheten med programmering för ett företag är att Java är ett populärt de facto-språk. Vidare kommer många större företag att vara riskfyllda med avseende på att omarbeta en hel programmeringsstack. Scala kan ge en bekväm mitten här, eftersom den fortfarande fungerar på JVM. Detta kan göra det möjligt för Scala att spela bra med många av de operationsverktyg och övervakningsstycken som redan finns på plats för ett företag, vilket gör migreringen till ett mycket mindre riskabelt förslag.
Scala har också en mycket större potential för driftskompatibilitet mellan sig själv och befintlig Java-kod. Medan många kan påstå att detta är sömlöst är verkligheten lite mer komplicerad. Trots dessa problem kan det på ett tillförlitligt sätt sägas att Scala sannolikt kommer att spela bättre med Java än många andra språk.
Användningen av JVM av Scala kan också bidra till att lindra eventuell prestationsangst som människor kan känna sig vid migrering. Det fungerar i allmänhet i nivå med ett likvärdigt Java-program, så allmänt bör företagsprogramvara inte strykas av en växel till Scala.
Scala möjliggör användning av de flesta JVM-bibliotek, som ofta blir djupt inbyggda i företagskoden. På så sätt kan Scala vara en bra säkring för den nuvarande Java-blöta verksamheten.
Mer kortfattad och läsbar än Java
Scala delar många av de enkla, läsbara syntaxfunktionerna på populära språk som Ruby. Det här är en funktion som saknar mycket i Java och har otrolig inverkan på arbetsbelastningen hos ett utvecklingsteam i kodunderhåll. Det extra arbete som krävs för att förstå och behålla befintlig Java-kod är en stor kostnad.
Dessutom har Scala konsistens ett antal fördelar. Scala kan ofta skrivas i en bråkdel av antalet rader som krävs för att skriva en motsvarande funktion i Java. Detta har en produktivitetsförmån för att utvecklare ska kunna göra mer funktionellt arbete under en viss arbetsdag. Färre linjer med kod gör det lättare att testa, kodrapportera och felsöka.
Funktionella funktioner
Scala använder sig av mycket funktionellt syntaktiskt socker som har blivit populärt bland utvecklare och gör att många utvecklare karaktäriserar Scala som ett mer funktionellt språk. Ett exempel är mönster matchning, vilket möjliggör enkla sträng jämförelser. Ett annat exempel är mixins, vilket gör det möjligt att inkludera funktioner som en del av en klassdefinition, vilket kan spara mycket tid genom att återanvända kod. Funktioner som dessa är ofta attraktiva för utvecklare, särskilt om de har blivit vana vid deras användning i andra icke-Java-miljöer.
Lätt att lära och "spännande"
Scalas likhet med nuvarande populära språk som Ruby kan ses som en fördel, eftersom den tillgängliga syntaxen gör det relativt lätt att lära sig, särskilt i jämförelse med mer fördunklade språk som Java och C ++. Språkets nyhet och tillgänglighet har gjort det till ett populärt val med en liten, energiserad grupp utvecklare.
Denna "spänning" borde inte underskattas, det kan faktiskt vara den största fördelen med att flytta till Scala. Tillförlitligheten och åldern hos Java gör det till ett populärt val för företaget, men lockar också utvecklare av en viss, något riskavvikande inställning. Språken som Scala kan ofta locka fram starkt utvecklade utvecklare som är "språkentusiaster". Dessa utvecklare är ofta flexibla, villiga att prova nya saker, innovativa och högkvalificerade. För många organisationer kan detta vara precis vad som behövs på ett tekniskt team.
Huruvida Scala kommer att se en ökning i popularitet återstår att se, som med vilket språk det har sina evangelister och motståndare. Verkligheten är att ett beslut att flytta till Scala är en individuell och starkt beroende av miljön.