JSR 354: Money and Currency API hakkında Anatole Tresch 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. Bazılarını burada yavaş yavaş tanıtmak ve kendileriyle projelerinden bahsetmek istiyorum. Başlamak için Anatole Tresch ile yakın tarihli JSR 354 (Money and Currency API) hakkında konuştum.


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





Anatole Tresch, baş uzman



Anatole Tresch, “Money JSR” özel şefi



20 yılı aşkın süredir BT işindeyim, bu yüzden bu bir tür fosil. İlk bilgisayar bir çocukluk arkadaşının babasının HP’siydi, ardından IBM PC’ler, disketler, Commodore C64’ler, Amigas ve çamaşır makinesi büyüklüğünde sabit diskler gibi teknik yenilikler geldi. İlk x86 PC’nizi satın aldığınızda altına hücum havasını unutmamak gerekir.

Yazılım açısından, HP hesap makinelerinin birleştirici tarzı programlama dışında her şey Object Pascal ve C/C++ ile başladı. Saatler süren kurcalamanın ve nihayet iki UNIX iş istasyonu arasında başarılı bir şekilde TCP bağlantısı kurabilmenin (bugün bir kavga var!) ve sonunda duyarlı Java’ya sahip olmanın ve her şeyden önce taşınabilir uygulamalar oluşturabilmenin coşkusunu çok iyi hatırlıyorum. günlerce pragma ifadeleri ve “segmentasyon hataları” ile uğraşmak zorunda kalmadan.

Java ekosisteminin sıfırdan gelişimine tanık oldum ve her türden onlarca projede yer alma fırsatım oldu. Daha küçük bir şirkette yönetici ortak ve danışman olarak kapsamlı bir şekilde çalıştıktan sonra, Credit Suisse’e katıldım ve burada karmaşıklık açısından ufkumu önemli ölçüde genişletebildim ve mimariye neden ihtiyaç duyulduğunu da anladım. Teknik zarafet, ekonomik yapılabilirlik ve insan faktörü arasındaki gerilim üçgeni beni cezbetti. Başkalarını ortalamanın ötesine geçmeye ve günlük yaşamda, konferanslarda, JSR’lerde veya birisinin başarmak istediği herhangi bir şeye aktif olarak dahil olmaya motive etmeyi gerçekten seviyorum.

Java dünyasında olmadığınızda özel olarak ne yaparsınız?

Her şeyden önce, bazen çok talepkar olabilen eşim ve üç çocuğum. Eşimin desteği olmasaydı birçok şey mümkün olmazdı. Eşimle geçirdiğim zaman ve çocuklarımın bana dünyayı anlattığı anlar çok değerli ve günlük hayattan gerekli mesafeyi korumama yardımcı oluyor. Ve sonra iki büyük hobim var: Bir yandan davul çalmaya tutkuluyum ve tabii ki tercihen canlı müzik dinlemeyi de seviyorum. Öte yandan, fiziksel olarak kendime gerçekten meydan okuyabileceğim yerel spor salonuna düzenli olarak gidiyorum.

JSR 354’ü 13 Mayıs’ta yayınladınız. Lütfen bize bunun hakkında daha fazla bilgi verin. JSR 354 nedir ve parayla çalışırken mevcut Java özellikleriyle nasıl karşılaştırılır?


JSR 354, para birimleri ve parasal tutarlar için kapsamlı bir API ve algoritmaların, para birimi dönüştürme ve biçimlendirmenin ilgili işlevsel alanlarını tanımlar. API aynı zamanda hem sezgisel hem de çok güçlü ve genişletilebilir olma dengesini yönetir. Esnek mimarisi sayesinde OSGi, Spring ve Java EE gibi çeşitli çalıştırma ortamlarına entegrasyonu da basitleştirir. Ek gerçek veya sanal para birimleri, basit bir Hizmet Sağlayıcı Arayüzü (SPI) ile bir JDK uzantısı uygulamak ve dağıtmak zorunda kalmadan kolayca eklenebilir.

Parasal tutarlar, bir tutarı, para birimini ve sayısal özellikleri ortak bir türde birleştirir. Sayısal aralık ve performans için çelişen gereksinimleri eşleyebilmek için farklı uygulamalar bile desteklenir. Bu, her programcının sayısal bir değer için ilişkili para birimiyle kendisinin uğraşması gereken BigDecimal ve Co.’ya göre büyük bir avantajdır. API, farklı para birimlerindeki tutarlar arasında dönüşüm yapmak için de kullanılan birkaç ama çok güçlü uzantı noktası tanımlar. Ve son olarak, kendi formatlarınızı kolayca desteklemenizi sağlayan, basit ama iş parçacığı açısından güvenli bir formatlama motoru vardır.

Nasıl Spec Lead oldunuz ve sorumluluklarınız nelerdir?

