Gelişen teknolojiyle beraber her geçen gün önü daha da oluşturulan ve yazılım çevresinde dönen meslekler, başta sundukları yüksek maddi getirilerle yazılıma ilgisi olan ve olmayan oldukça sayıda kişinin ilgisini çekiyor. Bu bağlamda her yaştan yazılım bilgi almak isteyen kişileri müşaahade ediyoruz.
Bu elbet son derece iyi bir vaziyet. Amma ve lakin bu kimseler, bilhassa de yazılıma ilgisi olmayanlar bu alana adım attıklarında oldukça 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ünüm karşısında akıllarında canlanan sual ise şu: Niçin bu kadar oldukça yazılım dili yerine her işi görebilecek kapasitede olan bir tanesini kullanmıyoruz?
Her şeyden önce niçin oldukça sayıda yazılım dili bulunduğunu, ondan sonra da niçin bunların yerine yalnız bir adet kullanmadığımızı anlatacağız:
Her şeyden önce programlama dili sayısının artmasının en gerekli sebebi gereksinim. Teknoloji, her geçen gün daha da gelişiyor ve bu bağlamda şirketlerin buna ahenk sağlaması, dijital ürünlerini buna gore devam ettirmesi gerekmektedir. Elimizde oldukça çok yazılım dili olmasına karşın düşük ihtimalli bir senaryoda da olsa belli bir iş için lüzumlu araçları elde edemeyebiliriz.
Bu da bizi o işi görecek yeni araçlar yapmaya iter. Temelde bütün dilleri alıp ikonik “Hello World” komutunu değişik şekillerde de olsa girebilirsiniz. Tıpkı otomobil, bisiklet, tayyare ve trenle bir yerden başka bir yere gidebilmeniz şeklinde. Amma ve lakin iş hangi araca ihtiyacınız olduğu mevzusuna vardığında burada belirli çizgiler çekiliyor.
Evet bisiklet de bir ulaşım aracıdır. Amma ve lakin ailenizle beraber uzun yol oluşturmak istediğinizde otomobil şeklinde motorlu taşıtları tercih edersiniz.
Tıpkı internet sayfası üstünde çaba göstermek ve uğraşmak için C++ yerine daha oldukça Javascript ya da Python’un tercih edilmesi şeklinde. C++ da işinizi görebilir lakin dediğimiz şeklinde bu, otomobil varken bisikletle uzun yol hayata geçirmeye benzemekte. Fakat kimilerinin de bu hoşuna gider ve devamlı bisikleti, doğrusu mevzumuz çerçevesinde C++ dilini tercih eder. Burada işler birazcık da bireysel boyuta geçer.
Şimdi tekrar otomobil örneğiyle devam edelim:
Kimileri Ferrari’nin hızını, kimileri Tesla’nın sadeliğini ve akıcılığını, kimileri de Mustang’in sesini sever ve bunlar bu şekilde devam eder. İşi bireysel boyuta geçiren şey de bu. Sizin için daha kolay olan ya da kullanmaktan keyif aldığınız bir lisan var ise, otomobil örneklerinde olduğu şeklinde onu tercih edersiniz.
Bu yüzden iki oyunun değişik şekillerde geliştirildiğini görürüz. Stüdyolar geliştirdikleri oyunun gereksinimlerine gore değişik diller tercih eder ve günün sonunda bu stüdyoları takip eden değişik stüdyolar da kendilerine münasip olan yolları izleyince “oyun geliştirme için en yaygın kullanılan diller” listesini görürsünüz. Amma ve lakin bu listelerdeki dillerin oyun geliştirme için koşul olmadığını, kullanılacak dilin oyunun ihtiyacına gore değiştiğini belirtelim.
Oyunlar ve otomobiller üstünden bahsettiğimiz vaziyet web sitesi tasarlarken de, mobil uygulama yaparken de ve öteki senaryolarda da geçerli. iOS için uygulama geliştiriyorsanız farklı, Android için uygulama geliştiriyorsanız farklı araçlarınız olur. Bütünü gayeye gore şekilleniyor ve bu yüzden oldukça sayıda programlama diline sahibiz. Şimdi 5 yaşındaki birinin anlayacağı biçimde yalnız 2 görselle anlattıklarımızın üstünden geçelim.
Bunlar, haiz olduğumuz yazılım dilleri.
- “Çatal, bıçak ve kaşık yeter” demeden evvel hatırlatalım. Masadaki her bir şeyin işlevini gerektiren minimum bir senaryo var.
Bu da her işi görmesini istediğimiz yazılım dili:
Çatalla çorba tatmak şeklinde bir alışkanlığımız olmadığı sürece de kimse, gereksinim duymasının yanında işini kolaylaştıran ya da kullanmaktan hoşlanılmış olduğu bir lisan karşısında dururken gidip de geliştirme sürecini uzatanı kullanmayacaktır. “Elimizde olanı büyütmek olgunlaştırmak yerine niçin devamlı yenilerini çıkarıyoruz?” diye soracaktır olursanız da bunun şirketlerin ya da yazılımcıların tercihleriyle ilgili bulunduğunu belirtelim.