[ad_1]
Yazılımdaki en büyüleyici fenomenler arasında Java’nın kalıcı önemi vardır. Hem bir dil hem de bir platform olarak Java, teknoloji ortamındaki radikal dönüşümlerden kurtuldu ve onunla birlikte kendi iç yapısı da değişti. Java, yirmi yılı aşkın bir süredir hem kurumsal hem de açık kaynağın merkezinde nasıl kaldı? Öne çıkan birkaç faktöre bakalım.
Java Topluluğu Süreci
Java, hayata, işleri yapmanın geleneksel yoluna bir alternatif olarak başladı – bir tür yeni başlangıç. Bugün, tekrarlanan zorluklara rağmen, kurumsal yazılımın bir ayağı olarak kabul edilmektedir. Java’nın böylesine radikal bir değişim karşısında devam eden alaka düzeyini ne açıklar? Temel faktörlerden biri, geliştiricilerin Java’yı canlı, dinamik bir güç olarak tutmalarını sağlayan yönetişim yapıları aracılığıyla beslenen topluluğun tutkusudur.
Sorunsuz çalışan bir makine olmaktan çok uzak olan Java’nın yönetişimi, seslerini Java Topluluk Sürecinde (JCP) ve Java Spesifikasyon İstekleri (JSR’ler) aracılığıyla bulan rekabet eden çıkarların ve kuruluşların kafa karıştırıcı bir karışımıdır. Günün sonunda, JCP, Java teknolojisine derinden önem veren insanlar arasında katkı ve çatışma çözümü için bir mekandır. Bürokrasi, politika ve yaratıcılığın oldukça gizemli bir birleşimidir. Aslında işleyen bir demokrasi gibi bir şey.
Uzun süredir Java programcısı olarak, dilin lambdaları ve kapanışları başarılı bir şekilde birleştirmesini izlemek şaşırtıcıydı – aslında şaşırtıcıydı. Nesne yönelimli bir programlama diline işlevsel yapılar eklemek oldukça tartışmalı ve etkileyici bir başarıydı. Hibernate ve Spring gibi teknolojilerin getirdiği emici kavramlar da öyleydi (JSR 317 ve JSR 330, sırasıyla) resmi platforma. Bu kadar yaygın olarak kullanılan bir teknolojinin hala yeni fikirleri entegre edebilmesi cesaret verici.
Java’nın duyarlılığı, dilin yararlı iyileştirmeler içermesini sağlamaya yardımcı olur. aynı zamanda geliştiricilerin, değişen bir dünyada başarı için beslenen ve yetiştirilen canlı bir sistem içinde çalıştıklarını bildikleri anlamına gelir. Java’nın eşzamanlılık modelini yeniden tasarlamaya yönelik iddialı bir çaba olan Project Loom, Java’nın gelişmeye olan bağlılığının altını çizen bir proje örneğidir. Diğer birkaç teklif Şu anda JCP ile çalışmak, Java teknolojisini geliştirmek için önemli hedeflerin peşinden gitmek için benzer bir isteklilik göstermektedir.
Çalışan insanlar üzerinde Java hikayenin sadece yarısı. Çalışan insanlar ile birlikte diğer yarısıdır ve Java’nın birçok kullanımının çeşitliliğini yansıtırlar. Sosyal kodlama ve açık kaynak Java’ya özgü değildir, ancak Java ekosisteminin sağlığının temel bileşenleridir. JavaScript gibi, Java da web ilgi kazandıkça kodlama topluluğuyla birlikte gelişti. Bu başlangıç hikayesi, karakterinin büyük bir bölümünü oluşturuyor.
Açık kaynak çerçeveleri ve araçları
Java’nın başarısının bir diğer büyük itici gücü, onun etrafında oluşturulmuş açık kaynak çerçevelerinin ve araçlarının zenginliğidir. İhtiyacınız olabilecek hemen hemen her şeyin bir veya daha fazla kullanılabilir kütüphanesi vardır. Bir projeyi beğendiyseniz, açık kaynak olma ihtimali yüksektir ve ona katkıda bulunabilirsiniz. Bu, hem öğrenmek hem de topluluk oluşturmak için harika.
Kısa bir süre önce ellerimi YAML’yi ayrıştırma konusunda derinleştirdim ve keşfettim. YılanYAML proje. Kısa süre sonra, bu yeni projeyle egzotik bir şeyler yapmaya çalışırken yabani otların içindeydim. Çok geçmeden projenin sahibiyle sohbet ediyordum.
Metale yakın bazı karmaşık süreç düzenlemeleri yapmam gerektiğinde benzer bir şey oldu. İlk olarak, keşfettim NuProcess proje, sonra küçük bir düzeltmeye katkıda bulunmam gerekiyor. Bunun gibi değiş tokuşlar bir programcının hayatını zenginleştirir. Aynı zamanda açık kaynak projelerinin nasıl geliştiğini de gösterirler.
Java ekosistemindeki projelerin zenginliği, paylaştığım örnekler gibi mütevazı örneklerden veritabanı sürücülerine ve benzeri teknolojilere ve anıtsal projelere kadar uzanır. Gibi uygulama sunucuları var erkek kedi ve iskelegibi çerçeveler hazırda bekletmeve hatta Tutulma IDE’si. Hepsi, katkıda bulunanları davet eden açık kaynaklı projelerdir.
Yay bağımlılığı enjeksiyonu
Java’nın ekosistemi için hiçbir takdir, şapkamızı Bahar’a yatırmadan tamamlanmış sayılmaz. Bu meta-çerçeve, belki de diğer meta-çerçevelerin talip olabileceği standarttır. Neden? Niye? Çünkü Spring, özel kod oluşturmak ve programlarınıza üçüncü taraf kodunu dahil etmek için aynı olanağı kullanmanıza izin verir. Spring, bağımlılık enjeksiyonu ve kontrolün tersine çevrilmesi yoluyla yalnızca kendi dahili bileşenlerinizi daha standart hale getirmenizi sağlamakla kalmaz, aynı zamanda benzer bir standardizasyonu üçüncü taraf projelerin ve satıcıların bileşenlerini nasıl hazırladığına da genişletir. Bu, bu bileşenleri programlarınızda nasıl kullandığınız konusunda daha fazla tutarlılık sağlar.
Tabii ki, Bahar’ın geçerli eleştirileri var ve her zaman doğru araç değil. Google Rehberi Spring’e benzer şekilde çalışan başka bir araçtır. Ancak Spring, bir çerçeve olarak, uygulama bileşenlerini tedarik etmek ve oluşturmak için temiz ve tutarlı bir yol sundu. Bu, o zamanlar oyunun kurallarını değiştiren bir şeydi ve bugün hayati olmaya devam ediyor.
Her şey bir nesne
Java’nın arkasındaki insanlar ve Java’yı kullananlar, geminin yelken açmasını sağlayan rüzgarsa, Java’nın teknik yönü yelkenlerdir. İlk Java spesifikasyonunun Athena benzeri tek bir kafadan (James Gosling’in başı) çıkması etkileyici, ancak bugün hala geçerli olacak kadar esnek kalması etkileyici.
Java tasarımının önemli bir özelliği, Java’da her şeyin bir nesne olmasıdır.
Şu anda işlevsel programlamayı destekleyen bir geliştirme ortamında, bazen Java ve nesne yönelimli programlamanın bu yönünü çöpe atmak modadır. Java’nın görevlileri, bazı işlevsel programlama deyimlerini dile dahil ederek yanıt verdi. Ancak Java’nın her şeyin aslında bir nesne olduğu, güçlü bir şekilde nesne yönelimli bir dil olarak kalması konusunda kararlılar.
Herhangi bir paradigmada harika veya korkunç kod yazmak mümkündür. Bir Java sistemine girerken, önceden güçlü bir şekilde yazıldığını ve her şeyin sınıflarda bulunduğunu bilirsiniz. Bu tasarım kararının mutlaklığı, karmaşıklığı ortadan kaldırır ve onu kullanan dile ve programlara temizlik sağlar. İyi yazılmış Java programları, iyi yazılmış nesne yönelimli kodun mekanik zarafetine sahiptir. İşlevsellik, bir makinedeki dişliler gibi etkileşimli bileşenlerin sonucudur.
Bu yaklaşımın maliyeti, öğrenmenin erken aşamalarında kafa karışıklığıdır. Hemen hemen her Java acemi, anahtar sorularla karşı karşıyadır: public
orada anahtar kelime, sınıf nedir ve neden yazmam gerekiyor “public static void main(String[] args)
” sadece “merhaba dünya” yazdırmak için mi?
Ancak bu öğrenme eğrilerinin büyük ölçekli bir düzenin güçlü yönleri olduğunu göz önünde bulundurun: Yeni başlayanlar, Java’nın bir şeyler yapma yöntemi için temel olan karmaşık kavramlarla karşılaşıyor ve bunları özümsüyor. Java programlarının katı bir şekilde sınıf temelli yapısının, kendisini büyük ölçekte iyi programlamaya borçlu olduğunu söyleyebilirsiniz. Sistemlerin boyutu büyüdükçe, daha küçük ölçekte hantal görünen yapı daha faydalı hale gelir. Çoğu durumda, erken aşama öğrenmenin yükünü doğrular.
Java sözdizimi ile ilgili haklı şikayetler var, şüphesiz aynı şey JavaScript ve diğer tüm diller için de geçerli. Bjarne Stroustrup olarak önceden söylenmiş“Yalnızca iki tür dil vardır: İnsanların şikayet ettiği ve kimsenin kullanmadığı diller.”
JVM
Java sanal makinesi, Java yapısının ara sıra eleştirilerle karşılaşan başka bir yönüdür. Geliştirildiği sırada JVM, çalışma zamanı ortamlarının çeşitliliği için cesur bir teknik çözümdü. O zamandan beri, bazen aşırı mimarinin bir yükü ve bir performans zorluğu kaynağı gibi görünüyordu. Ancak yıllarca aralıksız iyileştirmeden sonra, teknoloji yavaş yavaş kendini haklı çıkardı. Aynı zamanda oldukça ileri görüşlü olduğunu kanıtladı. Dünya son zamanlarda sanal makinelere aşık oldu; her yerdeler, hatta şekilleniyorlar bulut bilişimin en alt katmanı.
Devops kapsayıcılarına ve sunucusuz mimarilere uygulanan JVM, iyi tanımlanmış özellikler ve kontrollerle net bir dağıtım ortamı hedefi sunar. Modern Java sanal makineleri de görülmesi gereken bir şeydir. Kullanıma hazır performansla gelişmiş otomatik bellek yönetimi sunarlar C’ye yaklaşıyor.
Kurumsal yaratıcılık
Yazılım geliştirme iki güçlü akımdan oluşur: kurumsal ve yaratıcı. Örneğin, bir kod üzerinde çalışmanın tek olası açıklaması olan kodlamanın yaratıcı bir neşe ruhu vardır. zindan simülatörü 25 yıldır. Sağlam iş kullanımıyla birleşen bu yaratıcılık, Java’yı canlı ve iyi tutan simyadır. Uzun vadeli başarı için, bir yazılım projesi her ikisine de yer açmalıdır. Java bunu yaptı.
WebAssembly ve Java’nın geleceği
Bir ayrılık notunda, ufukta potansiyel olarak bir dönüm noktası olayı daha belirleyelim: WebAssembly veya WASM. WASM’deki Java şu anda sınırlıdır ve geleceğin nasıl gelişeceği konusunda kesinlik yoktur. Ancak Java’nın bir gün tarayıcıda JavaScript gibi, yani DOM ve tarayıcı API’sine tam erişimle birlikte kullanılması mümkündür. Java’yı tekrar tarayıcıda hayal edin, ancak bu sefer gerçek. Daha garip şeyler oldu.
Telif Hakkı © 2022 IDG Communications, Inc.
[ad_2]
Kaynak : https://www.infoworld.com/article/3666525/7-reasons-java-is-still-great.html#tk.rss_all