Aslında tesadüfen. Başlangıçta JSR, Victor Grazi tarafından başlatıldı. Victor bir yıl sonra bankadan ayrıldığı için acilen bir yenisine ihtiyaç vardı. Sonunda, bir meslektaşım beni tavsiye etti ve JCP’ye yeni başlayan biri olarak, o sırada kapatılma tehlikesiyle karşı karşıya olan bir JSR’yi işe alma zevkini yaşadım.

Bu nedenle ana görevin ne olduğu açıktı: uzman grubun açık ve yapıcı bir diyaloga sahip olması için dahili tartışma sürecini yeniden başlatmak ve aktif olarak yönetmek. JSR o sırada çok geç kaldığından, elbette tüm bunlar ilk Erken Taslak İncelemesini (EDR) mümkün olan en kısa sürede yayınlamak amacıyla yapıldı. EDR için son teslim tarihini karşılayamadık, ancak JCP İcra Komitesi (AK) bize JSR’nin faaliyetlerine devam etmesi gerektiğine dair sözde yenileme güven oylaması verdi.

Uzmanlar arasında hem profesyonel hem de kişisel nitelikte bazı somut çatışmalar da vardı ve bu da beni bir Spec Lead olarak zorladı. Son olarak, ilgili kişiler genellikle aynı görüşü paylaşmadığından, AK’nin bazı üyeleriyle iletişim kolay olmaktan çok uzaktı. Bir JSR’nin farklı çıktıları (API, spesifikasyon, referans uygulama, teknik uyumluluk kiti) de gözden kaçırılmamalıdır.

API tasarımı, bir JSR’nin başlangıcında hala canlı tartışmalara yol açsa da, JSR ilerledikçe ilgilenen kişileri dahil etmek çok daha zordur. Neyse ki, çeşitli meslektaşlar ve kuruluşlar, özellikle Stephen Colebourne, Werner Keil ve Mark Davis, Google’dan David Beaumont ve bazı Hackergarten katılımcıları da burada olağanüstü katkılarda bulundu.

Özetle, sonunda JSR’yi bitiş çizgisine getirebildiğimiz için gerçekten mutluydum. Ancak, JSR henüz bitmedi. Topluluk, iyileştirme ve genişletme taleplerini JIRA’mıza kaydetmeye içtenlikle davet edilir ve referans uygulama da sürekli olarak geliştirilmekte ve herhangi bir hata düzeltilmektedir.

JSR 354, Java 9’un bir parçası olacak mı?

Mevcut durumda, JSR 354, JDK 9’un bir parçası olarak gönderilmeyecektir. Ancak, bunu mutlaka bir dezavantaj olarak görmüyorum. Jigsaw’un çeşitli JDK modüllerinin kullanıma sunulacağı bir modül konseptinin yanı sıra bir tür depo sağlaması çok muhtemeldir. Money JSR’nin bu depoya dahil edilmemesiyle ilgili yanlış bir şey olduğunu düşünmüyorum, bu da aslında JDK’ya entegre olduğu anlamına geliyor.

Daha fazla sürüm zaten planlandı mı ve bu nasıl ilerlemeli?

Şu anda API için planlanmış bir bakım sürümü yok, ancak JSR bakım sürümünün ne zaman başlatılacağına karar verebilmemiz için kullanıcıların iyileştirme önerilerini ve buldukları hataları JIRA’mızda göndermelerini memnuniyetle karşılıyoruz. Referans uygulama tarafında bazı küçük hata düzeltmeleri yapıldı ve ilk yama sürümünün önümüzdeki haftalarda yayınlanması bekleniyor.

Daha fazlasını nerede bulabilirsiniz?

En kolay yol http://javamoney.org adresine gitmektir. Bu sayfa, JSR-354 ile ilgili tüm proje ve faaliyetler için giriş sayfası görevi görür.

Yürüttüğünüz başka projeler nelerdir?

Apache Tamaya şu anda benim için ön planda, burada diğer bazı meslektaşlarımla birlikte uygulamaları, modülleri, uzantıları ve ürünleri basit yapılandırma için belirli bir tek tip erişim API’si ile yapılandırmaya izin veren bir API ve modül sistemi tanımlamaya çalışıyorum -Meta model kontrol edildi .

Seni nerede bulabilirim

Elektronik olarak, Twitter aracılığıyla daha iyi durumdayım (@atsticks), e-posta ([email protected]), LinkedIn, Google+ ve Xing. Benimle kişisel olarak tanışmak isteyen herkes bunu Zürih bölgesinde, örneğin aylık Hackergartens’de veya benim konuşabileceğim konferanslardan birinde yapabilir. Ne yazık ki bu yıl JavaOne’ı ziyaret etme fırsatım olmayacak ama umarım gelecek yıl tekrar çalışır.

Röportaj için teşekkürler ve JSR 354 ve Apache Tamaya ile devam eden başarı.


()




Haberin Sonu



 
Üst