Meer dan Java
De JVM brengt vele voordelen met zich mee die over meerdere decennia verfijnd werden. Applicaties die geschreven zijn, met de JVM als basis, kunnen dan ook gebruik maken van gedeelde bibliotheken en werken met dezelfde datastructuren. Hieronder gaan we dieper in op de meest prominente programmeertalen die gemaakt zijn voor de JVM. Van Kotlin en Scala tot de minder gekende Jython en JRuby. Deze talen vullen op een eenvoudige en flexibele manier Java’s tekortkomingen aan.
Kotlin
Kotlin is ontwikkeld door JetBrains in 2010 en werd open-source beschikbaar gesteld in 2012. De syntax is beknopter en minder uitgebreid dan die van Java. Dit betekent dat de compilatie van Kotlin dan ook veel sneller gaat dan die van zijn tegenhangers. Vanuit de basis laat Kotlin ook veel stijlen toe van functioneel programmeren, in tegenstelling tot Java. De elegante manieren van het omgaan met “null-safety” in Kotlin is dan ook één van zijn meest prominente features. Recent heeft Android dan ook beslist om af te stappen van Java en Kotlin te verkiezen als programmeertaal voor app ontwikkeling op zijn platform. De toekomst van Kotlin heeft nog veel in zijn mars. Eén van de toekomstplannen is het compileren van Kotlin naar machine-native byte code om de performantie verder te optimaliseren.
Scala
Martin Odersky ontwikkelde Scala in 2004 om Java ontwikkelaars productiever te maken. Het combineert functionele en objectgeoriënteerde programmeermodellen in eenzelfde taal. Dat zorgde ervoor dat het functionele model beschikbaar en bruikbaar werd in het Java ecosysteem. De syntax van Scala leunt ook veel dichter bij die van Java aan dan zijn grote tegenhanger Clojure.
Clojure
In 2007 werd Clojure toegankelijk gesteld voor het grote publiek. De functionele programmeertaal, door Rich Hickey ontwikkeld, heeft zijn plaats gevonden als de prominentste Lisp implementatie op de JVM. Clojure is ontwikkeld om een antwoord te bieden op het schrijven van applicaties die gelijktijdig met een hoge performantie data dienen te verwerken. Het kan ingezet worden op elke omgeving waar Java draait en brengt een andere uitgebreide set aan programmeerstijlen dan diegene die door Java ondersteund worden.
Groovy
Groovy is ontwikkeld door Pivotal en tot op heden beheerd door de Apache Software Foundation. Het is een programmeertaal die sterk voortbouwt op de bestaande kennis van Java ontwikkelaars en brengt vele features met zich mee die gebaseerd zijn op dynamische talen zoals Python en Ruby. Groovy is direct gesupporterd door het populaire Jenkins en ligt aan de basis van het web framework Grails.
Jython en JRuby
Jython en JRuby zijn, respectievelijk, implementaties van Python en Ruby voor de JVM. Beide worden ze dynamisch gecompileerd naar Java-bytecode en kan op een eenvoudige manier samenwerken met andere JVM-talen, hoofdzakelijk Java.
Andere JVM talen
Er bestaan nog vele, minder bekende, JVM-talen. Hieronder kan je enkele opmerkelijke voorbeelden vinden.
- Frege: Een JVM-versie van de functionele taal Haskell. Het brengt de Haskell immutability en functionele paradigma’s naar Java code klassen.
- Eta: Een tweede variant van Haskell voor de JVM. Het grote voordeel van Eta over Frege is dat het gebruik kan maken van bestaande Haskell’s package repository. Hierdoor is er een grote compatibiliteit met het bestaande Haskell ecosysteem.
- Ceylon: Door Red Hat ontwikkeld om enkele Java issues op te lossen. Het verbindt zich meer met onderliggende JVM-mechanismen en lost de verbositeit van Java deels op.
- Fantom: Een programmeertaal dat implementaties biedt voor zowel de JVM als voor .NET CLR. Het biedt een abstracte API die een brug vormt tussen de grote verschillen van beide platformen. Fantom kan tevens ook gecompileerd worden naar Javascript waardoor de mogelijkheden bijna eindeloos worden.
Een groot aanbod aan talen, The Beehive heeft de juiste kennis
Al deze talen laten communiceren met de juiste applicaties en JVM is een kunst op zich. Een kunst die onze teams onder de knie hebben. Wil jij jouw applicatie laten ontwikkelen met JVM? The Beehive vormt voor jou het antwoord. Neem zeker contact met ons op als je meer informatie wil krijgen over de voordelen van JVM voor jouw applicaties. Of lees onze blogpost ‘JVM- alle voordelen op een rijtje’