OpenLDK ile Java ve JVM dilleri Common Lisp ortamına taşındı
Öne çıkanlar
- OpenLDK, Java bayt kodunu Lisp üzerinden SBCL ile doğrudan yerel makine koduna derliyor.
- Kotlin, Clojure ve Scala dahil yedi JVM dili tek bir Lisp ifadesinde iç içe çalıştırılabiliyor.
- Önceden başlatılmış bir Spring Boot uygulaması Lisp görüntüsüyle 83,9 milisaniyede çalışmaya başladı.
Eski gcj geliştiricisi, Java bayt kodunu Common Lisp koduna dönüştürerek doğrudan Steel Bank Common Lisp (SBCL) üzerinde çalıştıran OpenLDK adlı JIT derleyicisini duyurdu. Araç, Java bayt kodunu okuyup ara temsile ve ardından Lisp koduna çeviriyor; SBCL bu çıktıyı yerel makine koduna derliyor. Java nesneleri ile Lisp uygulaması aynı süreçte ve bellek yığınında yer alırken sistem doğrudan JDK 25 çalışma zamanı kütüphanelerini temel alıyor.
Sistem, Java sınıflarını CLOS sınıflarına eşleyerek Lisp üzerinden Java metotlarına müdahale edilmesine olanak tanıyor. OpenLDK ayrıca Kotlin, Scala, Clojure, Groovy ve Scheme gibi JVM dillerini tek bir Lisp oturumunda doğrudan çalıştırabiliyor. Java istisnaları Lisp durumlarına, koleksiyonlar ise karşılıklı olarak yerel veri yapılarına dönüştürülüyor. Bu sayede geliştiriciler Emacs ve SLY üzerinden çalışan uygulamaları canlı olarak inceleyip değiştirebiliyor.
Önceden başlatılmış bir Spring Boot komut satırı uygulamasını Lisp bellek görüntüsü olarak kaydeden OpenLDK, yeniden başlatma süresini ortalama 83,9 milisaniyeye kadar indirdi. Aynı senaryoda standart HotSpot başlatması 2,1 saniyeyi aşarken GraalVM Native Image 53,5 milisaniyede tamamlandı. Geliştirici, OpenLDK'nin dinamik sınıf yükleme ve çalışma anında JIT derleme esnekliğini koruduğunu ve projenin Linux üzerindeki SBCL kurulumlarını hedeflediğini açıkladı.
Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.