Java Nedir?

Sadece interneti değil tüm bilgisayar dünyasını değişime uğratacak SUN firmasının geliştirdiği yeni platform bağımsız programlama dili.Hindistan”da bir ada.Ana ihracat ürünü kahve olan Pazifik”te bir ada bu yüzden USA”da kahve için kullanılan argo kelimedir.

1. Basit & Küçük

Java programlama dilinin öğrenilmesinin kolay olduğunu iddia eden Sun”daki geliştiricilere, 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ış, basit olanlar eklenmiş
Küçük : Java çok küçük işlemcilerde bile çalışabilir. Temel ihtiyacı ( İşlemci, 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) , insanların kavramada çok zorluk çektikleri bir kavram. Ama bu, iyi özelliklerinden dolayı, yazılım geliştirmede kabul görmesini engelleyemiyor.
Adından da anlaşıldığı gibi, nesneye yönelimli programlamada insan nesne geliştirmeye konsantre oluyor. Nesne, verilerden ( değişkenler ) ve bu verileri değiştirmeye yarayan fonksiyonlardan ( Method ) oluşuyor. Nesneye yönelimli programlamada, sonradan kullanılabilecek genel nesneler (Object) oluşturulması idealdir (Sınıflar). Profesyonel programlamada, devamlı büyüyen havuzda bulunan nesnelere ulaşılarak, bu nesneler tekrar kullanılabilir (Sınıf kütüphaneleri). Standart sınıf kütüphaneleri (Giriş/Çıkış, 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ı, 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ğmen, 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 olan, bazı küçük değiştirmelerde derleyemeye gerek kalmaması, 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 ederken, yorumlayıcı hataları yakalar ve gereğini yapar. En kötü ihtimalle, derlenmiş bir program çöker.
Yorumlayıcı, 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ı, hiçbir değişiklik yapılmadan, 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 derleyicilerde, 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ştirenlere, özel fonksiyonlar sunuyor ki, geliştiriciler programın asıl amacına konsantre olsunlar.
Bazı düzenlemelerden dolayı Java, 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)

Java temelde kendine has yorumlaması olan bir bilgisayar dilidir.Ama bu
yorumlama tarzı yeni bir teknolojinin doğmasına neden olmuştur.Bu
yüzden java denince akla hem programlama dili hemde bir teknoloji
gelmelidir.Javayı farklı yapan şeyi anlamak için konuyu temelden ele
almak gerekir…

Programlama dünyasında şu anda 5 kategoriye alınan diller mevcut.Bunlar

1.Makine kodu
2.Assembly
3.Basic, Cobol, C, Fortran…
4.Perl, Java
5.Uzun süredir çalışılıyor.

1.Makine kodu: Bilgisayar işlemcisinin anladığı tek dildir.Bu dilde bilgisayara istediklerimizi belli bir düzen içerisinde 0 ve 1”li dizeler halinde iletiriz.

2.Assembly:Makina dilinden sonra geliştirilen bir dil.2. nesil dil olarak tanımlanır.

3.Basic, Cobol, C, Fortran: Çoğumuzun yakından tanıdığı dillerdir.

4.Perl, Java: Bu diler yeni nesil olarak anlılır.Tip dillerin çalışması için bir yorumlayıcı bulunması gerekir.

5.İnsanın konuşarak hükmetmesi planlanan dillerdir.Halen yapım aşamasında.Uzun bir süreden beri çalışılıyor…

Şimdi bu yelpazede her yeni nesil makina kodundan uzaklaşıyor.Ama makine dili bilgisayarla aynı dili konuştuğu için çok daha hızlı ve etkilidir.Ancak insanlar için daha az anlaşılır ve her makinenin anlayacağı dil birbirinden farklıdır.Bu yüzden daha az ”taşınabilir”.(Bunun anlamı, bir dilde oluşturduğumuz programın farklı makinede çalışma yetisidir).Yelpazenin diğer ucunda ise çalıştırıldığı anda yorumlanan diller olarak kabul edilebilir.Buna örnekte Perl, java script.Bu durumda o dili yorumlayacak bir yorumlayıcı olması gerekir.Buda programların çalışma hızını düşürecektir.

Sonuç olarak yelpazeyi 2 uca ayırdık.Peki java hangisi?Java ya hepsi, ya hiçbiri…
şimdi bu nedemek?Bu şu demek: Java programlama dili tüm dillerden farklı bir tarz olarak tüm dillerin özelliklerini barındırır.Bu bakımdan javayı herhangi bir uca oturtmak yanlış olur.

Bunu biraz açalım.C diliyle bir program yazdınız.Ve çalıştırmak için derleme aşamasından sonra o programı makine diline çevirmiş olursunuz.Tabi programınızı hangi platformda çalıştırmak istediğinize bağlı.Derledikten sonra yanlızca o platformda çalışır.Yani bunu Pc”nize kurdunuz, ve aynı programı Mac”ta çalıştırmak olanaksızdır.

Ama java böyle değil!Java ile yazılan her program byte code adı verilen ara dile çevrilir.Bu dili yorumlayan JVM(Java Virual Machine) diğer adıyla Java Sanal Makinesi
bu dili yorumlar ve her yerden çalışacak hale gelir.Bu program bugün hemen her makinede bulunur.

İşte javanın diğer dillerden çalışma farkı budur.

Kaynak=http://www.javaturkiye.com/modules.php?name=Content&pa=showpage&pid=1

CEVAP VER
Lütfen yazınızı giriniz.
Lütfen adınızı buraya giriniz.