Java, yaygın olarak kullanılan bir nesne yönelimli programlama dili ve yazılım platformudur. Dizüstü bilgisayarlar, mobil cihazlar, oyun konsolları ve diğerleri dahil olmak üzere milyarlarca cihazda çalışır.
Bu tür yeteneklere sahip olmanın bir bedeli vardır. Java, uzun ve karmaşık bir sözdizimi ile öğrenmek zor olabilir. Daha az uygun olabilen statik olarak yazılmıştır. Ve platformdan bağımsız olsa da, bulut bilişim platformunun yükselişi bağımsızlığı daha az kazançlı hale getiriyor.
Bunlar Java’nın gözden düşmesinin sebeplerinden sadece birkaçı.
1. Java Daha Az Popüler Oluyor
Her şeyden önce, Java’nın popülaritesi yavaş yavaş düşüyor gibi görünüyor. Yıllarca öğrenilecek en iyi programlama dillerinden biriydi, ancak artık trend değil. Bu, geliştiricilerin zamanla Java’da daha az yeni uygulama yazacağı anlamına gelir.
Bu eğilim, Java’nın sonunda ortadan kalkacağını ima eder. Dünyanın dört bir yanındaki işletmeler, eski kod tabanlarını korumak için Java programcılarını işe almaya devam edecek, ancak bu sonsuza kadar sürmeyecek.
Yine de, kariyerinizi mevcut programları sürdürmek yerine yeni şeyler inşa etmeye odaklamak istiyorsanız, Java sizin için en iyi seçim olmayabilir.
|Programlama Dilleri
|Mayıs 2022
|Python
|1
|C
|2
|JavaScipt
|3
|C++
|4
|C#
|5
|Visual Basic
|6
|Java
|7
|Assembly Language
|8
|SQL
|9
|PHP
|10
2. Java Basit Değildir
Java’yı öğrenmesi kolay olabilir, ancak basit değildir. Java kodunun yazılması, düzenlenmesi ve derlenmesi kolay olduğu için dili öğrenmesi kolaydır. Ancak bu basit değil çünkü Java ile yazılan kodlar daha ayrıntılı ve yazması daha sıkıcı olma eğilimindedir.
Ayrıca onu derlemeniz gerekir, bu da Java’yı Python gibi dillerden çok daha az kullanışlı hale getirir. Bu nedenle, kodlamayı ilk kez öğrenen bir acemiyseniz, Java başlangıç için iyi bir dil değildir.
Basit, zarif bir kod oluşturmak ve hızlı bir şekilde dağıtmak isteyen bir profesyonelseniz, Java da ideal bir seçim değildir.
3. Alıcılar ve Ayarlayıcılar
Alıcılar ve ayarlayıcılar, bir dil kullanmanın neredeyse zorunlu bir parçasıdır ve birçok çerçeve bunların kullanımını teşvik eder. Java’nın alıcıları ve ayarlayıcıları gereksiz yere ayrıntılı olabilir.
Java alıcıları ve ayarlayıcıları ile süslenmiş kodu yönetmek cehennem ve karmaşıktır. Alıcılar ve ayarlayıcılar sorununa anlamlı bir çözüm bulunmaması, buzdağının sadece görünen kısmıdır.
public class Vehicle {
private String color;
// Getter
public String getColor() {
return color;
}
// Setter
public void setColor(String c) {
this.color = c;
}
}
4. Sözdizimsel Kodlar Yok
Bir koleksiyon üzerinde çalışıyorsunuz. İlk öğeyi istiyorsun. Ne yapıyorsun? Tabii ki, ortak [] operatörünü kullanmak yerine yöntemi çağırıyorsunuz . Hepsi, operatörleri aşırı yükleyemeyeceğiniz için.
Hemen hemen her işlem için, tek karakterli bir operatör kullansa bile, wordy bir yöntem adı kullanmalısınız.
Java kavramı destekler; dil , örneğin + operatörüyle dizeleri birleştirmenize izin verir . Sadece programcının aynı şeyi yapmasına izin vermiyor.
5. Bir Yöntemin Atabileceği İstisnaları Bildirme
Java, bir yöntemin atabileceği istisnaları bildirmenizi gerektirir. Kullanışlı görünüyor, değil mi? Belirli bir yöntemi kullanarak, ne bekleyeceğinizi bilirsiniz.
Sorun şu ki, kod yaşayan bir organizmadır ve kullandığınız yöntem daha fazla istisna atmaya başlar. O zaman ne olacak? Eh, kodunuz derlemeyi durdurdu.
Durumu ele almalı veya atış listesine bir istisna eklemelisiniz. Kullanmakta olduğunuz API’nin değişmediğini varsayalım. Java’da RuntimeException diye bir şey var. Metodunuz bu istisnayı veya onun torunlarından birini atabilirse, bunu bildirmeniz gerekir.
Java’nın istisnaları bir çok kod bakım problemini beraberinde getirebilir.
// Java program that demonstrates the use of throw
class ThrowExcep
{
static void fun()
{
try
{
throw new NullPointerException("demo");
}
catch (NullPointerException e)
{
System.out.println("Caught inside fun().");
throw e; // rethrowing the exception
}
}
public static void main(String args[])
{
try
{
fun();
}
catch (NullPointerException e)
{
System.out.println("Caught in main.");
}
}
}
6. Karmaşık IDE’ler
Java programcıları genellikle Eclipse veya IntelliJ gibi bir IDE kullanır. Bu IDE’ler güçlüdür, ancak özellikle yeni başlayanlar veya orta düzey bir geliştirici için etkileşim kurmaları karmaşıktır. Sizin için daha üretken ve daha az acı verici olması için IDE’nizi içeride ve dışarıda öğrenmek için çok çaba sarf etmeniz gerekecek.
7. Platform Bağımsızlığı 2022’de Daha Az Önemli
Java’nın platformdan çok bağımsız olduğu gerçeği, bugün 10 veya 20 yıl öncesine göre tartışmasız daha az önemli.
Bunun nedeni, yazılım tanımlı bir dünyada yaşıyor olmamızdır. Günümüzde sanal makineler, kapsayıcılar ve bulut hizmetleri, temel ortam hakkında endişelenmeden istediğiniz yerde bir uygulamayı çalıştırmayı kolaylaştırıyor.
Başka bir deyişle, uygulamanızın çalışması gereken yerde çalışması için kodunuzu değiştirmeniz gerekmez. Bunun yerine barındırma ortamını değiştirebilirsiniz.
Bu, uygulama taşınabilirliğinin artık önemli olmadığı anlamına gelmez. Eskisi kadar kritik değil ve bu, Java’yı uzantı olarak biraz daha az önemli kılıyor.
8. Statik Yazma
Java, derleme zamanı sırasında tür denetimi gerçekleştirir. Bu, derleme zamanında her değişkenin türünü bildirmeniz gerektiği anlamına gelir. C ve C++ gibi dillerle aynıdır, ancak Scala ve Haskell gibi diğer diller bir tür tür çıkarımı sunar.
Statik yazımda, değişkenlerin genellikle türleri değiştirmesine izin verilmez. Bu, özellikle büyük bir proje için kod yazarken Java sözdizimini biraz karmaşık hale getirir.
Birçok programcı , çalışma zamanında tür denetiminin gerçekleştiği dinamik programlamayı tercih eder. Bu, bir değişkenin türünün ömrü boyunca değişebileceği anlamına gelir.
Yeni Programlama Dilleri Öğrenin
Java hiçbir şey için iyi değildir, ancak sözdizimi karmaşıktır ve kod okumaya elverişli değildir. Java’nın bağımlılık yönetimi, kötüye kullanıma izin verir ve tespit edilmesi zor hatalara yol açar.
Teknoloji değişmeye devam ediyor ve bir geliştirici olarak ortaya çıkan programlama dillerinde güncel olmak her zaman yararlıdır. Bugün moda olan, yakında dünün haberi olabilir.