Java Nedir? Java’nın Ortaya Çıkışı
“Java nedir?” çok geniş bir soru aslında. Java en temelde “Nesneye yönelik bir programlama dilidir”. Ayrıca JSF, JSP, Java ME, Java FX, GlashFish gibi teknolojilerin de içerisinde bulunduğu platformun genel adıdır.
Java’nın diğer dillerden farkı nedir? Java programcılık dünyasına ne katmıştır?
C dilinin geliştirilmesi bilgisayar dünyasında devrim niteliği taşımaktadır. C’den önce bir çok dil geliştirilmiş olsa da C kadar geniş bir yelpazeye hitap edememişlerdir. C Assembly kodunun yerini alabilecek, yapısal, verimli ve yüksek seviyeli bir dildir. C günümüzde hala geçerliliğini koruyan bir dil olmasına rağmen 70lerden 80lere doğru büyük projelerde prosedürel-yapısal dillerin yarattığı karmaşıklığa bir çözüm aranmaktaydı. 1979 yılında Bjarne Stroustrup C diline sınıfsal özellikleri ekleyerek “C winth classes”-”Sınıflı C” dilini geliştirdi. Daha sonra 1983 yılında bu dilin adı C++ olarak değiştirildi. C++ dili C gibi bir dilin mirasçısı olmanın getirdiği avantajla halen sistem programcılığında en geçerli dil olma özelliğini sürdürmektedir.
C++ programcılar tarafından mükemmel olarak nitelendirilirken 90′ların başında internetin hızla yaygınlaşması programlama dünyasında yeni bir açık ortaya çıkardı. Ve 1991 yılında Sun Microsystems adına çalışan 5 kişi tarafından tasarlanan ve çalışan ilk halinin geliştirilmesi 18 ay süren “Oak” dili ortaya çıktı. Bu isim 1995 yılında “Java” olarak değiştirilmiştir. İnternet Java’nın ortaya çıkmasıyla yakından ilişkili olsa da asıl sebep platform bağımsız bir dil oluşturmaktır. Yani TV kumandasından buzdolabına tüm cihazlara hükmedebilecek bir dil oluşturmak. Web de ayrı bir platform olduğuna göre onun da programlara ihtiyacı vardı. Ve Java da burada devreye girdi.
Java’nın tarihsel gelişimini bir çok kaynaktan okuyabilirsiniz. Biz burada tarihi bırakıp işlev kısmına geçelim. Bildiğiniz gibi makine dilinden bir üst seviyede Assembly dili yer almaktadır ve herhangi bir dille yazdığımız tüm programlar aslında bu Assembly diline çevrilmektedir. Her işlemcinin Assembly komut seti farklıdır. Dolayısıyla bir program hangi işlemcide çalıştırılacaksa o işlemci için oluşturulmuş bir derleyici ile derlenmelidir. Her platform için derleyici geliştirmek çok maliyetli bir iş olduğundan Java olaya farklı bir bakış açısı getirmiştir. Java ile yazdığımız kodlar bir ara koda dönüştürülür. Ve bu ara kod da JVM (Java Virtual Machine-Java Sanal Makinesi) tarafından yorumlanarak yürütülür. Dolayısıyla yazdığınız program Java’yı destekleyen tüm platformlarda çalışabilir.
Java denildiğinde bir çok kişinin aklına ilk olarak Java Applet gelmektedir. İnternetin yeni yeni yayıldığı yıllarda istemci taraflı web uygulaması yazmak için en iyi çözüm olan internet programcılığında da yeni bir sayfa açmıştır.
C/C++ ın güçlü ve kabul görmüş sözdizimi (syntax) Java’ya güç katıyor.
Yukarıda da bahsettiğimiz gibi Java’nın sahneye çıktığı yıllardan günümüze C++ programcılık dünyasında çok güçlü ve önemli bir noktada durmaktadır. Bu c/c++ programcılarının Java öğrenmesini ciddi manada kolaylaştırmasına karşın Java C++ ın geliştirilmiş versiyonudur demek büyük bir hatadır. Bunun en büyük kanıtı olarak Java’nın C++ ile geriye doğru uyumlu olmamasını gösterebiliriz. Yine de bu mirasın Java’ya katkısı yadsınamayacak derecede çoktur.
Java ile Javascript aynı mıdır?
Hayır! Java ile Javascriptin isim benzerliği dışında bir ortak noktası yoktur. Javascript istemci taraflı web script diliyken Java geniş yelpazesiyle bir -platform bağımsız programlama dilidir.-
ByteCode-JVM-Java’nın farkı!
ByteCode JVM’nin çalıştırması için üretilmiş koddur. Bir sistem için JVM oluşturulduktan sonra herhangi bir java programı bu sistem üzerinde çalışabilir. Bununla birlikte ByteCode’a çevrilmiş bir Java programı JVM bulunan herhangi bir platformda çalışabilir. Java’nın gücü işte buradan gelmektedir.
Ayrıca JVM programın güvenliği konusunda da önemli bir rol üstlenmektedir. Programın JVM’nin içinde çalışması olası dış etkilere karşı daha güvenli kılar.
HotSpot
Java’nın ilk sürümünden sonra geliştirilen Hotspot teknolojisi sayesinde kod JIT tarafından çalışma zamanı esnasında parça parça derlenir. Bu teknoloji Java programlarının çalışmasında belirgin bir performans artışı sağlar.

