Groovy Nedir?

Groovy Nedir?

Groovy Nedir?

Groovy, Java platformunda çalışan, dinamik olarak kontrol edilen ve nesne yönelimli bir programlama dili olarak ifade edilebilir. Başka bir tanımda ise Java Virtual Machine için geliştirilmiş sözdizimi benzeri betik dili olarak tanımlanabilir. Groovy, diğer platformlara odaklanmadan tüm platformlarda kullanılabilen Java geliştiricileri için bir betik dili çözümüdür. Groovy'de standart, Java yapılandırma isteğinde yer alan Java İletişim Süreci aracılığıyla elde edilebilir. Farklı üreticilerin uygulamalarıyla çalışmak, Groovy programlama dilini klasik ve birleştirilmiş hale getirmeye çalışan bu uzman ve bilgi grubunun ana hedefidir.

Groovy'nin güçlü programlama dilleri sürekli olarak geliştirilmektedir. Bu gücü veren en önemli özellikler; gelişmiş görevlerin kolay programlanması, Java'ya doğrudan erişim ve Java sözdizimine benzerlik için uzantılar. Groovy'nin ana özelliği, Java üzerinde çalışan dinamik diller arasında en basit ve en entegre dil olmasıdır. Bir Groovy nesnesinin ayarlarında, normal bir Java nesnesi Groovy'den çağrılabilir ve tıpkı bir Java nesnesi gibi, bir Java nesnesinden bir Groovy nesnesi çağrılabilir. Açık kaynaklı bir yazılım geliştirme portalı olan Codehaus'un bir parçası olarak Bob McWhirter ve James Strachan tarafından geliştirilmiştir. Ruby ve Smalltalk gibi dinamik ve esnek programlama dillerinden ilham almıştır. Daha sonra projeye bir geliştirici daha eklendi.

Başka bir açıdan bakarsak, başka bir şekilde açıklanabilir. Dil, Java Corp tarafından 2003 yılında nesne yönelimli bir programlama dili olarak üretildi, ancak o zamanlar çok popüler değildi. Java ve C'nin gölgesinden sıyrılıp ikisini de sollayıp bu iki büyük dili yok etmek kolay değil. Ancak 2003'ten sonra proje başarısızlıkla sonuçlanınca o yol terk edilmedi, kısmen de olsa devam edildi ve iş tamamen terk edilmedi. 2007 yılında profesyonel anlamda ilk adım atılmış ve Groove'un yepyeni bir versiyonu piyasaya sürülmüştür. Bu gösteriden sonra LinkedIn, Mastercard, Airbus ve daha sonra Netflix Groovy'ye katılarak en popüler sitelerden biri haline geldi.

Operatör Nedir?

Operatör, Groovy'de aşırı yüklenebilir. Bu, hangi operatörün aşırı yüklenmesi için hangi yöntemin geçersiz kılınması gerektiğini bilmeyi gerektirir. Ayrıca, Groovy aslında Java'nın sahip olmadığı birkaç operatöre sahiptir. Örneğin, Regex işlevleri için ayrı operatörler vardır. Bunları gelecekte Regex'te daha net görmek çok mümkün.

Equals

Geçersiz dize veya Java'da eski olmayan başka bir ayırt edici nesne ve özellikle Java'ya yeni başlayan birçok kişi bunu "==" operatörüyle kontrol etmelidir. Java tarafında hem referans nesneyi hem de değerini kontrol eder. Bu nedenle, neredeyse tüm karşılaştırma işlemleri beklenen sonucu vermeyecektir, ancak Groovy'de bu fark yoktur. Bu kontroller istek üzerine yapılabilir. Java'da "==" operatörü beklendiği gibi çalışmayabilir ve çalıştığında genellikle "eşittir" yöntemi kullanılır. Kısacası, iki nesnenin dengesini kontrol etmek için hem null hem de parite kontrollerinin birlikte yapılması gerekir. Bu durumda, Groovy'de kaldırılacaktır.

