Gelişen teknolojiyle birlikte her geçen gün önü daha da açılan ve yazılım etrafında dönen meslekler, başta sundukları yüksek maddi getirilerle yazılıma ilgisi olan ve olmayan çok sayıda kişinin ilgisini çekiyor. Bu bağlamda her yaştan yazılım öğrenmek isteyen bireyleri görüyoruz.
Bu elbette epeyce düzgün bir durum. Ancak bu bireyler, bilhassa de yazılıma ilgisi olmayanlar bu alana adım attıklarında çok sayıda programlama diliyle karşı karşıya kalıyor ve bu da onları sonu gelmez bir baş karışıklığına sürüklüyor. Bu görüntü karşısında akıllarında canlanan soru ise şu: Neden bu kadar çok yazılım lisanı yerine her işi görebilecek kapasitede olan bir tanesini kullanmıyoruz?
Öncelikle neden çok sayıda yazılım lisanı olduğunu, daha sonra da neden bunların yerine yalnızca bir tane kullanmadığımızı anlatacağız:
Öncelikle programlama lisanı sayısının artmasının temel sebebi ihtiyaç. Teknoloji, her geçen gün daha da gelişiyor ve bu bağlamda şirketlerin buna ahenk sağlaması, dijital eserlerini buna nazaran devam ettirmesi gerekiyor. Elimizde çok fazla yazılım lisanı olmasına karşın düşük ihtimalli bir senaryoda da olsa muhakkak bir iş için gerekli araçları elde edemeyebiliriz.
Bu da bizi o işi görecek yeni araçlar oluşturmaya iter. Temelde tüm lisanları alıp ikonik “Hello World” komutunu farklı hallerde de olsa girebilirsiniz. Tıpkı otomobil, bisiklet, uçak ve trenle bir yerden diğer bir yere gidebilmeniz üzere. Ancak iş hangi araca ihtiyacınız olduğu konusuna geldiğinde burada muhakkak çizgiler çekiliyor.
Evet bisiklet de bir ulaşım aracıdır. Ama ailenizle birlikte uzun yol yapmak istediğinizde otomobil üzere motorlu taşıtları tercih edersiniz.
Tıpkı web sitesi üzerinde çalışmak için C++ yerine daha çok Javascript yahut Python’un tercih edilmesi üzere. C++ da işinizi görebilir ama dediğimiz üzere bu, otomobil varken bisikletle uzun yol yapmaya misal. Ancak bazılarının de bu güzeline masraf ve daima bisikleti, yani mevzumuz çerçevesinde C++ lisanını tercih eder. Burada işler biraz da ferdî boyuta geçer.
Şimdi tekrar araç örneğiyle devam edelim:
Kimileri Ferrari’nin suratını, bazıları Tesla’nın sadeliğini ve akıcılığını, bazıları de Mustang’in sesini sever ve bunlar bu türlü devam eder. İşi şahsî boyuta geçiren şey de bu. Sizin için daha kolay olan yahut kullanmaktan keyif aldığınız bir lisan varsa, otomobil örneklerinde olduğu üzere onu tercih edersiniz.
Bu yüzden iki oyunun farklı hallerde geliştirildiğini görürüz. Stüdyolar geliştirdikleri oyunun gereksinimlerine nazaran farklı lisanlar tercih eder ve günün sonunda bu stüdyoları takip eden farklı stüdyolar da kendilerine uygun olan yolları izleyince “oyun geliştirme için en yaygın kullanılan diller” listesini görürsünüz. Ancak bu listelerdeki lisanların oyun geliştirme için şart olmadığını, kullanılacak lisanın oyunun gereksinimine nazaran değiştiğini belirtelim.
Oyunlar ve otomobiller üzerinden bahsettiğimiz durum internet sitesi tasarlarken de, mobil uygulama yaparken de ve öteki senaryolarda da geçerli. iOS için uygulama geliştiriyorsanız başka, Android için uygulama geliştiriyorsanız başka araçlarınız olur. Hepsi emele nazaran şekilleniyor ve bu yüzden çok sayıda programlama lisanına sahibiz. Artık 5 yaşındaki birinin anlayacağı formda yalnızca 2 görselle anlattıklarımızın üstünden geçelim.
Bunlar, sahip olduğumuz yazılım lisanları.
- “Çatal, bıçak ve kaşık yeter” demeden evvel hatırlatalım. Masadaki her bir şeyin fonksiyonunu gerektiren en az bir senaryo var.
Bu da her işi görmesini istediğimiz yazılım lisanı:
Çatalla çorba içmek üzere bir alışkanlığımız olmadığı sürece de kimse, gereksinim duymasının yanında işini kolaylaştıran yahut kullanmaktan hoşlandığı bir lisan karşısında dururken gidip de geliştirme sürecini uzatanı kullanmayacaktır. “Elimizde olanı geliştirmek yerine neden daima yenilerini çıkarıyoruz?” diye soracak olursanız da bunun şirketlerin yahut yazılımcıların tercihleriyle ilgili olduğunu belirtelim.
Kaynaklar: ScienceABC, freeCodeCamp, Stack Overflow
Görsel Kaynakları: mkdev, cm-strategies, Greg Pepin Silver