Java haritalama yazılımı jOOQ’nun geliştiricisi Lukas Eder ile röportaj

Portakalkafa

Global Mod
Global Mod
Java topluluğunda, Java Özellik İsteklerine (JSR) ve açık kaynak projelerine katılımları yoluyla geliştirmeyi yönlendiren birçok ilginç kişi vardır. Bunlardan bazılarını burada tek tek tanıtmak istiyorum. Bu sefer jOOQ açık kaynak çerçevesinin kurucusu Lukas Eder ile SQL’in faydaları ve uygulama alanları hakkında konuştum.


Thorben Janssen: Lukas, bize biraz kendinden bahset. Yazılım geliştirmeye nasıl başladınız ve bugün ne yapıyorsunuz?





Luca Eder'le Röportaj



Luca Sarmaşık



Ed: 80’lerde babamın ilk iş bilgisayarını eve getirmesi çok önemli bir andı. 7 MB sabit sürücülü bir 80286 idi. MS-DOS ile bazı tatsız deneylerden sonra (“c: formatı ne işe yarar?”), benim için harika bir dünyanın kapılarını açan QBasic’i keşfettim. O zamanlar muhtemelen sekiz yaşındaydım. O zaman geri dönüş yoktu.

Bugün her zaman olmam gereken şeyim: bir altyapı yazılımı girişimcisi, bu yüzden yazılım geliştiriciler için yazılım, eğitim ve içerik yapıyorum.

Janssen: Birçok konferansta SQL’in konuşulduğunu görebilirsiniz. Bu işe nasıl girdiniz ve SQL’in Hibernate gibi yaygın olarak kullanılan VEYA eşleyiciye göre en büyük avantajının ne olduğunu düşünüyorsunuz?

Ed:
İki tür yazılım geliştiricisi veya yazılım mimarisi olduğunu düşünüyorum: veriye dayalı ve etki alanına dayalı.

Veri güdümlü ortamda odak, veri akışlarının durum bilgisi olmadan işlenmesidir. Bu yaklaşımın güzelliği, verilerin sürekli hareket halinde olması ve uygulamalar tarafından değiştirilmemesi, sadece dönüştürülmesi ve zenginleştirilmesidir. SQL, XSLT, XProc, Prolog, Datalog, günlük veri analizi (Splunk’ta olduğu gibi), gerçek zamanlı analitik, BI, işlevsel programlama, düzenli ifadeler ve Unix ardışık düzenleri gibi tekniklerin tümü bu ortamda bulunabilir. Veri, hem bütünsel hem de matematiksel anlamda, küme teorisi anlamında nicelik olarak anlaşılmaktadır. Çok güzel ve zarif bir bilgisayar dünyası.

Etki alanı tabanlı ortamda, durum (kullanıcı tarafından düzenlenebilir) veya “yan etki” ön plandadır. Bu durum “maalesef” olmalıdır çünkü bir uygulamanın teknikliği açısından katma değer oluşturmaktadır. Bu ortamda, nesne yönelimi çok güçlüdür ve bu nedenle veritabanı ile uygulama arasında durumu senkronize eden ORM’ler. (Bu bağlamda Simon Peyton Jones ve Erik Meijer ile harika bir röportaj (“Haskell is Useless”).)


SQL her zaman ilk ortamda daha uygundur, ORM her zaman ikinci ortamda. Bu gerçeği konferanslarda yayınlıyorum. Pek çok Java geliştiricisi, 1990’ların nesne yönelimli beyin yıkamasından (ve o zamanın J2EE beyin yıkamasından) sonra, ilk ortamın haksız yere tamamen arka plana atılmasından ve hatta birçok yazılım mimarı tarafından unutulmasından dolayı hüsrana uğramıştır. Bu geliştiriciler SQL (ve jOOQ) istiyor ve fikirlerini onayladığım için gerçekten minnettarlar.

Janssen: Pek çok Java geliştiricisi, JDBC ve SQL kullanmak konusunda isteksiz. Kurduğunuz jOOQ açık kaynak projesi size bu konuda nasıl yardımcı olabilir?

Ed:
JDBC harika bir teknolojidir. 1997’de satıcıya özgü sayısız veritabanı iletişim protokolünü ve API’yi temizledi ve protokol soyutlaması için basit bir standart getirdi. JDBC, kesinlikle tartışmasız ve rakipsiz tek Java standardıdır.

Ne yazık ki, JDBC tam da budur: bir protokol soyutlaması. Ve günlük SQL kullanımı için şimdiye kadar çok “düşük seviye”. Java geliştiricileri çoğunlukla JDBC ve SQL’i eşitlediler (alternatiflerin olmaması nedeniyle). Ancak, genellikle PL/SQL veya T-SQL ile çalışan herkes, SQL’i çok güçlü ve güvenli bir dil olarak takdir eder. jOOQ tamamen aynı şeyi yapıyor. jOOQ, SQL’i dahili etki alanına özgü bir dil olarak doğrudan Java’ya eşleyerek Java/SQL dil entegrasyonu açısından SQL’i Java geliştiricileri için güvenli hale getirir. Kısacası: jOOQ sayesinde, Java derleyicisi geliştirme sırasında SQL komutlarını kontrol edebilir ve hataları tespit edebilir.

Bu sadece jOOQ’un ana özelliğidir. Java diliyle doğrudan entegrasyonla gelen, SQL dönüştürme ve standardizasyon, Java 8 akışlarıyla SQL entegrasyonu, vb. gibi sayısız avantaj vardır.

Bu arada, geliştirmeniz hem veriye dayalı hem de etki alanına dayalıysa jOOQ, JPA ile harika bir şekilde çalışır!

Janssen: Ayrıca jOOQ’un ticari sürümlerini sunduğunuz Data Geekery şirketini de kurdunuz. Açık kaynak sürümünden farkı nedir?

Ed:
Açık kaynak varyantı (Apache License 2.0) yalnızca açık kaynak veritabanlarını destekler; ticari veritabanları da ticari. Şu anda dokuz açık kaynak ve on iki ticari veri tabanı desteklenmektedir. Bu şekilde jOOQ’un daha da geliştirilmesini sağlayabiliriz.

Janssen: Başka hangi projeler üzerinde çalışıyorsunuz?

Ed:
jOOQ’a ek olarak, jOOX, jOOR, jOOU ve jOOλ açık kaynak ürünlerini de dağıtıyoruz. Özellikle ikincisi artan popülaritenin tadını çıkarıyor. Temel API’leri Java 8’den genişletir ve Java 8 Akışları ile işlevsel programlama için daha güçlü API’ler sağlar.

Janssen: Kendiniz ve projeleriniz hakkında daha fazla bilgi edinmek istiyorsanız kendinizi nerede bulabilirsiniz?

Ed:
jooq.org’da ve özellikle blog.jooq.org’da.

Janssen: Röportaj için çok teşekkürler ve jOOQ ile iyi eğlenceler ve başarılar.


()



Haberin Sonu
 
Üst