C 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 ..
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 ..