Bu seri boyunca sizlere Qt ile Grafik Arayüz Programlama (GAP) üzerine bildiklerimi paylaşmaya çalışacağım. Daha önce programlama konusunda az çok bilgisi olan neredeyse herkesin bildiği gibi, programlar her zaman son kullanıcı için yazılmaz ve pek çoğunun kullanıcı arayüzü ya hiç yoktur ya da çok primitiftir. Fakat son kullanıcı için yazılan programlar 90’ların başından itibaren Grafik Arayüz (GA) ile beraber geliştirilmeye başlanmış bu durum da son kullanıcıların bilgisayarla etkileşimi artırmış bilgisayarı son kullanıcı için sadece birer “computer” yani “hesaplayıcı” olmaktan çıkarmış ve işletim sisteminin çekirdeğinin üstünde çalışan yeni bir katman daha ortaya çıkmasına sebep olmuştur. Son kullanıcı için bu durum ne kadar sanal/sihirli bir alem olsa da arkada çalışan programların çalışma mantığı değişmemiştir.
Bu yeni katman son kullanıcı açısından bir illüzyon yaratsa da kullanımı basitleştirmiş ve bilgisayarın geniş kitlelere yayılmasına sebep olmuştur. Burada bu illüzyona dair ara not eklemenin faydalı olacağı kanaatindeyim. Bilgisayardaki işletim sisteminizin çekirdeği tarafından hesaplama işleminin üstünü örten bu ara katmanın yani grafik arayüzün durumu ile bizim zihnimizdeki bilinç ve onun altında asıl işi yapan nöronlardan oluşan beyin arasında ciddi bir analoji olduğu görülüyor. Nitekim biz düşünürken hiçbir zaman nöronlarda gerçekleşen işlemlerin farkında olmayız fakat sadece düşündüğümüz şeyleri bildiğimizi zannederiz. Aynı şey grafik arayüze sahip bir işletim sistemini kullanan son kullanıcı için de geçerlidir -aslında grafik arayüz olmasa da yani terminal denen komut satırında çalışan uygulamalar için de bu geçerlidir ama grafik arayüzlü bir işletim sisteminde durum çok daha belirgin-. Bilgisayarın nasıl çalıştığına dair bilgisi olmayan son kullanıcı için de arkada çalışan programın bir anlamı yoktur ve o sadece önyüzde tasarlanan uygulamayı bilir. Nasıl ki beyinde nöronların aralarında gerçekleşen etkileşimleri lokal olarak incelediğimizde zihinde oluşan bilginin ne olduğunu tahmin etmek mümkün değilse bilgisayarın devrelerinde gerçekleşen toplama ya da kaydırma işlemlerine lokal olarak bakarak son kullanıcının ne gördüğünü tahmin etmek de olanaklı değildir. Son kullanıcının ne gördüğünü bilebilmenin tek yolu bütüncül olarak geçekleşen işlemlerin hepsine birden bakmayı gerektirir.
Burada kurulan analojide şöyle bir soru işareti olduğunu belirtmem gerekiyor. Bilgisayarda gerçekleşen bütün işlemleri inceleyerek son kullanıcının ne görmesi gerektiğini tahmin edebilmemiz mümkün peki aynı şey nöronlar açısından geçerli mi? Nöronlar arası etkileşimi bilebilirsek gerçekten bir kişinin zihninde oluşan fenomenin ne olduğunu bilebilir miyiz yoksa daha fazlasına mı bilmeye ihtiyaç var? Ya da zihnimiz sadece beyinde olanlardan ibaret midir yoksa beyinde olanlar ve bununla beraber dahil edilmesi gereken bir şeyler daha var mıdır?
Bu soruların cevabını 21. yy’da araştırmaya devam edeceğiz gibi gözüküyor.
Yazının bundan sonraki kısmında arayüz programlama konusuna devam edeceğiz.
Grafik Arayüz (GA) son kullanıcıların yazdığımız programlardan/algoritmalardan yararlanabilmesi için son derece önemli bir konudur. GA son kullanıcının programdan faydalanması ve ürünün geniş kitleler tarafından benimsenmesi için hatasız ve basit olmalıdır.
Bu yazı dizisi boyunca Qt kütüphanesi ile basit örneklerden başlayarak daha karmaşık örnek programlar geliştirerek Qt ile arayüz programlamayı öğrenmeye çalışacağız.
Qt Kütüphanesi Hakkında Ön Bilgi
Qt kütüphanesinin tarihi hakkında internette çok fazla bilgi bulunmaktadır. Buralardan tarihi hakkında araştırma yapabilirsiniz. Burada sadece Qt kütüphanesinin 1990’a kadar uzanan bir tarihi olduğunu belirtmek istiyorum.
Qt Kütüphanesi farklı işletim sistemleri için tek bir uygulama yazmanıza izin verdiği için daha çok tercih edilmektir. Yani yazdığınız uygulama Windows, Linux ya da MacOS’da çalışabilir. Ayrıca her platform için uygulama geliştirmek zorunda kalmazsınız. Programlama mantığı basit ve anlaşılabilirdir. Bu nedenle genel mantığını kavradığınızda büyük uygulamalar yazmanız çok zamanınızı almaz.
Qt yaygın olarak kullanıldığı için hata ile karşılaştığınızda çözüm bulmanız zor olmaz.
Bir sonraki yazımızda ilk Qt uygulamamızı yazıyor olacağız.