Java Nedir?

java logo at melic.com
java logo at melic.com

Java nedir?

Sanıyorum bu sorunun cevabını veren ve vermeye çalışan bir kaç yüz milyon sayfa vardır. Bende o milyonlarca sitenin arasından sıyrılıp da önünüze kadar geldiğime göre bunu en iyi şekilde anlatma görevi bana düştü. Umarım hem aklınızı bulandırmadan hemde canını sıkmadan bunu başarabilirim.

Peki önce sıkılmamanız adına geyiği kısa kesip konumuza hızla dönüyorum.

Java Nesne Yönelimli bir dildir; de nesne yönelim nedir dediğinizi duyar gibi oluyorum.

Hayır Java nedir diye soran kişinin nesne yönelimli programlama deyince duraksaması elbette şaşılacak bir durum değil.O yüzden hemen hızlıca Nesne yönelimdi ne demek anlatıp Java’mıza döneceğim.

İngilizce Object(nesne) Oriented(Yönelimi) Programming(yok artık :P) olup kısaltması OOP olarak bilinir.Etrafınızda insan tarafından yaratılan ne varsa esasında nesne yönelimli desem pek bir yalan olmaz. Neticede ne yapıyorsak etrafımızda(environment) ne varsa ya şekil olarak (Kuş-uçak/at-araba)* ya da kendisinden yaralanarak yapıyoruz (ağaç-masa)*. Bir şekilde bir nesneden iki tane de yapabilirsiniz mesela kumu çok ısıttınız ve cam yaptınız sonra bu erimiş sıvıdan iki tane bardak yaptınız. Şekil olarak birbirinin kusursuz birebir aynısı bile olsa bu iki bardak esasında asla aynı değil; bu iki bardak farklı iki bardak olmaktadır.İster isim olarak ilkBardak ve ikinciBardak diyin isterseniz solBardak ve sagBardak diyin her halukarda birbirinden ayırmak için bir tanım yapacaksınız.Bir fabrikada milyonlarca aynı şekilde üretilmiş ve hepsi aynı malzemeden de olsa yapılmış olsa temelde hepsi birbirinden farklı NESNEler olacaklar. İşte bizde programlama dillerinde bu özelliği kullanarak yazılım yapılan dillere nesne yönelimli diyoruz. Programlama örnekleri verirdim ama bence akıl karıştırır nasılsa ileride bunu daha iyi anlayacaksınız.

Bu arada tanımlama yaparken yukarıda * koyduğum tanımlar var ya onlarıda nesneler arası ilişki olarak düşünün.İleride çok işinize yarayacak bir terim ; bilin yeter.

Java’ya dönersek Java dilinin hemen hemen diğer tüm dillerden en büyük farkı yazdığınız yazılımın derlendikten(sompiled) sonra o Java kodu java’yı destekleyen herhangi bir makinada yeniden derlenmeden çalışabiliyor olması.JAva’cıların en beğendiği sözde “Java’nın prensibinin bir kere yaz her yerde çalıştır” sözüdür. (WORA – Write Once Run Anywhere).

Java kodları(class?!) derlendiğinde Java Sanal Makinesi (JVM) tarafından anlaşılan bir bitkoduna dönüştürülür.Böylelikle JVM çalışan herhangi bir makinada çalışabilmekte.Bu makinalara örnek vermeye kalksak baya vaktinizi çalmam lazım ama arabanızdan,evinizdeki kapı ziline,bindiğiniz asansörlerden tutunda akıllı takısını başına almış tüm alet edevatlar desek yalan olmaz.Özellikle Internet of Things (IOT) için bulunmaz nimettir Java.

Ben bu yazıyı yazarken Java’nın şu anda en son Java 9 sürümü yayımlanmıştı (2017-05-24) Java 9’da neler var ?

Bu kadar özetten sonra daha da özet isterseniz Java (Yani Oracle) nesne yönelimli, güvenli, taşınabilir, dinamik ve tüm hafıza ve cpu kanallarını yönebilen ve kullanabilen bir yazılım olmaya çalışmakta; demin verdiğim linkte uzun uzun anlatmışlar , bir göz atın derim.

“İyi güzel de neden Java öğrenmeliyim ?” mi dedi birisi ?
Bir çok sebep saymak mümkün , mesela :

  • En yaygın ve çok kullanılan programlama dillerinden bir tanesi yani milyonlarca yazılımcı Java’yı kullanıyor diyebiliriz
  • Bilgisayar,telefonlar,blu-ray oynatıcılar,IoT vs gibi hemen hemen her yerde çalışıyor
  • Yeni programlamaya başlayanlar için genel konsepti anlamak çok kolay
  • Statik bir yazımı var , yani yazılımda hataları çözmeden derleyemiyorsunuz bu da uzun çalıştırma sürelerini yok ediyor
  • Belirli bir seviyeye gelene kadar hafıza yönetimi(memory management) yada çöp toplayıcı(garbage collector) gibi konular girmenize gerek yok çünkü bunu otomatik yapabiliyor

Özetle say say bitmez ; hiç bir şey bilmiyorsanız bile yazılım hakkında öğrenmek isteseniz bir ayınızı almaz ufak tefek şeyler yazmaya başlamanız.

Ama şunu da belirtmeliyim başlamak ne kadar kolayda olsa ileri düzey bir Java yazılımcısı olmak zaman , emek ama en önemlisi sabır gerektiriyor.

public class Main {
    public static void main(String[] args) {
        System.out.println("Selam, dünyalı :P");
    }
}

Hemen iki tane bilgi vereyim her komuttan sonra noktalı virgül (;) koymanız şart bazı yazım şartları dışında,daha ileride bunu detaylı bir şekilde anlatacağım ama sabır :D

Bu kodu bir text dosyasına kayıt edin ve adını merhaba.java diye değiştirin.
Bu dosyayı kaydettiğiniz dizinde
>javac merhaba.java
yazın ; aynı dizinde
merhaba.class
diye bir dosya oluşacak.
Yine aynı dizinde
>java merhaba
yazıp enter’a bastığınızda ilk java kodunuzu hem derlemiş hemde çalıştırmış oldunuz.
Ayrıca belirtmeliyim ki artık bu kodu Java’yı destekleyen herhangi bir makinada da çalıştırabilirsiniz.

İyi Java’lamalar :D

Not: yazmış olduğunuz kodun çalışmamasının tek sebebi makinanızda Java desteğinin olmamasıdır.Gerekli JVM ve araçları şu linkten indirip kurabilirsiniz :JAVA SE Dev Kit

About the Author

Melih Melik SÖNMEZ
1976'da İstanbul'da doğdum.