JAVA PROGRAMLAMA DİLİ NEDİR?
Java’yı tam olarak anlamak için onun oluşturulma sebeplerini, onu şekillendiren güçleri ve devraldığı mirası bilmek gerekir. Daha önce başarılı olmuş bilgisayar dilleri gibi, Java da zengin mirasının en iyi özellikleriyle birlikte benzersiz misyonunun gerektirdiği yenilikçi kavramları harmanlamıştır. Java’nın nasıl ve niçin ortaya çıktığını, onu bu derece önemli kılan şeyin ne olduğunu ve yıllar içerisinde nasıl bir gelişim seyri izlediğini bu yazımda öğreneceksiniz.
Java, internetin çevrimiçi ortamıyla ayrılmaz bir beraberlik göstermesine rağmen, hatırlanması gereken önemli nokta, her şeyden önce onun bir programlama dili olmasıdır. Bilgisayar dillerindeki yeniliklerin ve gelişmelerin iki temel sebebi vardır:
- Kullanım ve ortam değişikliklerine uyum sağlamak
- Programlama sanatındaki gelişmeleri ve incelikleri uygulamak
Sizin de göreceğiniz gibi, Javanın gelişiminde bu iki unsurdan neredeyse eşit olarak belirleyici olmuştur.
Java’nın Yaşam Çizgisi
Java, C’nin doğrudan devamı olan C++ ile ilişkilidir. Çoğu özelliğini bu iki dilden devralmıştır. Prensip olarak C’yi takip eder; object oriented özelliklerinin çoğunda ise C++’tan etkilenmiştir. Gerçekten de, Javanın pek çok belirleyici özelliği bu dillerden gelir veya bu dillere verilen yanıttır. Dahası Javanın kökleri, o dönemde bilgisayar programlama dillerinde gerçekleşen arındırma ve adaptasyon sürecine kadar uzanır. Göreceğiniz üzere, dil tasarımındaki her yenilik, mevcut diller temel bir sorunu çözemediği için geliştirilmiştir. Java da bu kuralın dışında değildir.
Modem Programlamanın Doğuşu: C
C dili, bilgisayar dünyasını sarsmıştır. Etkisi hafife alınmamalıdır, çünkü C, programlama yaklaşımım ve bu konudaki görüşleri temelden değiştirmiştir. C nin oluşumu, sistem programları oluştururken As- sembly kodunun yerini alabilecek yapısal, verimli ve yüksek düzeyli bir dile olan ihtiyacın doğrudan bir sonucuydu. Muhtemelen sizin de bildiğiniz gibi, bir bilgisayar dili tasarlanırken geleneksel olarak şu karşılaştırmalar dikkate alınır:
- Güce karşılık kullanım kolaylığı
- Verimliliğe karşılık güvenlik
- Genişletilebilirliğe karşılık sağlamlık
C’den önce programcılar, belli alanlar için uzmanlaşmış programlardan birini seçmek zorundaydılar. Örneğin, FORTRAN ile bilimsel uygulamalar için oldukça verimli programlar yazılabilirdi. Ancak FORTRAN, sistem kodlaması için yeterince iyi değildi. BASIC, öğrenilmesi kolay bir dildi, fa* I kat çok güçlü değildi. Ayrıca yapısından dolayı büyük programlarda kullanılmasına hep kuşkuyla bakılırdı. Assembly diliyle son derece verimli programlar oluşturulabilir, ancak bunun da öğrenilmesi ve etkili biçimde kullanılması kolay değildir. Ayrıca, Assembly kodunda hata ayıklaması yapmak da hayli zordur.
Diğer bir sorun da, BASIC, COBOL ve FORTRAN gibi önceki bilgisayar dillerinin yapısal prensipler çerçevesinde tasarlanmamış olmasıydı. Bunun yerine program denetimi daha çok GOTO deyimiyle sağlanmıştı. Sonuç olarak, bu dillerde yazılan programlar spagetti kod mantığıyla oluşturulurdu. Programın anlaşılmasını neredeyse olanaksız kılan darmadağınık sıçramalar ve koşullu ifadeler kullandığı için bu benzetme uygun görülmüştü. Pascal gibi bazı diller yapısal olmalarına rağmen verimlilik için tasarlanmamıştı ve geniş kapsamlı programlara uygulanmak üzere yeteri kadar özelliğe sahip değildi. (Özellikle Pascal’ın standart kodlama yapısı ele alındığında, Pascafı sistem düzeyinde kod yazmak için kullanmak pratik değildi.)
C’nin icadından hemen öncesine kadar, hiçbir dil birbiriyle çatışan nitelikleri kendi bünyesinde uzlaştıramamıştı. Bu sebeple, böyle bir dile olan ihtiyaç çok büyüktü. 1970’lerin başında, bilgisayar devrimi başlamıştı ve yazılıma olan talep, programcıların yazdım üretebilme yeteneğinin çok çok ötesindeydi. Daha iyi bir bilgisayar dili oluşturmak için akademik çevrelerde büyük bir gayret vardı. Ancak belki de en önemlisi, ikinci bir etken kendini hissettirmeye başlıyordu. Bilgisayar donanımları artık giderek yaygınlaşmış ve kritik bir düzeye gelmeye başlamıştı. Artık bilgisayarlar kapalı kapılar ardında tutulmuyordu. Programcılar ilk kez olarak, bilgisayarlarına neredeyse sınırsız erişim elde ediyorlardı. Bu durum, özgürce denemeler yapma fırsatı doğurdu ve ayrıca, programcılara kendi özel araçlarım oluşturma imkânı da sağladı. C’nin oluşturulmasından hemen önce sahne, bilgisayar dillerinde deriye doğru önemli bir sıçrayış için hazırdı.
C dili, ilk kez Dennis Ritchie tarafından UNIX işletim sistemi çalıştıran bir DEC PDP-11 üzerinde geliştirilmiş ve uygulanmıştır. C, Martin Richards tarafından geliştirden BCPL adlı bir dilin gelişim sürecinin sonucudur. BCPL, Ken Thompson tarafından geliştirilen bu dili etkilemiştir ve bu dili de 1970’li yıllarda C’nin geliştirilmesine önayak olmuştur. Yıllarda, C’nin dili standardı, UNIX işletim sistemi de birlikte gelen ve Brian Kernighan’de Dennis Ritchie tarafından yazdan The C Programming Language (Prentice-Hall, 1978) adlı kitapta açıklanan standart olmuştur. C’nin resmi olarak standart hale gelmesi, 1989 yılı Aralık ayında, ANSI (American National Standards Institute – Amerikan Ulusal Standartlar Enstitüsü) tarafından kabul görmesiyle olmuştur.
C’nin geliştirilmesi, birçok kişi tarafından bilgisayar dillerinin modem çağının başlangıcı olarak kabul edilir. C, daha önceki dilleri sıkıntıya sokan çelişkili nitelikleri başardı bir biçimde sentezledi. Sonuçta güçlü, etkili, yapısal, öğrenmesi kolay bir dil ortaya çıktı. Bir diğer önemli özediği ise, C’nin bir programcı dili olmasıydı. C’nin icadından önceki bilgisayar dilleri, genellikle ya akademik çalışmalar olarak ya da bürokratik komiteler tarafından tasarlanmıştır. C ise bundan farklıdır. C, gerçek programcılar tarafından tasarlanıp geliştirilmiş ve uygulanmıştır. Bu sayede programcıların programlama mesleğine yaklaşımlarını yansıtır. C’nin özellikleri üzerinde kullanıcılar tarafından çok düşünülmüş ve testler yapılmıştır. Sonuçta ortaya, programcıların kullanmaktan çok hoşlandığı bir dil çıkmıştır. C kısa sürede çok fazla taraftar toplayarak programcıların gözdesi olmuştur ve geniş bir kabul görmüştür. Kısacası C, programcılar tarafından, programcılar için tasarlanmış bir dildir. Daha sonra göreceğiniz gibi, Java da bütün bu mirası devralmıştır.
Kaynak: Java the complete reference eighth edition.