izmYazılım yükleniyor

Yazılım Nedir ?

Yazılım, TDK tanımıyla bir bilgisayarda donanıma hayat veren ve bilgi işlemde kullanılan programlar, yordamlar, programlama dilleri ve belgelemelerin tümüne verilen addır. Daha yalın haliyle elektronik bir donanıma bir işi yaptırmak için verilen komutların bütünüdür.

Peki "Yazılım nerede kullanılır, hayatımızdaki yeri ve önemi nedir ?" diye soracak olursak, aslında evimizdeki çoğu eşyadan, elimizden düşürmediğimiz cep telefonlarından, belirli bir yere ulaşmak için kullandığımız araçlardan tutun hemen hemen her sektörde kullanılması olmazsa olmaz bir hale gelmiştir. Biraz daha temele inecek olursak, algoritma dediğimiz bir programın veya planın akışını belirlemeyi sağlayan yapıyı sadece elektronik donanımla sınırlamayıp aslında hayatımızda her daim kullandığımızı vurgulamak, yanlış olmayacaktır.

Düşünün ki evden çıkıp bakkala gideceksiniz. Sizin için evden çıkıp bakkala gitmek eylemiyle sınırlı olan işin arka planında yatan o kadar çok adım var ki. Örneğin, evden çıkmak için önce evde olmalısınız. Sorulacak soru şu: "Evde misiniz ?". Bu sorunun iki yanıtı olacaktır: "Evet" veya "Hayır". Yanıtınız "Evet" ise planladığınız eyleme devam edebilirsiniz ancak, "Hayır" ise "Evden çıkıp bakkala gitme" eylemini gerçekleştiremezsiniz. Belki ilk etapta saçma veya mantıksız gelecektir kiminize. Ancak sadece bu örnekle kalmayıp örnekleri çoğaltarak beyin jimnastiği yaptığınızda algoritma mantığını da kavrayabilirsiniz.

Algoritmaya kısaca değindikten sonra dönelim yazılıma. Hayatın içinden örnekler verelim;

Televizyon kumandasını düşünün. Üzerinde birçok tuş var ve biz o kadar benimsemişiz ki istediğimiz kanalı gözümüz kapalı dahi açabiliriz. Peki siz, bir X kanalını açmak için bir veya birkaç tuşa bastığınızda televizyon bunu nasıl algılar ? Neticede sizin içinizden geçenleri okuyabilir bir sistem değil. İşte siz, bir tuşa bastığınız anda arka planda işlev gören bir yazılım var. Televizyona bir işi yaptırmak için bir komut vermiş oluyorsunuz. Hayatımızda bu kadar sıradanlaşan tüm işler aslında (yapay zeka ve makina öğrenimini hariç tutarak) elektronik donanım, kendisi için sanki ilk kezmiş gibi her seferinde her adımı dikkatlice algılar ve yerine getirir.

Cep telefonlarını düşünelim şimdi de. Gün içinde elimize alıp kaç defa göz attığımızın sayısını dahi bilemeyecek, sayamayacak hale gelmiş olabiliriz. Bunu okurken bile (eğer cep telefonundan okumuyorsanız) içgüdüselmiş gibi elinizin cep telefonuna gittiğini düşünmemek içten değil. Peki bu cep telefonlarındaki yazılımlar nedir ? Her şey bir yazılımla mı meydana gelmiş ?

Hemen hemen evet (Belki de %100 evet). Malumunuz bir işletim sistemi var: Android olabilir, iOS olabilir, Windows olabilir... Bu işletim sistemleri de bir yazılım aslında. Yüzbinlerce belki milyonlarca satır kod ve sizin sadece bir dokunmanızla işlev gören devasa kod blokları mevcut. Sabahlarımızın nefret edilesi şeyi alarm kurmak bir yazılım, kısa ileti göndermek bir yazılım, tuş kilidi veya telefonumuza indirdiğimiz mobil uygulamalar hep yazılım ürünü. Yazılım geliştiricilerin evirip çevirip, günlerce düşünüp uğraşarak yaptığı bir işlem sizin için sadece bir butona basmaya karşılık geliyor. Nasıl bir sistem, nasıl bir yapı, nasıl bir teknoloji...

Yazılıma Nereden Başlanmalı ?

Konuyu biraz daha geliştirerek yazılıma nereden başlanmalı sorusunu sorarsak eğer, öncelikle ne amaçlı yazılımlar üretmek istediğimizi belirlemeliyiz. Amacımız, hedefimiz ne ? Makina yazılımı mı yapmak istiyoruz, bilgisayar programları mı geliştirmek istiyoruz, mobil uygulamalar mı geliştirmek istiyoruz, evimizdeki ışıkları aç-kapa mı yapmak istiyoruz... Örnekler çoğaltılabilir, ama önemli olan öncelikle hedefimiz ne, bunu belirlemeliyiz. Ardından, hedefimize ilerlemek için bir programlama dili öğrenmemiz gerekecek. Gerçekten Türkçe gibi, İngilizce gibi, yepyeni bir dil öğrenirmişçesine özenli davranmak gerek bu noktada. Ve dil seçimi yaparken bazı kıstaslara dikkat etmemiz gerekecek:

•Performans ve sürdürülebilirlik açısından tatmin edici olmalı,

•Dilbilgisi kuralları (syntax) nispeten kolay olmalı,

•Geliştirilmeye açık olmalı,

•Bu alanda bizi geliştirmeye elverişli olmalı,

•O dile ait kaynaklara rahat erişilebilir olmalı.

Elbette daha sayılabilir kıstaslar vardır. Ancak önemli olanları bunlar. Dil seçimini yaptıktan sonra elimizin altında velinimet internetten yararlanarak veya kitapevlerinden kitaplar edinerek yazılım dünyasına giriş yapabilirsiniz. Yalnız, bu noktada söylenmesi gereken şey, algoritma mantığınızı oturtmuş olmalısınız. Aksi takdirde 2+2=4 kadar kolay bir işlemi dahi gerçekleştirememe ihtimaliniz doğar.

İzm Yazılım olarak, hem kendi deneyimlerimizden yola çıkarak hem de genel bilgiler ışığında anlatımlarımızı paylaşacağımız blog sayfamızın ilk makalesini burada sonlandırıyoruz. Diğer makalelerimizde daha derinlere inerek hem ileri seviye hem teknik bilgiler vermeye dilimiz döndüğünce (ya da elimiz yazdığınca) gayret edeceğiz.

Sonraki makalelerimizde görüşmek dileğiyle.