Problemleri bilgisayar kullanarak çözmek için, problemleri bilgisayarın anlayacağı formatta sunmak gerekir. Bunun için programlama dillerinden yararlanılır. Programlama dilleri, bilgisayarın derinliklerine fazla inmeden, 0 ile 1 gibi kavramlarla çok uğraşmadan herhangi bir platform için program geliştirmeyi sağlayan bir kodlama şeklidir. Programlama dilleri aynı konuşma dilleri gibidir, kendi yazım şekli ve dilbilgisi yapısı vardır.
Programlama Dillerinin Tarihçesine Bir Göz Atalım
Programlama dillerinin tarihsel gelişimi, bilgisayarların donanımsal gelişimine paralel olarak gelişmiştir. Temel olarak tarihi 1800’lere dayanmaktadır. 1837 yılında İngiliz profesör Charles Babbage çok amaçlı kullanım için hesaplayıcı bir sıralama komut seti geliştirmiştir. Analytical Engine Order Code olarak açıkladığı bu sistemin çalışmalarını 1871 yılına kadar sürdürmüştür. Bazı sorunlardan dolayı çok yaygınlaşmamış olsa da ilk programlama dili olarak kabul ediliyor bu çalışma.
1946 yılında, hani şu çok popüler olan, adını sıkça duyduğumuz ilk elektronik dijital bilgisayarlardan olan ENIAC için geliştirilen “ENIAC Coding System” dili geliştirilmiştir. Bu dili daha sonra Eniac Short Code, 1947 de ARC Assembly, 1948 de Curry Notation System, 1949 da Brief Code ve C-10 dilleri takip etmiştir.
20. yüzyılın ortaları, modern programlama dillerinin temellerinin atıldığı yıllar olmuştur. 1951’de Regional Assembly Language, 1952 Autocode, 1954 Fortran, 1958 LISP ve Algol, 1959 Cobol, 1962 APL ve Simula, 1964 Basic ve PL/I dilleri geliştirilmiştir.
Akabinde ise 1970’de Pascal, 1972’de C, Smalltalk ve Prolog, 1973 ML ve 1978’de SQL geliştiriliyor.
1980’lere dayandığımızda ise artık daha büyük sistemler için uygulamalar geliştirilebilecek programlama dillerinin geliştirilmiş olduğu yıllar oluyor. Nesne Yönetimli Programlama (Object Oriented Programming) gündemde geniş yer almıştır. 1983’te Ada ve C++, 1985’de Eiffel, 1987’de Perl ve 1989’da FL (Function Level) dili geliştirilmiştir.
İnternet’in dünya çapında yaygınlaşması ile birlikte 1990’lı yıllar, internet ile bütünleşmiş, dil içine internetin de katıldığı ve kullanıldığı yıllar olarak anılıyor. 1990’da Haskell ve Python, 1991’de Java, 1993’de Ruby, 1995’de PHP ve Delphi, 2000’de ise C# geliştirilmiştir. Programlama dilleri zaman geçtikçe makine dilinden konuşma diline yakınlaşmıştır.
Gelişim Süreci 1: Makine Dilleri
Bilgisayarların ilk geliştirilmesiyle birlikte ortaya çıkmışlardır. Adlarını bilgisayarların özelliklerine bağlı oldukları için makine dili olarak almışlardır. Komutlar işlemciye doğrudan iletiliyordu. Bu yüzden öğrenilmesi bir hayli zordu.
Gelişim Süreci 2: Çevrimiçi Diller
Makine dillerine oranla daha iyi anlaşılabilen bu diller genel olarak assembly (çevirici) diller olarak adlandırılır. Uzun uzun komutlar yerine kısaltmalar ve komut setleri kullanılıyor bu dillerde. Bu dillerde de makineye özel programlama yapılması gerekmektedir. Günümüzde halen özel donanımların programlanmasında ve işletim sistemlerinin çekirdek yazılımında assembly dilleri kullanılıyor.
Gelişim Süreci 3: Yapısal Diller
İngilizceye makine ve çevrimiçi dillere oranlara daha yakın, yüksek seviyeli yapısal dillerdir. Bu diller ile bilgisayara bağımlılıktan kurtulunmuş olup, bir bilgisayarda yazılan programlar değişiklik yapılmadan başka bir bilgisayarda çalışır duruma gelebilmiştir.
Gelişim Süreci 4: Çözüme Yönelik Diller
Bu diller, öncekine göre daha hızlı ve kolaydırlar. Sihirbazlar (wizards) ve hazır şablonlar (templates) sayesinde daha az program kodu yazarak, özel gereksinimlere pratik çözümler geliştirmeye yöneliktir.
Gelişim Süreci 5:
Koşul ve kısıtlar bilgisayara girildiğinde, bilgisayarın çözümü kendisinin bulmasına yöneliktir bu süreç. Bildirimsel (declaretive) yöntemle çalışır ve genel olarak yapay zeka araştırmalarında kullanılır.
Böylelikle hayatımızda büyük yer kaplayan facebook, google, twitter, gta, need for speed, akıllı evler, buzdolabı gibi birçok oyun, uygulama, web sitesi, elektroniklerin kaynağı olan programlama dillerinin tarihçesine bir göz atıp sizinle paylaşmış oldum. Öyle ya, nereden geldiğimizi bilmek önemli bu devirde 🙂