Yazılım Nedir? - Malatya Web Tasarım - Privategrup

Yazılım Nedir?

Yazılım Nedir?

Yazılım Nedir?

Yazılım Nedir ?
En yalın tanımıyla yazılım; elektronik bir donanımı, belirli bir işi yapmak için derlenmiş komutların tümüdür. Bu komutlar işlemcilerde işlenerek bir vakaya dönüştürülür. Türk Dil Kurumu Sözlüğü’ne göreyse yazılım;  Bir bilgisayarda donanıma hayat veren ve bilgi işlemde kullanılan programlar, yordamlar, programlama dilleri ve belgelemelerin tümü. (TDK lügat)

Yazılım aslen yaşamımızın her alanında bulunmaktadır ve hayatımızı kolaylaştırır. Bilgisayarlar, telefonlar, televizyonlar, mobil teknoloji, internet, sanayide kullanılan yeni nesil cihazların hemen hemen tamamı, otomotiv, inşaat, eğitim, reklam, pazarlama, bildirişim, medya, eğlence, sağlık başta olmak üzere derhal derhal tüm sektörlerde, uzay sanayisinde, günlük hayatta kullanılan bazı teknik aksesuarlarda kısacası “yazılım” yaşamın her alanında kullanılmaktadır.

Yazılım Yazmaya Başlarken Nelere Dikkat Edilmelidir?

Bir fikrinizin, yada size verilen bir yazılım işini yapabilmek için ilk önce donanımı ve/veya işletim sisteminiseçmek gerekir.

Eğer elektronik bir donanım yapılıyorsa ihtiyaca nazaran en uygun performanslı ve en uygun fiyatlı işlemci ve donanımlar seçilmelidir. İşlemciler günümüzde 5 TL’den başlayıp binlerce liraya kadar çıkabilmektedir bu yüzden doğru işlemci seçimi çok önemlidir. Ardından bu işlemcinin desteklediği dil ve dile uygun derleyicibelirlenmelidir. Her işlemcinin her dile ilişik desteği olmadığı için, desteklediği diller arasındaki seçim bu dillerin sağladığı hız ve kolaylığa göre olmalıdır.

Eğer bilgisayar için bir yazılım yapılıyorsa öncelikle hangi işletim sistemi için yazılım yapılacağı seçilir. Arkasından hangi programlama dilinin kullanılacağı belirlenir. Bunun akabinde derleyici desteği ile yazılan kodlar makine diline çevrilir. Yazılan dile uyumlu bir derleyici kullanılması bundan dolayı zorunludur. Bilgisayarda dil ve derleyici uyumu elektronik cihazlara nazaran daha çeşitli ve rahat erişilebilir olduğundan kısa bir araştırma ile ihtiyaçlar rahatlıkla bulunabilir. Burada önemli olan programı hangi işletim sistemi için derleyeceğinizdir. Linux için derlenen program Windows’ta, Windows için derlenen program Linux’ta çalışmayacaktır. Aynı şeyler MacOsiçinde geçerlidir.

Yazılım Çeşitleri nelerdir?
Bu başlıkta yazılımı iki ana başlık altında inceleyeceğim:

Bilgisayar Yazılımı
Elektronik Yazılımı
Bilgisayar, temelde elektronik bir cihaz olsa da içindeki yazılım mantığı temel elektronik cihazlardan biraz daha farklı olduğundan bunları ayrı iki kategoriye ayırmak daha doğru olur. Mobil cihazlar bilgisayar ile aynı kategoride anlatılabilir, aralarında pek fark yoktur.

Bilgisayar Yazılımı
Bilgisayar yazılımları işlev olarak üçe ayrılır. Bunlar;

Uygulama Yazılımı
Sistem Yazılımı
Bilgisayar Programlama araçları
Uygulama Yazılımları: Bilgisayarda kullanılan, bir görevi yapmak için yazılmış yazılımlardır. Web programları, Ofis Programları, resim ve Video Düzenleme Programları, Oyunlar benzer biçimde birçok kategoride uygulama bulunmaktadır. İnsanların çalışmalarını hızlandırmak, bir işlemi bir veya birkaç tuşla yapabilmek için yazılmış yazılımlardır.

Sistem Yazılımları: Her okurun bilmiş olduğu benzer biçimde Windows, Android, iOS gibi kullanıcının ilk karşılaştığı, donanımların ve yazılımların uyumlu çalışmasını sağlayan temel yazılımlardır. Uygulama yazılımlarından daha derin bir bilgisayar bilgisi gerekmektedir.

Bilgisayar Programlama enstrumanları: aslında elektronik kategorisinde de geçerlidir. Bu yazılımlar, yazılan kodları bilgisayar diline çevirerek donanımlara ne yapması icap ettiğini söyler. Bu sayede bilgisayar uygulamaları çalıştırabilir. Eğer yazılım dili ile kullanılan programlama aracı uyuşmuyorsa veya doğru işletim sistemine ilişik değilse çalışmayacaktır tıpkı Türkçe bilmeyen birine Türkçe anlatmak şeklinde bir sonuç ortaya çıkacaktır.

 