Def ve Type

Groovy örneklerinde görüldüğü gibi daha fazla def kullanılmıştır. Def kelimesi Java'da bir nesne sınıfı olarak düşünülebilir ancak def kelimesinin kullanımı bazı durumlarda kafa karıştırıcı olabilir. Bu nedenle, bazı durumlarda def harfi, bazılarında ise tip kullanılmalıdır. Sınıf öznitelikleri kullanılırken tür kullanılmalıdır.

Ancak, bir kod bloğunda kalıcı olmayan bir geçici değişkenin kullanıldığı durumlarda, def kullanılmalıdır. Tür, yöntem parametreleri için kullanılmalıdır, ancak parametrenin nesne sınıfında olması gerekmez.

Alt maddeler

Burada ne kastedildiğini daha iyi anlamak için bir örnek verilebilir. Bir kullanıcı sınıfı (User.java) olduğunu varsayalım. Bu sınıfın bir özelliği, sokak verilerini (Address#getStreet) içeren adres verileridir (Address.java). Bu duruma ulaşmak için Java'da görev.

               gÖrsel - 3Bu noktada, kullanıcı nesnesi boşsa veya adres nesnemiz boşsa bir NullPointerException almak elbette çok yaygındır. Ancak, sokak nesnesini kullanmadan önce boş bir denetim gereklidir. NullPointerException'dan kaçınmak için kod yazmanın en kolay yolu aşağıdaki gibi olmalıdır.

                 gÖrsel - 4

Bu durumda, sokak nesnesinin boş olması yine de mümkündür, ancak şimdilik görmezden gelmek yanlış olmaz. Groovy'deki karşılığı "?." Şebeke Çok;

                    gÖrsel - 5

Bu bölümde bazı sokak nesneleri boş olabilir, ancak Elvis operatörü ile bunu kolayca geçersiz kılmak çok mümkündür.

String

Java ile Groovy'de değişen bir diğer şey ise stringlerdir. Java'da bilindiği gibi String, Groovy çevresinde String yerine zaten GString olarak adlandırılan normal String'den biraz farklıdır. Örneğin, Groovy'de çok satırlı bir dizi tanımlanabilir. Java'daki gibi " " operatörü ile birleştirilmesi gerekmez. Bu nedenle daha kullanışlı bir string yapısına sahiptir.

Örneğin

           gÖrsel - 6           

İlaveten bulunulduğu kod bloğu dahilinde tanımlanan bütün nesneleri, değişkenleri ve nesne niteliklerini string dahilinde kullanmak mümkün. Yine kullanıcı (User) örneği kullanılacak olunursa

        gÖrsel - 7

 

Regex

Regex'ten daha önce operatörler bölümünde bahsedilmiş olsa da Regex için ayrı operatörlerin olduğundan bahsedilmişti. Bu işleçler, Java Regex türlerinin (kalıp, eşleşme) bir alt kümesinde kullanılır. Sonuç Sonuç olarak Groovy'nin de diğer yazılım dilleri gibi birçok karmaşık süreçten geçerek bugünlere geldiği açıktır. İlk başlarda çalışmasa da çabasını ve isteğini kaybetmeden Groovy programlama dilinde geliştirmeye devam ediyor. Dinamik dillerden biri olması ve kolay ve iyi entegre olması her geçen gün pazarın gelişimini etkileyen en büyük etkenlerden biri olabiliyor.

Bu durumu iyi değerlendirip bir sonraki bölüme daha umutlu ve daha güçlü giren Groovy, her geçen gün gücünü artırıyor. Bu güçle yazılım dünyası önümüzdeki yıllarda yepyeni bir bakış açısıyla yepyeni bir yazılım diline kavuşabilir.

Anahtar Kelimeler

Paylaş

Önceki Post

JavaScript

Sonraki Post

Swift Nedir?

Bizi Arayın
+90 538 033 35 91
Whatsapp İrtibat
905380333591