Bilgisayar yani bir makineye kazandırılan işlem gücü elektriğin kontrol edilebilmesi ile başladı.
Bugün kullandığın işlemcilerde sayamayacağımız miktarda transistör yani elektrik akımını yönlendiren binlerce, daha doğrusu milyonlarca kapı bulunmaktadır, ilk micro işlemcide bile yaklaşık iki bin kapı vardı. Üretim teknolojileri küçüldükçe açtığımız kapıların haddi hesabı tutulamaz miktarlara yükselmeye başladı. Haliyle daha çok veriyi daha kısa sürede işleyebilir, kontrol edebilir hale geldik.
Aslında ilk yazılım dilinin ucu ister istemez ilk işlemcilere dayanıyor. Mikro işlemcilerde kullanılan makine dili ile başladı her şey. Şuan kullandığımız sistem bile en temelde, merkezi işlem birimi olan CPU'da makine dilini kullanarak işlem sağlıyor. Bilgisayarın kendisi başlı başına bir converter, bir veri işlenirken farklı kalıplara sokulup işlem görüyor.
İnternete bağlı bulunduğun ethernet protokolünde bile birçok katman ve her katmanda farklı veri tipleri mevcut. Temelde CPU'da dönen şey hep aynı, makine dilinde ifade edilişi hep aynı. Değişen tek şey bu yazılımların insanlara hizmet edip hayatını kolaylaştırıyor olması. Bugün bunca işlemi makine dilini kullanarak asla yapamazdık, kolaylaştırılmadan bu iş imkansız olurdu. Kolaylaştırmadan asla gelişemezdik. Kolaştırmadan, klavyeye 2 tuştan fazlasını ekletemezdik. Ekletsek bile bilgisayar herkesin kullanabildiği bu kadar basit bir cihaz olamazdı.
Bunca kolaylık yetmedi, halen daha yapay zeka teknolojilerini kullanarak işi başkasının üzerine, yazılımların üzerine atmaya çalışıyoruz. Hayatımızı daha da kolaylaştırmaya çalışıyoruz. İsteklerimize en kısa sürede yanıt verecek yazılımlar, yazılım dilleri üretiyoruz. Yinede yetmeyecek, insan oğlu hep daha kolayını daha hızlısını arayacak. Ben korkuyorum ki ileride kullanacağımız yazılım dillerini de yapay zeka yazılımları geliştirir hale geleceğiz :D Olay tamamen yazılımların insan hayatını kolaylaştırmasına yönelik olarak evrildi.
İlk işlemcilerle direkt olarak makine dilinde iletişim kuruluyordu. Haliyle zor işti, uzun işti.
Daha sonradan üretilen yazılımlar yukarıda da bahsettiğim ve kendi bilgisayarımızın da yapmış olduğu çeviri işlemini mevcut kılan, komutların insanlar tarafından daha rahat anlaşılmasını - hafızada tutulmasını sağlayan kısaltmalar kullanılmaya başlandı. Ancak her sistem için ayrı ayrı kodlanması gerekiyordu ortak bir payda olmadığı için.
Ve şuan çoğumuzun kullandığı yazılım dilleri meydana geldi. C dilleri en büyük örneği bunların. Bu yazılım dillerinin çalışması için derleyicilere ihtiyaç var. Nasıl ki yeni format atılmış bir sistemde oyun oynamak istediğinde C kütüphanelerini yüklemeni istiyor, nasıl ki DX kütüphanesi olmadan 3D görüntü yürütemiyorsun aynı mantık.
Bunun da ötesine gittiğimizde ise mantık ve yapay zekanın bizi karşıladığını görüyoruz. Kendi kendine öğrenebilen yazılımlar bahsettiğim sınıfa giriyor. Artık yazılımcı, bu kabiliyeti sağlayabilmek için daha farklı dillere ihtiyaç duymaya başlıyor. Yani bir seviyeden sonra olay tamamen ALGORİTMA üzerinde dönmeye başlıyor.
Yapay zekanın mantığı da üretilen algoritmanın, ihtiyacı kendiliğinden karşılamasıdır zaten.
Yapay zeka hakkında bilgi sahibi olmak istersen aşağıdaki yazıyı da okuyabilirsin.
Kısacası hiçbir şey yoktan var olmadı yazılımda. En temelde elektriğin yönlendirilmesi - 0/1'lerin tayin edilmesi ve kısaltılması ile başladı. Sonra ise gelişe gelişe bu günlere geldi.
Kaynaklar
- Berk Baylançiçek. Bilgisayar Programcılarının Yazdığı İlk Kod Neden 'Merhaba Dünya'?. (28 Temmuz 2021). Alındığı Tarih: 28 Temmuz 2021. Alındığı Yer: webtekno.com | Arşiv Bağlantısı
- CLIVE THOMPSON. The First Code Any Programmer Learns Also Says A Lot About The Craft.. (16 Ekim 2019). Alındığı Tarih: 28 Temmuz 2021. Alındığı Yer: slate.com | Arşiv Bağlantısı
- Prof.Dr.Timur Karaçay. Programlamanin Evrimi (İmkânsıza Kafa Tutuş). (28 Temmuz 2021). Alındığı Tarih: 28 Temmuz 2021. Alındığı Yer: baskent.edu.tr | Arşiv Bağlantısı