C programlama dilinin tarihini incelediğimizde C dilinin UNIX işletim
sisteminin bir yan ürünü
olarak doğduğunu söyleyebiliriz. UNIX işletim sisteminin orjinal ilk
versiyonunu
Bell Labaratuarları'nda çalışan Ken Thompson tek başına yazmıştı ve
UNIX'in bu ilk
versiyonu DEC PDP-7 isimli bilgisayarda çalışıyordu. DEC PDP-7 ilk mini
bilgisayarlardan biriydi ve ana belleği yalnızca 16 K (16 MB değil!).
Yıllardan
1969'du.
Zamanının diğer işletim sistemleri gibi UNIX de assembly dilinde
yazılmıştı.
Assembly dilinde yazılan programları geliştirmek çok zor ve zahmetli
olduğundan,
Thompson UNIX işletim sistemini daha geliştirebilmek için, makina
dilinden daha
yüksek seviyeli bir dile gereksinim duydu. Bu amaçla küçük bir
programlama dili
tasarladı. Kendi dilini tasarlarken Thompson, 1960 yıllarının
ortalarında Martin
Richards tarafından geliştirilmiş BCPL dilinden yola çıktı. (BCPL =
Business Common
Programming Language. Bu dil de CPL = Cambridge Programming Language'den
türetilmiştir. CPL'in kaynağı da tüm zamanların en eski ve en etkili
dillerinden
biri olan ALGOL 60'dır. ALGOL 60 Pascal, ADA, Modula2 dillerinin de
atasıdır, bu
dillere bu yüzden C dilinin kuzenleri de diyebiliriz. Aşağıda ALGOL 60
dil ailesi
görülmektedir:
Algol 60
Algol 68 Algol W Simula 67 BCPL
C
Pascal
C++
Java
Modula-2 Ada Delphi
Oberon
Thompson geliştirdiği bu dilin ismini B koydu. Dennis Ritchie UNIX
projesine
katılınca B dilinde programlamaya başladı. B dili daha da
geliştirilmişti ve artık
daha yeni teknoloji olan PDP-11 bilgisayarlarda çalışıyordu. Thompson
UNIX işletim
sisteminin bir kısmını B dilinde tekrar yazdı. Artık 1971 yılına
gelindiğinde B
dilinin PDP-11 bilgisayarlar ve UNIX işletim sisteminin geliştirilmesi
için çok
uygun olmadığı iyice ortaya çıktı. Bu yüzden Ritchie B programlama
dilinin daha
ileri bir versiyonunu geliştirmeye başladı. Oluşturduğu dili ilk önce NB
(new B)
olarak isimlendirdi. Ama geliştirdiği dil B dilinden iyice kopmaya ve
ayrı bir
karakter göstermeye başlayınca dilin ismini de C olarak değiştirdi. 1973
yılında
UNIX işletim sisteminin büyük bir kısmı C dili ile tekrar yazıldı.
Ken Thompson ve Dennis Ritchie Unix İşletim Sistemi üzerinde çalışırken
(Yıl: 1972)
C'nin evrimi ve gelişmesi 70'li yıllarda da devam etti. Geniş kitleler
tarafından
tanınması ve kullanılmaya başlaması 1978 yılında Dennis Ritchie ve Brian
Kernighan
tarafından yazılan "The C Programming Language" kitabı ile olmuştur. Bu
kitap aynı
zamanda yazılım konusunda yazılan en iyi eserlerden biri olarak
değerlendirilmektedir. C'nin standardize edilmesine kadar olan dönemde
bu kitap
çoğunluğun benimsediği genel kabul gören gayriresmi bir standard
vazifesi de
görmüştür.
1970'li yıllarda C programcılarının sayısı azdı ve bunlardan çoğu UNIX
kullanıcılarıydı. Ama artık 80'li yıllar gelince C nin kullanımı UNIX
sınırlarını
aştı, ve farklı işletim sistemlerinde çalışan derleyiciler piyasaya
çıktı, C dili de
IBM PC'lerde yoğun olarak kullanılmaya başladı.
C'nin artan popülaritesi problemleri de beraberinde getirdi. Derleyici
yazan
kişiler, referans olarak Ritchie ve Kernighan'ın kitabını esas
alıyorlardı ama söz
konusu kitapta bazı noktalar çok da detaylı bir biçime açıklanmamıştı.
Özellikle
hangi noktaların C dilinin bir özelliği hangi noktaların ise UNIX
işletim sisteminin
bir özelliği olduğu o kadar açık olmadığı için bir takım karışıklıklar
ortaya
çıkıyordu. Böylece derleyici yazanların ürünlerinde de farklılıklar
ortaya
çıkıyordu. Ayrıca kitabın yayınlanmasından sonra da dilde bir takım
geliştirmeler,
iyileştirmeler, değişiklikler yapıldığı için, birbirinden çok farklı
derleyiciler
piyasada kullanılmaya başlanmıştı.
Artık C dilinin standardizasyonu neredeyse zorunlu bir hale gelmişti!
C'nin
standardizasyon çalışmaları 1983 yılında ANSI (American National
Standards Institute
) gözetiminde ve desteğinde başladı. Yapılan birçok değişiklikten sonra
standart
çalışmaları 1988 yılında sona erdi ve 1989 yılının Aralık ayında ANSI C
standardı
Jim Brodie başkanlğında X3.159 - 1989 numarasıyla resmi olarak
onaylandı. 1990
yılında ise ISO/IEC 9899 - 1990 numarasıyla ISO (International Standards
Organization) tarafından standardizasyonu kabul edildi. Standardizasyonu
tamamlandıktan sonra C yüksek oranda taşınabilir bir sistem programlama
dili haline
gelmiştir. Günümüzde de sistem programlarının (derleyiciler, editörler,
işletim
sistemleri) çoğu C dili ile yazılmaktadır
sisteminin bir yan ürünü
olarak doğduğunu söyleyebiliriz. UNIX işletim sisteminin orjinal ilk
versiyonunu
Bell Labaratuarları'nda çalışan Ken Thompson tek başına yazmıştı ve
UNIX'in bu ilk
versiyonu DEC PDP-7 isimli bilgisayarda çalışıyordu. DEC PDP-7 ilk mini
bilgisayarlardan biriydi ve ana belleği yalnızca 16 K (16 MB değil!).
Yıllardan
1969'du.
Zamanının diğer işletim sistemleri gibi UNIX de assembly dilinde
yazılmıştı.
Assembly dilinde yazılan programları geliştirmek çok zor ve zahmetli
olduğundan,
Thompson UNIX işletim sistemini daha geliştirebilmek için, makina
dilinden daha
yüksek seviyeli bir dile gereksinim duydu. Bu amaçla küçük bir
programlama dili
tasarladı. Kendi dilini tasarlarken Thompson, 1960 yıllarının
ortalarında Martin
Richards tarafından geliştirilmiş BCPL dilinden yola çıktı. (BCPL =
Business Common
Programming Language. Bu dil de CPL = Cambridge Programming Language'den
türetilmiştir. CPL'in kaynağı da tüm zamanların en eski ve en etkili
dillerinden
biri olan ALGOL 60'dır. ALGOL 60 Pascal, ADA, Modula2 dillerinin de
atasıdır, bu
dillere bu yüzden C dilinin kuzenleri de diyebiliriz. Aşağıda ALGOL 60
dil ailesi
görülmektedir:
Algol 60
Algol 68 Algol W Simula 67 BCPL
C
Pascal
C++
Java
Modula-2 Ada Delphi
Oberon
Thompson geliştirdiği bu dilin ismini B koydu. Dennis Ritchie UNIX
projesine
katılınca B dilinde programlamaya başladı. B dili daha da
geliştirilmişti ve artık
daha yeni teknoloji olan PDP-11 bilgisayarlarda çalışıyordu. Thompson
UNIX işletim
sisteminin bir kısmını B dilinde tekrar yazdı. Artık 1971 yılına
gelindiğinde B
dilinin PDP-11 bilgisayarlar ve UNIX işletim sisteminin geliştirilmesi
için çok
uygun olmadığı iyice ortaya çıktı. Bu yüzden Ritchie B programlama
dilinin daha
ileri bir versiyonunu geliştirmeye başladı. Oluşturduğu dili ilk önce NB
(new B)
olarak isimlendirdi. Ama geliştirdiği dil B dilinden iyice kopmaya ve
ayrı bir
karakter göstermeye başlayınca dilin ismini de C olarak değiştirdi. 1973
yılında
UNIX işletim sisteminin büyük bir kısmı C dili ile tekrar yazıldı.
Ken Thompson ve Dennis Ritchie Unix İşletim Sistemi üzerinde çalışırken
(Yıl: 1972)
C'nin evrimi ve gelişmesi 70'li yıllarda da devam etti. Geniş kitleler
tarafından
tanınması ve kullanılmaya başlaması 1978 yılında Dennis Ritchie ve Brian
Kernighan
tarafından yazılan "The C Programming Language" kitabı ile olmuştur. Bu
kitap aynı
zamanda yazılım konusunda yazılan en iyi eserlerden biri olarak
değerlendirilmektedir. C'nin standardize edilmesine kadar olan dönemde
bu kitap
çoğunluğun benimsediği genel kabul gören gayriresmi bir standard
vazifesi de
görmüştür.
1970'li yıllarda C programcılarının sayısı azdı ve bunlardan çoğu UNIX
kullanıcılarıydı. Ama artık 80'li yıllar gelince C nin kullanımı UNIX
sınırlarını
aştı, ve farklı işletim sistemlerinde çalışan derleyiciler piyasaya
çıktı, C dili de
IBM PC'lerde yoğun olarak kullanılmaya başladı.
C'nin artan popülaritesi problemleri de beraberinde getirdi. Derleyici
yazan
kişiler, referans olarak Ritchie ve Kernighan'ın kitabını esas
alıyorlardı ama söz
konusu kitapta bazı noktalar çok da detaylı bir biçime açıklanmamıştı.
Özellikle
hangi noktaların C dilinin bir özelliği hangi noktaların ise UNIX
işletim sisteminin
bir özelliği olduğu o kadar açık olmadığı için bir takım karışıklıklar
ortaya
çıkıyordu. Böylece derleyici yazanların ürünlerinde de farklılıklar
ortaya
çıkıyordu. Ayrıca kitabın yayınlanmasından sonra da dilde bir takım
geliştirmeler,
iyileştirmeler, değişiklikler yapıldığı için, birbirinden çok farklı
derleyiciler
piyasada kullanılmaya başlanmıştı.
Artık C dilinin standardizasyonu neredeyse zorunlu bir hale gelmişti!
C'nin
standardizasyon çalışmaları 1983 yılında ANSI (American National
Standards Institute
) gözetiminde ve desteğinde başladı. Yapılan birçok değişiklikten sonra
standart
çalışmaları 1988 yılında sona erdi ve 1989 yılının Aralık ayında ANSI C
standardı
Jim Brodie başkanlğında X3.159 - 1989 numarasıyla resmi olarak
onaylandı. 1990
yılında ise ISO/IEC 9899 - 1990 numarasıyla ISO (International Standards
Organization) tarafından standardizasyonu kabul edildi. Standardizasyonu
tamamlandıktan sonra C yüksek oranda taşınabilir bir sistem programlama
dili haline
gelmiştir. Günümüzde de sistem programlarının (derleyiciler, editörler,
işletim
sistemleri) çoğu C dili ile yazılmaktadır