Bilgisayar Bilimin alt Alanlarının Mühendisliği ve Yazılım Mühendisliği

Bilgisayar Bilimindeki konular Teori-Pratik ekseninde çeşitli konumlara konuşlanmışlardır, bu konuşlanma bulutumsu bir özellik taşır, çok keskin bir ifade ile herhangi br konunun belirli bir Teori/Pratik konumunda olduğunu savlamak yanılgıdır. Ayrıca Bilgisayar Biliminin salt teorik uğraşlardan oluştuğu, uygulama dünyasından kendisini soyutladığı önermesi gerçeği yansıtmaz. Hep böyle olmak zorunluluğu olmamakla birlikte, gerçel dünyanın getirdiği kısıtlar ve olanaklar, Bilgisayar Bilimlerinin uğraştığı problemlere doğrudan yansır. Bu yansıma, problemleri tanımlayan kurallardaki kısıtlar/olanaklar olarak ortaya çıkar. Örneğin, sizlere örnek olarak verdiğimiz 'Sıraya koyma algoritması probleminde' belirtilmiş koşullar, piyasada sıkça bulunan bilgisayarların mimarisi gözetilerek belirlenmiştir. Başka bir mimaride (örneğin tüm verileri zaten bir biçimde sıralı tutan bir mimaride) bu problem ilginçten uzak olabilirdi.

Bilgisayar Biliminin alt alanlarının herbirisinin pratik uygulamalara yönelik bir bakış açısının egemen olduğu, bunun günün donanım teknolojisi ile el ele gittiği (ve birbirlerini etkiledikleri) kullanılabilir ürünü geliştirmeye yönelik alan bilgisinin sağlayan bir 'Mühendisliği' vardır. Örneğin 'Grafik' alt alanında bilgisayarda 3 boyutlu varlıkların nasıl modellenebileceği ve bu modeller aracılığı ile, örneğin 'gölgelemenin' veya 'hareketlendirmenin' nasıl yapılabileceğinin yöntemleri geliştirilir. Donanım teknolojisi de, bu yöntemlerin daha hızlı ve verimli çalışmasına imkan sağlayacak yeni donanımlar geliştirir.

Bu, günün donanım teknolojisi içinde çözüm aranması ve geliştirilmiş bir yönteme uygun donanımın imal edilmesi döngüsü anılan bilim<->teknoloji ara etkileşimine güzel bir örnektir. Öte yandan 'bilgisayar grafiğinin mühendisliği' de o anda var olan donanım teknolojisi ve grafik işlemleme yöntemleri çerçevesinde somut bir grafik yazılım ürününün nasıl kotarılabileceği ile ilgilenir. Yani, 'Mühendislik boyutunun' hedefi 'tarif edilmiş bir işi gerçekleştiren' yazılım ürünün tasarımı ve gerçekleştirilmesidir.

Bu bağlamda donanım ürünlerinin geliştirilmesine de değinmemizde yarar var. Sanılanın aksine Bilgisayar Mühendisliği bilgisayar donanımını geliştirme mühendisliği değildir. Hele hele günümüz popüler teknolojisinde söz konusu olan devre elemanlarının (Tranziztör, Birleşik devre (Yonga) teknolojisi); görüntü birimlerinin (CRT, Plazma Ekran, LCD Ekran); bellek ortamlarının (RAM, ROM, Sabit Disk, CD, vb) geliştirilmesi ilgi alanına girmez. Yukarıda belirtilmiş dolaylı bir ara etkileşim dışında, salt güncel teknoloji ortamının bilinmesi amacıyla bu konuların iyi bir izleyicisidir, Bilgisayar Mühendisi. Bu teknolojinin üretim sürecinde yer almaz. Donanım Elektronik Mühendisliğinin ilgi alanıdır. Bu iki disiplin, Bilgisayar ve Elektronik Mühendislikleri, birbirlerinin ihtiyaç ve kısıtlarını bilmek dışında bir ilişki içerisinde değildirler, buna gerek de yoktur. Pek yaygın, yanlış bir sanıyı düzeltemek amacı ile bir örnek verelim:

Boya kimyası başlı başına bir mühendisliktir. Kimya Mühendisliğinin bir alt dalıdır ve uzmanlık gerektirir. Bu disiplinin mühendisi bir boyadan beklentileri saptamak için boyanın kullanıldığı ilgi alanları konusunda sınırlı bir bilgiye sahip olacaktır. Örneğin inşaat mühendislerinin ve mimarların binaların dış yüzeylerini boyamak taleplerinin olduğunu, bu boyanın hava koşullarından doğrudan etkilenmesinden ötürü bu dış koşullara dayanıklı olarak tasarlanması gerektiğini; öte yandan bir ressamın talebinin ne olduğunu, guaj veya yağlı boyanın zamana karşı dayanıklı olarak tasarlanması gerektiğini bilecektir. Öte yandan mimar da, ressam da, o günün imkanlarında hangi boyaları kullanabileceğini, özelliklerini ve bunların arasındaki farkı bilecektir. Ancak hiç bir durumda bir Kimya Mühendisi, boya konusunda uzmanlaşmış olduğu savı ile 'resim sanatından' anladığını veya 'mimariden' anladığını iddia etmeyecektir. Bir ressam da, hayatının boya kullanımı ile geçtiğini söyleyip, boyanın kimyasına ilişkin fikir yürütmeyecektir.

Benzer biçimde bilgisayar tasarımında uzmanlaşmış Elektronik Mühendisi de, ilgi alanı bu yazıda ayrıntılı olarak açıklanmış Bilgisayar Mühendisinin konuları ile ilgilenmeyecek, hele hele 'yetkinlik' iddiasında hiç bulunmayacaktır.

Hiç yorum yok: