Kod yazmayı öğrenmeye başladığım ilk günlerde, yazılım dünyasının nereden nereye geldiğini hayal etmek bile zordu — dahası, hâlâ ne kadar hızlı geliştiğini fark etmek daha da şaşırtıcıydı. Blogumdaki bu kategori boyunca pek çok programlama konusuna değineceğim için, bu başlığı açarken önce biraz geçmişe dönüp bir yolculuk yapmak istedim. Sadece geldiğimiz noktayı kutlamak için değil, aynı zamanda bugünkü temellerin nereden geldiğini anlamak için.
Makine Kodundan Anlamlı Dillere
En başlarda “programlama” dediğimiz şey bugünkü anlamında değildi. Önce kablolar ve anahtarlarla başladı. Ardından delikli kartlar geldi. Sonra makine dili — yani 101010 gibi ikili kodlarla yazılmış, doğrudan bilgisayarın anlayabildiği talimatlar.
Pek kullanıcı dostu sayılmazdı.
1950’li ve 60’lı yıllarda ilk yüksek seviyeli diller sahneye çıktı: Fortran, COBOL ve LISP. Her biri, kod yazmayı insanlar için biraz daha okunabilir kılmayı amaçlıyordu. Fortran bilimsel hesaplamalar için, COBOL iş dünyası uygulamaları için, LISP ise sembolik yapay zeka araştırmaları için geliştirilmişti.
Bu diller sadece kolaylık sağlamadı, aynı zamanda devrim niteliğindeydi. Programcılar artık donanımı değil, problemi ve mantıksal yapıyı düşünmeye başlamıştı.
Yapı ve Yazılım Mühendisliği Kavramı
Kodlar büyüdükçe, yapılandırmaya olan ihtiyaç da büyüdü. 1970’lerde C ve Pascal gibi diller ortaya çıktı. Bu diller hem sözdizimi hem de modülerlik açısından daha derli topluydu. Aynı dönemde “yazılım mühendisliği” kavramı da güç kazanmaya başladı. Artık sadece yetenekli geliştiricilerin çalışması değil, iyi bir planlama ve süreç yönetimi de şarttı.
Bu yıllarda Unix doğdu ve yanında getirdiği araçlar, derleyiciler ve yazılım felsefeleri bugüne kadar iz bırakmaya devam etti.
Nesne Tabanlı Programlama ve Arayüz Devrimi
1980’ler ve 90’lar, Nesne Tabanlı Programlama’nın (OOP) yükseliş dönemiydi. C++ ve ardından Java gibi diller, sınıf ve nesne kavramlarını yaygınlaştırarak kodu modüler hale getirdi. Bu zihinsel dönüşüm, büyük projelerin yönetimini çok daha kolaylaştırdı.
Aynı yıllarda, grafiksel kullanıcı arayüzleri (GUI) öne çıkmaya başladı. Artık insanlar terminal değil, düğmeler, pencereler ve kaydırma çubukları görmek istiyordu. Yazılım yalnızca işlevsel değil, aynı zamanda kullanıcı dostu ve görsel de olmalıydı.
Açık Kaynak, Web ve Yeni Yaklaşımlar
1990’ların sonu ve 2000’lerin başı, internet çağını ve onunla birlikte yeni dilleri getirdi: JavaScript, PHP, Python. Programlama artık sadece mühendislerin alanı olmaktan çıktı; sanatçılar, pazarlamacılar, araştırmacılar — farklı disiplinlerden pek çok kişi programlama ile tanıştı.
Açık kaynak topluluklarının yükselişi (GNU, ardından GitHub) bu dönemi daha da güçlendirdi. .NET, Ruby on Rails, Django gibi framework’ler ise uygulama geliştirmeyi hızlandırdı ve karmaşık yapıları sadeleştirdi.
Günümüzde: Esneklik, Hız ve Çeşitlilik
Bugün bir geliştirici olmak, onlarca dil ve yaklaşımdan birini seçebilmek anlamına geliyor. Backend için Python, Go, Node.js ya da Rust; mobil için Flutter, React Native veya Kotlin.
Ayrıca yazılım geliştirme artık sadece kod yazmaktan ibaret değil. Git versiyon kontrolü, CI/CD süreçleri, Agile metodolojileri gibi kavramlar da bu işin doğal bir parçası oldu.
Ben de compute.tr üzerindeki yazılarımda bu çeşitliliği yansıtmaya çalışıyorum. Sadece tek bir dil veya çerçeveye odaklanmak yerine, farklı yaklaşımları tanımak gerektiğine inanıyorum.
Sırada Ne Var?
Gelecek oldukça heyecan verici: yapay zeka destekli kod yazımı (evet, denedim), low-code / no-code platformlar, kuantum programlama, hatta doğal dil ile programlama.
Ama tüm bu gelişmelere rağmen, programlama hâlâ en temelde şunu yapıyor: mantık ve yaratıcılıkla sorun çözmek. Ve ben de bu heyecanın peşinden gitmeye, burada yazmaya devam edeceğim.