Java

Java’ya Giriş

20 Nisan 2018

Merhabalar. Java ile alakalı başlangıç seviyesi eğitim yazı serisine başlamadan önce kısa bir açıklama yazısı yazmak gerekir diye düşünüyorum. Yazıda, Java’nın nasıl çalıştığını ve bize ne gibi bir avantaj sağladığını anlatmaya çalışacağım.

Resmi sitesinde (https://java.com.tr) şöyle bir giriş paragrafı var:

Java web’i daha eğlenceli ve kullanışlı hale getiren uygulamalar geliştirmek için kullanılan bir teknolojidir. Java, web sayfaları yaratmak için kullanılan ve yalnızca tarayıcınızda çalışan javascript ile aynı şey değildir.

Bana göre önemli ve eğlenceli olan son kısmı sadece. “…javascript ile aynı şey değildir.”. Evet arkadaşlar, Java ile JavaScript’in her ne kadar isim benzerliği olsa da bir bağı yoktur. James Gosling ve Patrick Naughton tarafından 1991 yılında geliştirilen bir programlama dilidir.

Bu söylediğim muhtemelen size bir şey ifade etmeyecek ama Java dili, Türkçe’ye “Nesne Tabanlı Programlama” olarak çevirdiğimiz, İngilizce karşılığı “Object Oriented Programming” veya kısaca OOP dilidir. Tabii ki dünyada en çok kullanılan programlama dillerinden biri olmasının sebebi sadece bu değil. Yazının devamında açıklamaya çalışacağım zaten. Ama önce programları nasıl çalıştırdığına bir bakalım.

  1. Önce programımızı Java’nın anlayacağı (buna “syntax” diyeceğiz) dilde yazıyoruz.
  2. Programı okuyan Java, kodumuzu tüm platformların anlayabileceği şekilde çeviriyor. Çevirisini yaptığı koda “bytecode” deniyor. İşlemin kendisine de “compile” deniyor.
  3. “Compile” edilen program JVM tarafından çalıştırılır.

Java Virtual Machine (JVM)

Yukarıda ikinci adımda bahsettiğim “compile” işlemini yapan, Java Development Kit (JDK)‘in içinde bulunan, bizim “javac compiler” diye adlandırdığımız bir makine bulunuyor. Bunu yaptıktan sonra üçüncü adımda programın çalışmasını sağlayan araca da JVM yani Java Virtual Machine deniyor. Burada dikkat edilmesi gereken nokta, her işletim sisteminin kendine özel JVM’i bulunuyor ve bu makine kodumuzu tüm işletim sistemlerinin anlayabileceği bir ortak dile çeviriyor. Bu nedenle de Java’ya “platform independent” yani işletim sisteminden bağımsız, yani her işletim sisteminde çalıştırılabilir özelliğine sahip deniyor.

Java Development Kit (JDK)

JVM’i açıklarken JDK’dan bahsettim. JDK da adından da anlaşılacağı üzere, program geliştiricilerinin kullandığı, içerisinde Java Runtime Environment (JRE), “compiler” ve daha bir çok aracı barındırıyor.

Java programı oluşturabilmek için JDK’ya ihtiyaç duyuyoruz.

Java Runtime Environment (JRE)

JRE de, JDK’nın içinde bulunan bir parça olarak düşünülebilir. Yani eğer sisteminizde JDK yüklüyse, JRE de yüklüdür. Ancak program geliştirmek yerine sadece Java programlarını çalıştırmak istiyorsanız, JRE yeterli olacaktır. Bunun dışında JDK’nın yüklü olması gerekiyor. JRE’nin içinde aynı zamanda JVM de bulunuyor.

Sonuç olarak, eğer sisteminizde JDK yüklüyse, başka bir şey yapmanıza gerek yok. Java programını yazıp, çalıştırabilirsiniz. Ancak JRE yüklüyse programı sadece çalıştırabilirsiniz.

Genel Özellikleri / Avantajları

Biliyorum, buraya kadar olan kısım biraz sıkıcıydı. Şimdi, biraz daha eğlenceli ve bizim hoşumuza gidecek kısma bakalım. Java’yı bu kadar ünlü ve kullanışlı yapan nedir?

Tüm Platformlarda Çalıştırılabilir

Yukarıda “compile” işleminden bahsetmiştik. İşte Java’yı tüm platformlarda çalıştırılabilir özelliğini sağlayan şey bizim “compile” diye adlandırdığımız işlem. Yazmış olduğunuz kod, “compiler” yardımıyla “bytecode” olarak dönüştürülür. Bu “bytecode” tüm sistemlerin anlayabileceği bir dil olduğu için programınız da tüm sistemlerde çalıştırılabilir. Bu da geliştiriciler için çok büyük bir avantaj oluyor haliyle.

Bir OOP Dilidir

OOP konusunu yukarıda açmıştım aslında. Başlangıç seviyesinde bir kişinin OOP terimini algılayabilmesi çok da mümkün değil. Bunu şu şekilde düşünebilirsiniz. Yazdığınız programlar bazen çok güçlü ve karışık olacak. Bu nedenle programınızı parçalara bölme ihtiyacı duyacaksınız. Bu parçalara küçük nesneler diyebilirsiniz. Bu şekilde programlamaya da “Nesne Tabanlı” yani “Object Oriented” deniyor. Nesne tabanlı programlamada çok ileride göreceğimiz dört farklı konsept bulunuyor. Bunlar:

  • Abstraction
  • Encapsulation
  • Inheritance
  • Polymorphism

Bundan sonra sayacağım özellikleri çok büyük ihtimalle önemsemeyecek ve okumadan devam edecekseniz. Bu nedenle anlatma gereği de duymuyorum açıkçası. Ama kısaca şunları söyleyelim isterseniz. Kolay bir dil olarak görülür, güvenli bir dildir, taşınabilir ve paylaşıma açık bir dildir diyebiliriz.

Şimdilik, bu giriş yazısını burada kesebiliriz. Bundan sonra sistemimize Java’yı nasıl yükleyeceğimiz ile alakalı bir yazı paylaşımı yapacağım.

Bir Cevap Yazın

TR
EN TR
%d blogcu bunu beğendi: