search
Giriş
Merhabalar arkadaşlar, Sitemizi programlama ile ilgilenen bütün arkadaşlarımızın Türkçe içerik konusunda çektiği sıkıntılar düşünülerek soru/cevap şeklinde bir etkileşimde bulunabilmesi için kurduk. Umuyoruz hepimiz için güzel bir deneyim olur. Hasscript Ekibi
0 oy
461 gösterim
Sürekli java ve javascript programlama dillerinden bahsediliyor. Bu iki dil aynı mıdır? Arasında fark var mıdır?

Neden java? Neden javascript?
Java kategorisinde 6.2k puan
yeniden etikenlendirildi
Üniversite okurken javascript'i java'nın bir kütüphanesi sanıyordum :)
Yine iyi yaklaşım. İkisini aynı sanan da çok oluyor. Ben de yıllar önce öyle sananlardan olabilirim. Çok uzun zaman geçti hatırlamıyorum :)

1 cevap

0 oy

İki farklı dildir. İlgilizce ile Almanca gibi düşünülebilir. Temel olarak aynı şeyleri yapmaya yarayan ama farklı yaklaşımları olan iki programlama dilidir.

Konuya biraz tarihsel yaklaşmakta fayda olduğunu düşünüyorum. Madde madde gidelim:

  • Java, genel amaçlı bir programlama dili olarak çıkmıştır. Javascript ise internet tarayıcıları üzerinde kullanıcı arayüzü işlemlerinin geliştirilmesi için vb script alternatifi olarak çıkmış bir scripting (betik) dilidir.
  • Java, derlenebilen, farklı sistemler üzerinde bir değişiklik yapmadan çalıştırılabilen bir dildir. Jacascript, başlarda tarayıcı üzerinde derlenmeden direk çalışırılabilen bir yapıda idi.
  • Java, gerek kullanıcı arayüzleri gerekse veri tabanı, network kullanımı gibi daha detaylı işleri gerçekleştirebilen bir dildir. Javascript, güvenlik zaafiyetlerine yol açmamak için yoğun bir sınırlamayla sadece belirlenen işlemleri yapabilecek bir dil olarak tasarlanmıştı.

Javascript tarafında genel olarak geçmiş zaman kullanıyorum, çünkü; günümüzde javascript artık tam olarak java'ya rakip olmaya çalışan bir dil olarak görünüyor. Artık tarayıcı üzerindeki yaşam döngüsünü backend uygulamalara da genişletmiştir. Yani veri tabanı işlemleri, network işlemleri, dosya işlemleri de yapabilir durumdayız. NodeJS kullanarak java ile yapabileceğimiz hemen herşeyi Javascript ile de yapabilecek durumdayız.

Bu kısımdan sonra karşımıza çıkan kıssaslar ise, yazım kolaylıkları, kütüphane zenginlikleri, hafıza ve işlemci kullanımları gibi konulardır.

Java, "herşey bir objedir" düsturuyla yola çıkarak özellikle OOP kullanarak kod yazmayı zorlamaktadır.
Javascript, OOP desteği sunsa da zorlamamaktadır. Hatta Javascript OOP desteğini beğenen bir programcıya henüz denk gelmedim. Genel yazım olarak sonradan eklenen yapılar programcılar tarafından çok da kabul görmedi diyebiliriz.

Java, fonksiyonel program yazma özelliklerini özellikle 8. versiyonundan sonra geliştirmiştir. Halen geliştirmeye devam etmektedir.
Javascript, fonksiyonel özelliklerini en başından beri tutmaktadır. Görece Java'dan daha iyi durumdadır diyebilibir.

Özellikle CPU/işlem gücü isteyen uygulamalarda java daha performanslı çalışmaktadır.
Basit bir uygulama yazılıp çalıştırıldığında hafıza kullanımı Javascript tarafında daha etkin kullanılmaktadır. Ama uygulamanın detaylanması sonucu farklı sonuçlar çıkmaya başlayabilir.

En basit java uygulamasını şu an ayağa kaldırdığınız zaman jvm'in kullandığı hafıza miktarı bayağı fazla oluyor.

Son cümlelerimize gelelim.

Ben bugüne kadar ikisini de çok pazarlayan yazılara denk geldim. Java şöyledir, Javascript böyledir tarzı.

Genel geçer bir durum var.

Özellikle 20 yıldan fazladır iki dilin de kullanıldığını varsayarsak, iki dil de kendi alanlarında birer standard haline gelmiştir.

Sunucu (backend) uygulamalarında muadilleri olsa bile iş dünyası Java'ya çok büyük yatırımlar yapmış ve olgunlaştırmıştır. Keza en yaygın kullanılan programlama dili olarak karışımıza çıkar.

Client (frontend/ui) tarafında ise tarayıcı üzerinde Javascript net bir şekilde alternatifi olmayan bir dildir. Typescript ile yazabilsek bile çıkan dosyalar javascript dosyalarına dönüştürülmektedir. Web assembly gibi gelecek vaad eden yaklaşımlar olsa bile şuan javascript yerine bir alternatif var demek biraz hayali kalıyor.

6.2k puan

İlgili sorular

1 oy
1 cevap 540 gösterim
540 gösterim
Java da Double.parseDouble ile Double.valueOf arasındaki fark nedir?
16 Ağustos 2018 Java kategorisinde asefat 141 puan sordu
0 oy
1 cevap 300 gösterim
300 gösterim
Maven ile çalışırken genellikle insanlar "mvn clean install" diyor. Bazı arkadaşlar da "mvn clean compile" daha iyi olduğunu söylüyor. Arasındaki fark nedir?
31 Ağustos 2021 Java kategorisinde kenan 6.2k puan sordu
0 oy
1 cevap 408 gösterim
408 gösterim
Bugün öğrenmem lazım bu ikisi arasındaki fark nedir. Dinamik programlama da fibonaci örneğini çözmem gerekiyor yardımcı olabilecek varmı
17 Ağustos 2018 Java kategorisinde JavaBey 102 puan sordu
0 oy
1 cevap 1.1K gösterim
1.1K gösterim
Java'da throw ve throws diye iki tane kelime var bunların arasındaki fark nedir?
9 Ocak 2018 Java kategorisinde kenan 6.2k puan sordu
0 oy
1 cevap 388 gösterim
388 gösterim
İlk soru bunların arasındaki fark nedir? ikincisi de bunları neden kullanmalıyım?
5 Ocak 2017 Java kategorisinde kenan 6.2k puan sordu