Elektronik Yazılımları; Belirli bir yada birkaç görevi yapması için yazılan, çoğu zaman işlemcinin pin giriş-çıkışlarına bağlı sensörlerden veri okumak ve işlemek, giriş-çıkışlara bağlı olan motor veya led şeklinde elektronik cihaza bir iş yapmış oldurmak amacıyla yazılan yazılımlardır. Bu yazılımlar ufak projelerden sanayide kullanılan büyük cihazlara kadar her alanda kullanılmaktadır. Elektronik yazılımı dilleri ile bilgisayar dilleri aslen farklı değildir.Biroldukça ortak yazılım dili bulunmaktadır. Elektronik yazılımının bilgisayar yazılımından farkı; elektronik yazılımlarda, programlanan işlemciyi kesinlikle bir elektronik dönem ile, gerekiyorsa da mekanik tasarım ile birleştirilip kullanmak gerekmektedir. Kısaca elektronik yazılımlarda; kimi süre kamera, kimi süre ise motor benzer biçimde fiziksel bir karşılık kesinlikle bulunmaktadır.

Programlama Yaparken Hangi Yazılım Dili Kullanılmalıdır?
Aslında bu soru çok fazla sorulmasına rağmen çok genel bir soru olduğundan tek bir karşılığı yoktur. O nedenle bu suali parçalara bölerek cevaplamak icap ettiğini düşündüm.

Kullanıcı arabirimine haiz uygulama yazılımı yapmak isteniyorsa arayüzü sürükle bırak mantığı ile daha basit ve hızlı yapılabildiği için C#, Visual Basic yada Java tercih edilebilir. Oyun yazmaya yeni başlamış olan yazılımcılar çoğu zaman hazır motor kullandığı için C# dilini öğrenmeleri mutlaka gereklidir.  Dillerin üçünü de denediğim için en kolay anlaşılabilir dilin Visual Basic olduğunu ve başlangıçta programlama mantığını öğrenmek için ideal olduğunu düşünüyorum. Java dili, yazılım işinde profesyonelleşmek, bu konuda bir işte çalışmak için kesinlikle geliştirilmesi gereken çok önemli bir dildir.

Hesaplama, dosya okuma ve yazma şeklinde arayüz gerektirmeyen, hız gerektiren işlemler için yazılacaksa C, C++veya Python dili başta öğrenmek için çok daha idealdir. Bununla birlikte C dili elektronik devrelerin neredeyse tamamında kullanılmaktadır. öteki dillerle meydana getirilen çalışma süresi hız karşılaştırmasına nazaran C dili, makine diline en yakın dil olduğundan en hızlı çalışan programlama dilidir. Öğrenmek için birazcık daha zor bir dil olsa da hız ve kaynak kontrolü açısından kesinlikle öğrenilmesi ihtiyaç duyulan çok önemli bir dildir. Assembly dilini bu kıyaslamanın haricinde tuttum, çünkü bir bilgisayar programı yazmak için Assembly dili çok fazla vakit ve enerji sarf ettirecektir. Elektronik devrelerde ise daha sıradan işlemler için Assembly dili tercih edilebilmektedir, fakat kompleks işlemlerde bilgisayarda olduğu benzer biçimde süre ve enerji kaybı üst seviyede olacaktır. C++ dilini kullanmadığımdan, yanlış data vermemek adına onun hakkında informasyon yazmadım. Eğer C++ dili hakkında bilginiz var ise yorumlarda okumak ve öğrenmek isterim.

Internet sayfası yada web uygulaması yapmak isteniyorsa mutlaka HTML, CSS ve JavaScript bilinmelidir. HTML ve CSS tek başına kullanılamadıkları için biri HTML olmak üzere en az ikisi kesinlikle bilinmelidir.Bu üç dilin internette ve kitapçılarda oldukça fazla kaynağı ve ücretsiz örnek çalışmalar var, o yüzden günümüzde öğrenilmesi çok basit olan dillerdir. Aynı zamanda sitenin hayata geçmesi için PHP gibi sunucu üstünde çalışan programlama dillerinin de bilinmesi gerekmektedir. Django, Flask şeklinde Python tabanlı web çatıları da web sitesi oluştururken kullanılmaktadır.

Python dili tüm dünyada çok popüler bir dil olmasına rağmen önceki paragraflarda pek üstünde durmadım. Python, derhal derhal tüm işletim sistemlerinde kullanılabilen, sistem programlama, uygulama programlama, web programlama şeklinde birçok alanda kullanılabilen gelişmiş bir dildir. Özellikle internette, her alanda çok çok fazla kaynak vardır. Çok azca kodla çok fazla iş yapmış oldurılabilir. Ancak büyük programlarda diğer dillere gore oldukca yavaş kalmaktadır. Kullanıcı arabirimi tasarlamak isteyen kişiler için C#, Java benzer biçimde nesne-tabanlı dillere gore daha zor olsa gerek. Çok küçük işlemler yapılacaksa hız bir mesele olmayacağından C yada C++ diline nazaran tercih edilebilirler fakat işlem yükü büyüdüğünde oldukça hız kaybı ortaya çıkaracaktır. Bu yüzden zorunda kalmadıkça Python dilini ikinci, üçüncü dil olarak öğrenmenin daha doğru olacağını düşünüyorum.

Microsoft yakın zamanda kuantum programlama dili olan Q# dilini de yayımladı. Evlerde kuantum bilgisayar kullanılmasa da, hatta dünyada bile sayılı kuantum bilgisayarı mevcut olsa da gelecekte yaygınlaşma ihtimaline karşı bu programlama dilinin de üstünde durulabilir.

Yorum Yaz