Java’nın Belirleyici Özellikleri
Java geliştiricilerinin katkılarıyla oluşan özellikler listesini vererek bu makalemize nokta koyalım. Özellikleri açıklamaya gerek duymuyorum çünkü Java’yı keşfetmeye devam ettikçe siz de bu özellikler ile ne kastedildiğini çok iyi anlayacaksınız.
- Basit
- Güvenli
- Taşınabilir
- Nesne Yönelimli
- Sağlam
- Çok Kanallı
- Mimariden Bağımsız
- Yorumlanan
- Yüksek Performanslı
- Dağıtık
- Dinamik
Bir başka yazıda görüşmek üzere sağlıcakla kalın…


yaklaşık 9 ay önce
Merhaba, çok güzel anlatmışsınız. Merak ettiğim konu, Sun hala Java’nın sahibi değil mi? Oracle satın almıştı bu yıl. Bir de Java açık kaynak mıdır, bu konuyu netleştirirseniz çok iyi olur. İyi çalışmalar.
yaklaşık 9 ay önce
Merhaba. Öncelikle teşekkür ederim. Oracle Sun’ı satın aldı. İlgili habere http://www.ntvmsnbc.com/id/24958757/ adersinden erişebilirsiniz. Sun Java’nın sahibi, Oracle da Sun’ın sahibi. Fakat Oracle Sun şirketini satın almasına rağmen en azından bize bakan kısmıyla mevcut yapıya dokunmadı. Yani şu anda Java’nın resmi sitesine girerseniz sahibi Sun MicroSystems olarak görünür. Satış tamamen ticari bir olay. Açık kaynak konusunda da http://news.cnet.com/2100-7344_3-6134584.html ve http://www.java.com/tr/download/license.jsp adreslerinde görebileceğin gibi Java artık açık kaynak. Linuxte zaten paket yöneticisinde dikkatini çektiyse OpenJDK olarak geçiyor. Zaten ilerleyen zamanda blogda Açık Kaynak ve Linux üzerine de yazılar yazmayı düşünüyoruz. Son olarak çok sevdiğim bir atasözünü söylemek istiyorum. Linux is like a tepee. It has no Windows, no Gates, and there is an Apache inside.
yaklaşık 8 ay önce
Öncelikle bende teşekkür etmek istiyorum. Çok güzel açıklamışsınız.Fakat size bir sorum olacak java runtime machine’in 4 tane alt programı olması gerekir java script, java applet activex ve diğer bir tane daha vardı onu bulamadım yardımınıza ihtiyacım var.