Java Nedir? Tarihçesi ve Felsefesi
Programlama dünyasında bazı diller gelir geçer, bazıları ise onlarca yıl ayakta kalır. Java, ikinci kategorinin tartışmasız şampiyonlarından biri. 1995'te dünyaya tanıtıldığından beri bankalardan telefonlara, uzay araçlarından oyun sunucularına kadar her yerde karşına çıkıyor.
Bu derste Java'nın nereden geldiğini, neden bu kadar popüler olduğunu ve "bir kere yaz, her yerde çalıştır" felsefesinin ne anlama geldiğini öğreneceksin.
Hikaye Başlıyor: Green Project
1991 yılında Sun Microsystems'de çalışan James Gosling, Mike Sheridan ve Patrick Naughton adlı üç mühendis bir araya geldi. Amaçları bilgisayar değildi aslında — televizyon, buzdolabı, mikrodalga gibi ev aletleri için yazılım geliştirmek istiyorlardı. Bu projeye Green Project adını verdiler.
O dönemde C ve C++ bu tür cihazlar için kullanılıyordu ama ciddi sorunları vardı. Her cihazın farklı bir işlemcisi olduğu için kodu her seferinde baştan derlemek gerekiyordu. Bellek yönetimi manuel olduğundan küçücük bir hata cihazı çökertebiliyordu. Gosling düşündü: "Bir dil yazsam da bu sorunlardan kurtulsam?"
İşte bu düşünce Java'nın tohumunu attı.
Oak'tan Java'ya
Gosling yeni dilini ilk başta Oak (meşe ağacı) olarak adlandırdı. Ofisinin penceresinden gördüğü bir meşe ağacından ilham almıştı. Ama Oak ismi zaten başka bir teknoloji tarafından tescil edilmişti.
Ekip yeni bir isim bulmak için beyin fırtınası yaptı. Kahve içerken — evet, gerçekten kahve içerken — birisi "Java" dedi. Java, Endonezya'daki bir adanın adıydı ve dünyanın en iyi kahve çekirdeklerinin yetiştirildiği yerdi. Programcılar zaten kahve bağımlısıydı, isim tuttu.
Bu yüzden Java'nın logosu bir kahve fincanıdır. Şaka değil, gerçekten bu kadar basit.
1995: Java Dünyaya Açılıyor
Green Project başlangıçta ev aletleri için tasarlanmıştı ama internet patlaması her şeyi değiştirdi. 1995'te web tarayıcıları yeni yeni yaygınlaşıyordu ve Sun Microsystems Java'yı web için yeniden konumlandırdı.
Java applet teknolojisiyle tarayıcıların içinde çalışan küçük programlar yazmayı mümkün kıldı. O dönem için bu devrim niteliğindeydi — web sayfaları artık sadece metin ve resim değil, interaktif uygulamalar olabiliyordu.
23 Mayıs 1995 tarihinde Java resmi olarak duyuruldu. İlk sloganı hemen herkesin aklına kazındı:
"Write Once, Run Anywhere" — Bir kere yaz, her yerde çalıştır.
Write Once, Run Anywhere (WORA)
Bu slogan Java'nın en temel felsefesini özetliyor. Ama ne demek tam olarak?
Şöyle düşün: Bir mektup yazdığını hayal et. Normal şartlarda bu mektubu sadece Türkçe bilen insanlar okuyabilir. Ama bir çevirmen tutsan ve mektubu evrensel bir dile çevirsen, dünyanın her yerindeki insanlar okuyabilir. İşte Java tam olarak bunu yapıyor.
C veya C++ ile bir program yazıp derlediğinde, o program sadece derlediğin işletim sisteminde çalışır. Windows'ta derlersen Windows'ta, Mac'te derlersen Mac'te çalışır. Başka bir sistemde çalıştırmak istersen kodu o sistem için yeniden derlemelisin.
Java'da durum farklı. Java kodunu derlediğinde ortaya bytecode denen bir ara format çıkar. Bu bytecode, herhangi bir işletim sisteminde kurulu olan Java Virtual Machine (JVM) tarafından çalıştırılabilir. Yani sen kodu bir kere yazıp derlersin, JVM kurulu olan her yerde çalışır.
[Java Kodu] → javac → [Bytecode (.class)] → JVM → [Çalışan Program]
↑
Windows / Mac / Linux
farketmez!Java'nın Temel Felsefesi
Java tasarlanırken beş temel prensip belirlendi. Bu prensipler bugün hâlâ geçerli:
1. Basit ve tanıdık olmalı C++ bilen birisi Java'ya kolayca geçebilmeli. Söz dizimi C++'a benzer ama karmaşık özellikler (pointer aritmetiği, çoklu kalıtım, operator overloading) çıkarılmıştır.
2. Nesne yönelimli olmalı Java'da her şey nesne etrafında döner. Fonksiyonlar bile bir sınıfın içinde yaşar. Bu zorunluluk başta kısıtlayıcı gelebilir ama büyük projelerde kodu düzenli tutmayı sağlar.
3. Güvenli ve sağlam olmalı Java, pointer kullanmaz. Bellek yönetimini Garbage Collector otomatik yapar. Array sınırlarını kontrol eder. Bu özellikler sayesinde C/C++'ta sıkça karşılaşılan bellek sızıntısı ve buffer overflow gibi hatalar Java'da neredeyse imkansızdır.
4. Platform bağımsız olmalı WORA felsefesi — yukarıda anlattık.
5. Yüksek performanslı olmalı Java yorumlanan bir dil olarak başladı ama JIT (Just-In-Time) Compiler sayesinde zamanla native koda yakın performans seviyelerine ulaştı.
Java'nın Versiyon Tarihçesi
Java yıllar içinde çok fazla evrim geçirdi. İşte önemli kilometre taşları:
| Yıl | Versiyon | Önemli Yenilik |
|---|---|---|
| 1996 | Java 1.0 | İlk resmi sürüm |
| 1998 | Java 1.2 | "Java 2" olarak pazarlandı, Swing GUI eklendi |
| 2004 | Java 5 | Generics, for-each, autoboxing, enum |
| 2014 | Java 8 | Lambda expressions, Stream API — devrim niteliğinde |
| 2017 | Java 9 | Module sistemi (Project Jigsaw) |
| 2018 | Java 11 | İlk LTS (Long Term Support) sürüm (yeni takvimde) |
| 2021 | Java 17 | Sealed classes, pattern matching — ikinci büyük LTS |
| 2023 | Java 21 | Virtual threads, record patterns — üçüncü büyük LTS |
| 2025 | Java 25 | En güncel LTS sürüm |
2017'den itibaren Java 6 aylık sürüm döngüsüne geçti. Her 6 ayda bir yeni sürüm çıkar, ama her sürüm uzun vadeli desteklenmez. LTS (Long Term Support) sürümler genellikle 2-3 yılda bir gelir ve kurumsal projeler bunları tercih eder.
💡 İpucu: Yeni başlıyorsan Java 21 veya Java 25 ile başla. Bu kursun örnekleri Java 21+ ile uyumludur.
Java'nın Kullanım Alanları
Java'nın nerede kullanıldığını sormak, "suyun nerede kullanıldığını" sormak gibi bir şey. Her yerde.
Kurumsal Uygulamalar (Enterprise)
Bankaların, sigorta şirketlerinin, havayollarının arka plan sistemleri büyük çoğunlukla Java ile yazılmıştır. Spring Framework bu alanın tartışmasız kralıdır. Büyük veri işleme, transaction yönetimi, güvenlik — Java'nın en güçlü olduğu alan burasıdır.
Android Uygulama Geliştirme
Android işletim sistemi uzun süre Java'yı resmi geliştirme dili olarak kullandı. Bugün Kotlin öne çıkmış olsa da, Android'in altyapısı hâlâ Java üzerine kuruludur ve milyonlarca satır Java kodu aktif olarak çalışmaktadır.
Web Uygulamaları
Spring Boot, Jakarta EE (eski adıyla Java EE), Quarkus, Micronaut gibi framework'lerle modern web uygulamaları ve mikroservisler geliştirilir.
Büyük Veri (Big Data)
Hadoop, Apache Spark, Apache Kafka, Elasticsearch — büyük veri ekosisteminin temel taşları Java ile yazılmıştır.
Oyun Sunucuları
Minecraft Java ile yazılmıştır. Birçok MMORPG oyununun sunucu tarafı Java kullanır. Yüksek eşzamanlılık (concurrency) gerektiren sistemlerde Java çok güçlüdür.
Gömülü Sistemler ve IoT
Akıllı kartlar (SIM kartlar dahil), Blu-ray oynatıcılar ve IoT cihazları Java'nın gömülü versiyonlarını kullanır.
Bilimsel Uygulamalar
NASA'nın Mars rover'larının yer kontrol yazılımı Java ile geliştirilmiştir. CERN'de parçacık fiziği simülasyonlarında kullanılır.
Java Kimin Sahipliğinde?
Bu biraz karışık bir konu ama bilmen gerekiyor.
Java, Sun Microsystems tarafından yaratıldı. 2010 yılında Oracle, Sun Microsystems'i satın aldı ve Java'nın sahibi oldu.
Oracle, Java'nın geliştirilmesini OpenJDK projesi üzerinden açık kaynak olarak sürdürüyor. Yani Java'nın kendisi açık kaynak, ama Oracle'ın kendi dağıtımı (Oracle JDK) ticari kullanımda lisans gerektiriyor.
Pratikte bu şu anlama geliyor:
OpenJDK → Ücretsiz, açık kaynak. Çoğu geliştirici bunu kullanır.
Oracle JDK → Ticari projeler için ücretli lisans gerekebilir.
Amazon Corretto, Azul Zulu, Eclipse Temurin → Ücretsiz OpenJDK dağıtımları. Kurumsal projeler genellikle bunlardan birini tercih eder.
⚠️ Dikkat: Oracle JDK kullanıyorsan lisans koşullarını kontrol et. Öğrenme amaçlı sorun yok ama ticari projede sürprizle karşılaşmamak için OpenJDK tabanlı bir dağıtım (Eclipse Temurin gibi) tercih et.
Java Ne Tür Bir Dil?
Java'yı sınıflandırmak gerekirse:
Derlenen + Yorumlanan (Hybrid): Önce bytecode'a derlenir, sonra JVM tarafından yorumlanır/JIT derlenir.
Statik tipli: Değişkenlerin tipini önceden belirtmelisin.
int x = 5;yazarsın,x = "hello";diyemezsin.Nesne yönelimli (OOP): Her şey sınıf ve nesneler üzerinden çalışır.
Güçlü tipli (Strongly typed): Tip dönüşümleri otomatik olarak yapılmaz, açıkça belirtmelisin (bazı istisnalar dışında).
Garbage collected: Bellek yönetimini sen yapmazsın, JVM halleder.
Bu özelliklerin her birini ilerleyen derslerde derinlemesine inceleyeceğiz.
Java Ne Kadar Popüler?
Popülerlik sıralamaları kaynaklara göre değişir ama Java sürekli ilk 3'te yer alır.
TIOBE Index (2025): Java, Python ve C ile birlikte ilk 3'te. Stack Overflow Developer Survey: En çok kullanılan diller arasında sürekli üst sıralarda. GitHub: Milyonlarca aktif Java projesi.
Neden bu kadar popüler? Birkaç nedeni var:
Geriye uyumluluk: 20 yıl önce yazılmış Java kodu bugün hâlâ çalışır. Bu, kurumsal dünyada paha biçilmez bir özelliktir.
Devasa ekosistem: Maven Central'da milyonlarca kütüphane var. Ne yapmak istersen, muhtemelen birisi zaten yapmıştır.
İş piyasası: Java geliştiricilere talep sürekli yüksek. Özellikle fintech, bankacılık ve büyük ölçekli sistemlerde.
Topluluk: Stack Overflow'da Java sorularına genellikle dakikalar içinde cevap gelir.
Java ile Neler Yapabilirsin?
Somutlaştıralım. İşte Java ile yapılmış bazı gerçek dünya projeleri:
Twitter — Backend servisleri büyük ölçüde Java
Netflix — Mikroservis altyapısı Java/Spring Boot
LinkedIn — Java tabanlı backend
Uber — Birçok servisi Java ile yazılmış
Minecraft — Tamamen Java ile geliştirildi
Android OS — Çekirdek kütüphaneleri Java
Bu kursun sonunda sen de bu tür uygulamaların temellerini oluşturabilecek bilgiye sahip olacaksın.
Java Öğrenmenin Doğru Yolu
Java öğrenirken sık yapılan bir hata var: sadece okumak. Programlama, bisiklet sürmeye benzer — kitap okuyarak bisiklet sürmeyi öğrenemezsin. Her dersten sonra mutlaka kod yaz, hata yap, hataları düzelt.
Bu kurs boyunca şu yaklaşımı benimseyeceğiz:
Kavramı öğren — Ne olduğunu anla
Kodu gör — Çalışan örnekleri incele
Kodu yaz — Kendi ellerinle yaz (kopyala-yapıştır yapma!)
Kodu boz — Bir şeyleri değiştir, ne olduğunu gör
Kendi projeni yap — Öğrendiğini birleştir
Analoji: Java Bir LEGO Seti Gibidir
Java'yı anlamanın en iyi yolu onu bir LEGO seti olarak düşünmek.
LEGO parçaları standarttır — dünyanın neresinden alırsan al, birbirine uyar. Java bytecode'u da böyledir: hangi sistemde derlenirse derlensin, JVM olan her yerde çalışır.
LEGO ile küçük bir ev de yapabilirsin, devasa bir kale de. Java ile basit bir hesap makinesi de yazabilirsin, Netflix'in altyapısını da.
LEGO parçalarını birbirine bağlayan çıkıntılar ve yuvalar var — Java'da bunlar interface'ler ve sınıflar. Parçalar birbirine uyumlu çalışır.
Ve en önemlisi: LEGO ile bir şey inşa etmenin tek yolu parçaları eline alıp denemek. Java da aynı şekilde.
İlk Java Kodu (Tadımlık)
Henüz hiçbir şey kurmadık ama bir tadımlık olsun. İşte dünyanın en basit Java programı:
public class Merhaba {
public static void main(String[] args) {
System.out.println("Merhaba, Java dünyasına hoş geldin!");
}
}Bu kodu henüz anlamasan bile sorun yok. Bir sonraki derslerde her satırı tek tek açıklayacağız. Şimdilik sadece şunu bil: Java'da her program bir sınıf içinde yaşar ve main metodu programın başladığı yerdir.
İşte biraz daha eğlenceli bir örnek:
public class Tanisma {
public static void main(String[] args) {
String isim = "Java";
int yas = 30;
System.out.println(isim + " dili " + yas + " yaşında!");
System.out.println("Ve hâlâ en popüler dillerden biri!");
}
}Çıktı:
Java dili 30 yaşında!
Ve hâlâ en popüler dillerden biri!Gördüğün gibi, Java kodu okunabilir ve anlaşılır. Biraz "törensel" (her şey sınıf içinde, public static void main...) ama buna çabuk alışacaksın.
Java'nın Geleceği
Java ölüyor mu? Bu soru her yıl sorulur ve cevap her yıl aynı: Hayır.
Java sürekli modernleşiyor. Son versiyonlarda eklenen özellikler:
Virtual Threads (Java 21): Milyonlarca iş parçacığını kolayca yönetebilirsin. Go dilinin goroutine'lerine benzer.
Records: Veri taşıma sınıflarını tek satırda tanımlayabilirsin.
Pattern Matching: Tip kontrolü ve dönüşümü çok daha kolay.
Sealed Classes: Kalıtım hiyerarşisini kontrol altına alabilirsin.
Text Blocks: Çok satırlı metinleri rahatça yazabilirsin.
Java ekibi, dili modern tutarken geriye uyumluluğu bozmamaya özen gösteriyor. Bu denge, Java'yı kurumsal dünyada vazgeçilmez kılıyor.
💡 İpucu: Java öğrenmek sadece bir dil öğrenmek değildir. Nesne yönelimli programlama, tasarım kalıpları, veri yapıları gibi evrensel kavramları öğrenirsin. Bu bilgiler hangi dile geçersen geç işine yarar.
Java'nın Sloganları ve Mottoları
Yıllar içinde Java'nın birkaç ünlü sloganı oldu:
"Write Once, Run Anywhere" (WORA) — Asıl klasik. Platform bağımsızlığı ifade eder.
"3 Billion Devices Run Java" — JDK kurulumunda çıkan ünlü mesaj. Abartılı mı? Belki. Ama uzak değil.
"Code Once, Deploy Everywhere" — WORA'nın modern versiyonu.
Özet
Java, 1995'te Sun Microsystems'de James Gosling liderliğinde geliştirilmiş, genel amaçlı bir programlama dilidir.
Green Project ile ev aletleri için başlayan serüven, internetin patlamasıyla web'e yöneldi.
"Write Once, Run Anywhere" felsefesi sayesinde Java kodu, JVM kurulu her platformda çalışır.
Java statik tipli, nesne yönelimli, garbage collected bir dildir — güvenlik ve sağlamlık ön plandadır.
Kurumsal uygulamalar, Android, web servisleri, büyük veri gibi geniş bir kullanım alanına sahiptir.
Java sürekli modernleşiyor — Virtual Threads, Records, Pattern Matching gibi yeni özelliklerle güncel kalıyor.
AI Asistan
Sorularını yanıtlamaya hazır