Warum die Java-Plattform auch für Webentwickler interessant ist

Michael Thomas
© Shutterstock/Lightspring

Hand aufs Herz: Viele Webentwickler stehen der Javawelt kritisch-distanziert bis ablehnend gegenüber. Die Beschäftigung mit Clojure, und damit der Java Virtual Machine, kann allerdings von Vorteil sein. Das Team von Gaslight, in erster Linie für die Arbeit mit Ruby, Ruby-on-Rails und JavaScript bekannt, hat die vergangenen Wochen geschlossen damit verbracht, sich Clojure anzueignen.

Die ersten Einsichten dieser Beschäftigung mit Clojure und der JVM wurden nun auf dem firmeneigenen Blog dargelegt. Und diese sind durchaus positiv:

Clojure schließt Lücken, die Ruby und Ruby-on-Rails offen lassen

So ist für das Team Ruby zwar immer noch die erste Wahl für Web-Anwendungen, allerdings benennt es auch einige Schwächen: So lässt selbst bei Verwendung von JRuby und Celluloid die Nebenläufigkeit von Ruby zu wünschen übrig, außerdem sind viele Bibliotheken nicht threadsicher. Als weitere Schwäche sei die manchmal nicht ausreichende Geschwindigkeit genannt; außerdem sind Object Relational Mapping (ORM) und objektorientierte Sprachen nicht immer der Königsweg.

Funktionale Sprachen erfordern neue Denkweisen

Die Funktionale Programmierung folgt einem anderen Paradigma als Ruby und JavaScript; als funktionale Programmiersprache erfordert Clojure demnach eine grundlegend andere Herangehensweise. Durch die Beschäftigung mit Clojure eröffnen sich neue Problemlösungs-Techniken und -Methoden, die man beim Beharren auf objektorientierten Sprachen vermutlich niemals erlangen würde.

Clojure läuft auf der JVM

Die Java Virtual Machine hat einiges zu bieten: eine hochwertige Garbage Collection, leistungsstarke native Threads, sowie eine ausgezeichnete Portabilität. Clojure nutzt alle diese Vorteile und fügt ihnen noch eine unveränderliche, persistente und effiziente Datenstruktur hinzu. Mit Core.Async verfügt Clojure zudem über ein interessantes Parallelitätsmodell.

Clojure läuft im Browser

ClojureScript kompiliert in JavaScript und läuft im Browser, was eine völlig neue Art der Programmierung von clientseitigen Anwendungen ermöglicht. Im Gegensatz zu JavaScript ist Clojure ein vollwertiger Lisp-Dialekt, der asynchronen Support und zudem Interoperabilität mit anderen JavaScript-Bibliotheken bietet. Clojure kann somit sowohl für den Client als auch den Server genutzt werden, ohne dass man Abstriche in Kauf nehmen muss.

Cutting edge…

Mehrkern-Prozessoren gehören selbst bei gewöhnlichen Bürorechnern schon seit Jahren zum Standard, die traditionellen Programmiersprachen haben mit dieser Entwicklung jedoch nicht Schritt gehalten. Funktionale Sprachen wie Clojure erlauben es, das Potential der Mehrkern-Architektur voll auszuschöpfen; die effiziente Verarbeitung hoher Datenvolumina sowie das Streamen und Transformieren von Daten in Beinahe-Echtzeit eröffnen effektivere Problemlösungsmöglichkeiten als bisher.

…aber nicht bleeding edge!

Mit einem Alter von 5 Jahren kann man es zwar noch als Neuling in der Entwicklerlandschaft bezeichnen, es ist allerdings auch nicht so neu, dass die Nutzer auf böse Überraschungen gefasst sein müssten: Immerhin greift Clojure auf verlässliche Ressourcen wie die Java Virtual Machine und hochwertige Java-Bibliotheken zurück.

Clojure für Webentwickler

In den kommenden Monaten will sich das Team von Gaslight noch tiefer in die Materie einarbeiten und über seine Fortschritte berichten. Wer also ebenfalls darüber nachdenkt, sich mit Clojure zu befassen, sollte ihre Blogposts im Auge behalten!

JAXenter-Leser dürfen sich jedenfalls freuen, wenn die Stärken der JVM  – und funktionalen JVM-Sprachen wie Clojure  – auch in der Welt der Webentwickler ankommt. Denn die Entwicklung der „Java Virtual Machine“ hin zur „Multi Language Runtime“ ist spätestens seit Invoke Dynamic und dem neuen JavaScript-Projekt Nashorn in vollem Gange.

 

Geschrieben von
Michael Thomas
Michael Thomas
Michael Thomas studierte Erziehungswissenschaft an der Johannes Gutenberg-Universität Mainz und arbeitet seit 2013 als Freelance-Autor bei JAXenter.de. Kontakt: mthomas[at]sandsmedia.com
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: