4 puan yazan GN⁺ 2023-09-18 | Henüz yorum yok. | WhatsApp'ta paylaş
  • 19/9/2023’te yayımlanması planlanan Java 21, switch blokları ve ifadelerinde record pattern desteği sunuyor; bu da Java’yı Kotlin, Rust ve C# gibi dillerdeki fonksiyonel programlama kalıplarına yaklaştıran önemli bir güncelleme
  • Java son 10 yılda hızla gelişti ve Java 9’dan bu yana her 6 ayda bir büyük güncelleme aldı
  • Java 21, record pattern ve switch pattern matching özelliklerini kalıcı hale getirerek, fonksiyonel programlamanın temel unsurlarından biri olan cebirsel veri tiplerinin ifade edilmesini mümkün kılıyor
    • Cebirsel veri tipleri kavramı, küme teorisinin bir alt alanı olan tip teorisi üzerinden açıklanıyor
  • Yeni sürüm ayrıca pattern matching özelliğini de sunuyor; bu sayede belirli veri kalıplarının statik doğrulaması yapılabiliyor
  • Java 21, geliştiricilerin kütüphane API’leriyle kullanıcı etkileşimini denetleyebilmesi için sealed class veya interface yapısını sunuyor
  • Sealed class veya interface, bir tipin belirli bir anda yalnızca bileşenlerinden biri olabileceği anlamına gelen sum type kavramına dayalı tasarım kalıplarını destekliyor
  • Yeni sürüm ayrıca switch deyimleri ve ifadeleri içinde karmaşık koşulları kısa biçimde ifade etmeyi sağlayan guard clause özelliğiyle geliyor
  • Java 21, pattern eşleşmesi başarısız olduğunda ortaya çıkan java.lang.MatchException adlı yeni bir exception sınıfı tanıtıyor
  • Bu yazı, Java 21’de switch bloklarının kullanımını ve belirli koşullarda MatchException oluşturmanın nasıl mümkün olabildiğini ele alıyor
  • switch bloğu ne seçiciyle ne de belirtilen varyantlardan biriyle eşleşmediğinde MatchException oluşuyor ve bu oldukça sıra dışı kabul ediliyor
  • Java Enhancement Proposal (JEP) 441, her zaman exception fırlatan record erişim yöntemlerinin oldukça sıra dışı olduğunu kabul ediyor
  • Yazı, guard clause içinde sıfıra bölme hatası nedeniyle MatchException üreten bir switch bloğu örneği veriyor
  • Yazar, bölme işleminde bölünenin 0 olabileceği dinamik bir değer söz konusu olduğunda durumun daha da karmaşıklaştığına dikkat çekiyor
  • Bu yazı, Java 21’in yeni özelliklerini ve yeteneklerini inceleyen bir serinin parçası; ileride bu özelliklerin Java kodu yazımını nasıl iyileştirebileceğine dair pratik örneklerle bazı ilgi çekici noktalar ele alınacak
  • Yazar, generics’in switch pattern’lerle nasıl etkileşime girdiği gibi bazı konuların bu yazıda ele alınmadığını, ancak gelecekteki yazılarda işlenebileceğini belirtiyor
  • Bu yazı; JVM pattern matching, fonksiyonel programlama, Java 21 ve cebirsel tiplerle ilgilenenler için ilgili bir içerik

Henüz yorum yok.

Henüz yorum yok.