Kapitel 70. Die JVM durch Clojure wiederentdecken

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

James Elliott

Irgendwann im Jahr 2007 las mein Buchclub im Büro Java Concurrency in Practice von Brian Goetz (Addison-Wesley). Wir waren noch nicht weit über das Vorwort dieses wichtigen Buches hinaus, als wir panisch feststellten, wie falsch unser naives Verständnis von Javas Speichermodell war und wie leicht sich Fehler in Multithreading-Code einschleichen. Es gab ein hörbares Aufatmen und mindestens einen berichteten Albtraum.

Bei der Entwicklung eines hochgradig gleichzeitigen Cloud-Angebots brauchten wir eine Sprache, die unsere Codebasis nicht mit Landminen aus gemeinsam genutzten, veränderbaren Zuständen übersät. Wir haben uns für Clojure entschieden: Es hat solide Antworten auf Gleichzeitigkeit und begünstigt die funktionale, effiziente Umwandlung unveränderlicher Daten. Es läuft auf der vertrauten JVM und arbeitet reibungslos mit dem riesigen Ökosystem der Java-Bibliotheken zusammen. Obwohl einige wegen der ungewohnten Lisp-Syntax zögerten und das Programmieren ohne Variablenveränderung neu erlernen wollten, war es eine gute Entscheidung.

Wir haben die Vorteile eines REPL-zentrierten (Read-Eval-Print-Loop) Workflows entdeckt :

  • Kein Neuaufbau oder Neustart, um Änderungen zu testen

  • Das ...

Get 97 Dinge, die jeder Java-Programmierer wissen sollte now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.