Anasayfa | Web'den haberler | webbilisim Hakkında | İletişim | Filmler| || | | üye girişi | kayıt
Java Nedir?
1. Basit & Küçük

Java programlama dilinin öğrenilmesinin kolay olduğunu iddia eden Sun'daki geliştiricilere1 yeni programlamaya başlayanların inanması biraz güç olacaktır.
Programlamayı bilen kişiler için (özelliklede C++) çok daha kolaydır. Çünkü Java C++ 'a çok benzer.
C++ 'da karmaşık olan bazı şeyler atılmış1 basit olanlar eklenmiş
Küçük : Java çok küçük işlemcilerde bile çalışabilir. Temel ihtiyacı ( İşlemci1 standart sınfılar ve "Thread"-desteği ) 215 KB dır. (Sun 'ın iddiası )

2. Nesneye yönelimli & Dağınık

Nesneye yönelimli mi ? O da ne? Nesne yönelimli (Object Oriented) 1 insanların kavramada çok zorluk çektikleri bir kavram. Ama bu1 iyi özelliklerinden dolayı1 yazılım geliştirmede kabul görmesini engelleyemiyor.
Adından da anlaşıldığı gibi1 nesneye yönelimli programlamada insan nesne geliştirmeye konsantre oluyor. Nesne1 verilerden ( değişkenler ) ve bu verileri değiştirmeye yarayan fonksiyonlardan ( Method ) oluşuyor. Nesneye yönelimli programlamada1 sonradan kullanılabilecek genel nesneler (Object) oluşturulması idealdir (Sınıflar). Profesyonel programlamada1 devamlı büyüyen havuzda bulunan nesnelere ulaşılarak1 bu nesneler tekrar kullanılabilir (Sınıf kütüphaneleri). Standart sınıf kütüphaneleri (Giriş/Çıkış1 Grafik vb.) oluşturulmuştur. Bunlar programların içine katılırlar.
Uzaktaki bir sistemde bulunan nesnelere Java programları Internet üzerinden kolayca ulaşabilirler.Sun firmasının vizyonu : Programların tamamının lokal bilgisayarda bulunmaması1 gerekli parçacıklarına ihtiyaç halinde internet üzerinden erişilmesi. Sun firmasının bu vizyonunun gerçek olup olmayacağını göreceğiz...


3. Yorumlayıcılı & Hızlı

Java programları direkt işlemci tarafından yorumlanmaz. Özel bir program tarafından yorumlanırlar (Yorumlayıcı = Interpreter ).
Bunun avantaj ve dezavantajları vardır : Programı geliştirirken bazı adımlardan kurtulursunuz. Örneğin bazı program parçacıklarına bağlantı kurmaktan (Link). Dezavantajı ise tüm desteklemelere rağmen1 programın çalışmasının yavaş oluşu.
Sun firması bir ara katman oluşturdu. Java bir önyorumlayıcı tarafından byte koduna (bytecode) çevrilir. Çok büyük avantaj olan1 bazı küçük değiştirmelerde derleyemeye gerek kalmaması1 bununla yok oluyor.
Fakat bu "bytecode" makina diline çok yakındır. Bundan dolayıdır ki çok hızlı bir kod oluşturulmuş oluyor. Bu arada "Just-in-Time" Compiler lar "bytecode" u gerçek makina koduna çeviriyorlar. Böylece hız 10 kat (hatta daha fazla) artıyor.
Sun firmasının geliştireceği özel "Java işlemcileri" kapıda. Bunlar Java programları direkt çalıştıracaklar.


4. Sağlam & Güvenilir

Derleyici (Compiler) ve yorumlayıcı (Interpreter) kombinasyonun başka bir yönden avantajları var. Ön derleyici tip (ve buna benzer) hataları kontrol ederken1 yorumlayıcı hataları yakalar ve gereğini yapar. En kötü ihtimalle1 derlenmiş bir program çöker.
Yorumlayıcı1 yabancı verilere ulaşılmasını engeller. C++ 'taki bu özellik kaldırmış.
Gerçekten Java güvenli bir programlama dili ( Hiç bir şey %100 güvenli değildir. Günümüzde kredi kartı üçkağıtçılığı yapılmasına rağmen halen insanlar hal kredi kartlarını internet üzerinden kullanıyorlar. Niye Java %100 güvenilir olsun ki ....)


5. Platform bağımsız & Taşınabilir

Burada program geliştiricilerinin bir rüyası gerçekleşiyor:Herkes farklı işlemcilerde ve işletim sistemlerindeki problemi bilir. Birisinde çalışır diğerinde çalışmaz ve bu geliştiricilerin kabusudur ( Düşünün ki 10 tane video sistemi var ). Derleyici burada devreye girer ve programı "bytecode" çevirir. Bu kod tamamen platform bağımsızdır ve tüm işlemcilerde çalışır ( İnşallah )
Bir Java programı1 hiçbir değişiklik yapılmadan1 desteklenen tüm sistemlerde çalışır.
Ayrıca C++ 'da bazı belirsizlik arz eden tanımlar temizlenmiş. Bu tanımlar değişik sistem ve derleyicilerde1 değişik biçimlerde kabul ediliyorlardı. Örneğin C++ 'da hiçbir zaman bir tamsayının (integer) kaç byte olduğu bilinemiyordu. Java'da bir tamsayı herzaman (Hangi sistemde olursa olsun ) 4 Byte dır.


6. Multithread & Dinamik

Modern bir programda bir çok işlem aynı zamanda olur. Bu özelliğe "multithread" deniyor (Buna uygun bir türkçe kelime bulamadım). Java bu tür programlar geliştirenlere1 özel fonksiyonlar sunuyor ki1 geliştiriciler programın asıl amacına konsantre olsunlar.
Bazı düzenlemelerden dolayı Java1 C++ 'dan daha dinamiktir. Sınıflar (Class) ve Nesneler (Object) arasındaki ilişkiler katı bir kural ile bağlı değildirler. İleriki safhalarda değiştirilmesi çok basittir. ( Bu da yorumlayıcı sayesindedir)