Microsoft'un C# eğitimi veren Açık Akademi eğitimleri sırasında karşıma çıkan "Nesne Tabanlı Programlama Dilleri" nin tarihi süreç içerisinde nasıl geliştiği ve değiştiğiyle ilgili yazısı, bu konu hakkında bilgi sahibi olma ihtiyacı doğurdu.
Nesne tabanlı programlama, temel olarak,
programcının kendi sınıfını ve nesnesini oluşturup, üzerinde
çalışabilmesine olanak sağlayan bir mimaridir.
Nesne tabanlı programlama, büyüyen yazılım dünyasının ihtiyaçlarını çözemeyen prosedürel programlamaya bir çözüm olarak ortaya çıkmıştır.
Gittikçe büyüyen uygulamalar yazılmaya başlanması, bu uygulamaların bakım maliyetlerinin artması ve kolayca modifiye edilememeleri gibi durumlar nesne yönelimli programlamaya geçiş sürecinde yaşanılan temel sorunlar olarak gösterilebilir.
ALGOL - 1950'lerin ortasında Fortran dilindeki problemleri
gidermek için dizayn edilen bir dildir. Bunun yanında Algol, Pascal gibi bazı
dillerin ortaya çıkmasında rol oynamıştır. ALGOL köşeli parantezli ifade
bloklarını kullanır. Ayrıca onları sınırlandırmak için BEGIN END bloklarını
kullanan ilk programlama dilidir.
Simula - Hemen hemen bütün nesne tabanlı ve nesne yönelimli
dillerin atası 1960'larda geliştirilen Simula dilidir. Simula, ALGOl fikri
üzerine inşa edilmiş bir dildir; ancak üzerine kapsülleme(encapsulation) ve
kalıtım(inheritance) konseptlerini eklemiştir. Belki daha da önemlisi, karmaşık
sistemleri tanımlama ve simülasyon geliştirme dili olarak kullanılan
Simula'nın, programlama dünyasını spesifik problem alanına özel kod yazma disiplini
ile tanıştırmasıdır.(nesne taslaklarını hazırlayan kod kümelerinin yazılıp daha
sonra kullanılması.)
Smalltalk - Simula,
Smalltalk dilinin birincil esin kaynağıdır. Bu fikir sonraları farklı
geliştirmelerle desteklenmiştir. Smalltalk hem bir dili hem de bir uygulama
geliştirme ortamını temsil eder. Saf nesne yönelimli bir dil olan Smalltalk
dilinde her şey bir nesne olarak ele alınır, integer bile bir sınftır.
Smalltalk, günümüzde yaygın olmasa da kendisini takip eden bütün nesne
yönelimli diller onun konseptinden etkilenmiştir. Bu yüzden önemli bir
kilometre taşıdır.
C with classes(C++) : Orijinal adı C with Classes olan C++
dili, Bjarne Stroustrup adlı bir akademisyen tarafından, doktora tezinde
uygulama geliştirirken karşılaştığı sorunlardan yola çıkarak 1979’da
geliştirilmeye başlanmış, 1985’de ilk versiyonu yayınlanmıştır. Bu yeni dilin
geliştirilme aşamasında başta C ve Simula olmak üzere ALGOL 68, Ada gibi
dillerden esinlenilmiştir. Genellikle C dilinin daha gelişmiş hali olarak
nitelendirilir.(Tip kontrolü, aşırı yüklenmiş fonksiyonlar, statik
fonksiyonlar, abstract sınıf, protected üyeler gibi dil yenilikleri
getirmiştir). Ancak en önemlisi C++, C diline nesne yönelimli programlama
özelliğini eklemiştir. C++ dili, donanım seviyesinde uygulama geliştirirken(işletim
sistemi, sürücü vb.) alt seviye bir dil olması sebebiyle halen tercih
edilmektedir.
OAK: Doksanlı yılların hemen başında, Sun Microsystems
çalışanlarından James Gosling ve grubu; eğlence platformları, mikrodalga
fırınlar vb. dijital olarak kontrol edilen tüketici aletleri için ileri seviye
uygulamalar geliştiriyorlardı. Bu programları C++ ile yazmak zor olduğu için
1991 yılında OAK adı verilen bir dil oluşturdular.
Java: Geliştirme aşamasında OAK, genel amaçlı bir
programlama dili haline geldi ve 1995 yılında adı değiştirilerek Java 1.0
sürümü ile duyuruldu. “Write once, Run Anywhere” yani platform bağımsız
uygulama geliştirmek hedefine olan Java dilinin esas hedefi, yaygınlaşan
internet erişimine ayak uydurarak web uygulamalarının kolay geliştirileceği bir
platform haline gelmekti. Java, günümüzde halen yaygın olarak kullanılmaktadır.
Bir programlama dilinden öte Smalltalk gibi bir uygulama geliştirme ortamı ve
çalışma zamanıdır. Java teknolojisi ile uygulama geliştirmek ve çalıştırmak için
Java Virtual Machine kullanılması gereklidir ve derlenen kaynak kodlar,
platform bağımsızlık hedefi için Java Byte Code adında ortak bir ara dile
dönüştürülmektedir. Ayrıca Java platformu, zengin ve genişletilebilen bir kod
kütüphanesi içermektedir.
Yararlanılan kaynak: Açık Akademi
Yararlanılan kaynak: Açık Akademi
Hiç yorum yok:
Yorum Gönder