BİLGİSAYAR YAZILIMI
(SOFTWARE)
YAZILIM KAVRAMI VE TÜRLERİ
Bilgisayara bir takım işler yaptırmak
için hafızasında saklayarak işlem yapmakta kullandığı i komutlar vermek gerekir.
Komutlar genel olarak klavyeden veya diğer giriş birimlerinden bilgisayara verilen
emirlerdir.
Bilgisayara iş yaptırmak için verilen
komutlar veya bu komutlar zincirinden oluşan bilgisayar programlarına yazılım
(software) adı verilir. Diğer bir değişle, yazılım ile program kelimeleri birbiriyle
eş anlamlıdır. Herhangi bir yazılım olmadan bilgisayara bir iş yaptırmak mümkün
değildir. Bu nedenle yazılım dünyası donanımla beraber çalışan, fakat başlı
başına önemli olan ayrı bir dünyadır. Gerçek anlamda ilk bilgisayarın üretilmesi
ile yazılım kavramı gündeme gelmiş ve bilgisayarı çalıştırmak için birçok
programlama dilleri geliştirilmiştir.
Programlama dilleri, işletim sistemi
programları, derleyiciler, yorumlayıcılar, editörler, genel ve özel amaçlı bütün
uygulama programları bilgisayarın yazılım dünyasını oluşturur. Fakat hangi grupta
olursa olsun bütün yazılımlar bir programlama dilinde kodlanarak oluşturulmuş
programlardır. Hatta, programlama dillerinin kendileri de diğer bir kodlama sisteminde
yazılmış bilgisayar programlarıdır.
Yazılım dünyasında sık kullanılan
terimlerden bazılarının açıklamaları şöyledir:
1.Sistem yazılımları : Bilgisayar
donanımını herhangi bir iş için kullanıma hazırlayan, bilgisayar belleğini ve
çevre bilimlerini harekete geçiren, merkezi işlem birimi ile olan ilişkilerini kuran
ve kontrol eden programlardır. Bu programlar, aynı zamanda bilgisayarın işletim
sistemini oluştururlar. Bilgisayarda değişik işletim sistemleri kullanıla bilir. Bu
nedenle her işletim sisteminin kendine özgü sistemi vardır.örnek olursa, DOS, UNIX,
XENIX farklı işletim sistemleridir ve bunların sistem yazılımları da birbirinden
farklıdır. Sistem programları, bilgisayarın açıklaması ile devreye girer ve
kapanıncaya kadar bellekte kalırlar.
2. Uygulama programları (Application
programs) : Bilgisayarın belirli bir işleme yönelik olarak çalışmasını
sağlayan programlardır. Bu programlar kişi veya firmalarca paket programlar halinde
piyasaya sürülürler. Mesela, bilgisayarda veri yığınlarını işlemek için veri
tabanı programlarına, yazı yazmak için kelime işlem programlarına, grafik çizimleri
için grafik çizim programlarına, bir işyerinde depo kontrolü için stok kontrol
programlarına ihtiyaç vardır. Bilgisayar kullanıcıları bu tür programları
kendilerine yazamazlar veya bu tür programları yapmak, uzun zaman alacağından hazır
yapılmış olanlarını uygulamaya koyarlar.
Uygulama programları, bilgisayar
programlama dillerinden biri veya birkaçı ile yazılarak oluştururlar. Özel bir alanda
işlem yapabilmesine karşın, değişik kesimlerde aynı amaçla kullanılabilmesi, bu
tür programların genel özelliğidir. Başlıca uygulama programları şunlardır.
1- Veri tabanı programları;
2- Grafik çizim programları;
3- Kelime işlemcileri;
4- Hesaplama tabloları;
5- Muhasebe programları;
6- Stok kontrol programları;
7- İstatistik programları vs.
3- Kullanıcı programları (User
programs) : Bilgisayar kullanıcıları tarafından herhangi bir programlama dilinde
yapılan programlardır.
4- Hizmet veya destek programları
(Utility Programs) : Bilgisayarda program izleme, sıralama, listeleme, dosya silme
vs. gibi bazı işlemler sık olarak yapılırlar. Örneğin, bir program yazılırken
hataların daha kolay bulunması için izleme (tracing) programlarına,verileri sıralamak
için sıralama (sorting) programlarına veya bilgileri yedeklemek için yedekleme
(backup) programlarına ihtiyaç duyulur. Bu işlemleri yapabilecek programlar daha
önceden yapılarak programcıların veya kullanıcıların hizmetlerine sunulurlar. Bu
tür yazılımlara hizmet, destek veya yardımcı yazılımlar adı verilir.
5- Kelime işlemciler (Editörler) : Bilgisayarda
metinler yazmak ve yazıcıdan almak amacıyla oluşturulan uygulama yazımlarıdır.
MAKİNA DİLİ
Bilgisayarın verileri ikili sayı
sisteminde algıladı bilinmektedir. Bilgisayara her komut veya çalıştırılan her
program satırı merkezi işlem biriminde ikilik sayı sisteminde (1 ve 0'larla)
yazılmasıdır. Bu yüzden Makine dilli bilgisayarın ana dilli gibidir. Programcı
bilgisayara vermek istediği komutları ikilik sayı sisteminde kodlar. İlk
programcılarını Makine diliyle yazmışlardır. Fakat, bu dilde program yazmak veya
yazılmış programları anlamak çok zordur. Ayrıca, programcının donanım hakkında
da çok şeyler bilmesini gerektirir. Bu nedenle, günümüzde bir çok simgesel
programlama dilleri geliştirilmiştir.
PROGRAMLAMA DİLLERİ
Makine dilinde bilgisayar programı
yazmanın güçlülüğü, bilgisayarı daha kolay şekilde programlama yollarının
bulunmasını ortaya getirmiştir. Bu amaçla ikilik sayı sisteminde verilen her komuta
karşılık gelen kelime-komutlar icat edilerek, simgesel programlama dilleri
geliştirilmiştir. Böylece bilgisayarın geniş kitlelerce daha kolay şekilde
programlanması ve kullanılması sağlanmıştır.
Programlama dilleri, genellikle
İngilizce kelimelerden seçilmiş komutlardan oluşur. Her dilin kendine has birtakım
özellikleri vardır. Programcı bilgisayarda yapılacak olan işin özelliğine göre
uygun bir dil seçerek programını yazar. Örneğin, bir kütüphane programı için
uygun olan dil, bazı matematik işlemlerinin yapılması için uygun olmayabilir. Fakat
sonuç olarak bir programlama dilini öğrenmek ve bu dille program yazmak Makine diline
oranla daha kolaydır.
Programlama dilleri kendi arasında alt
düzey ve üst düzey programlama dilleri olarak iki kısma ayrılır. Alt düzey
programlama dilleri makine diline oldukça yakın ve bilgisayarın teknik özelliklerini
daha fazla kullanabilen dillerdir.Bu dile en iyi örnek assembly dilidir. Alt düzey
dillerin en kötü yanı bilgisayar donanımına fazlaca bağımlı olmasıdır. Bu dilde
program yazmak için bilgisayarın teknik özellikleri hakkında da bilgi sahibi olmak
gerekir.
Üst düzey diller,programcının
makineye olan bağımlılığını ortadan kaldırmak için geliştirilmiştir. Bu
dillerde yapılan programlar değişik teknik özelliklere sahip her makineden
çalıştırılabir. Bu diller,genellikle İngilizce cümlelerden oluşan bir yazı
gibidir. Bu yüzden üst düzey dilleri öğrenmek ve program yazmak daha kolaydır.
Basic,Cobol,Pascal, PL/1,Fortran,Ada, APL gibi diller üst düzey diller grubundadır.
DERLEYİCİ VE YORUMLAYICILAR
Bu programlama dilinde yazılan
program,bilgisayarda hemen çalıştırılamaz. Çünkü,bilgisayarlar sadece makine
dilinde yazılan programları anlayabilirler. Bu yüzden programlama dilleri ile yazılan
programları makine diline çeviren yazılımlara Derleyici (Compiler) veya
Yorumlayıcı (Interpreter) denir.
Bazı dillerin ise hem derleyici hem de yorumlayıcıları olabilir.
Derleyicisi olan programlama
dillerinde,program yazıldıktan sonra derleyiciden geçilerek makine koduna
dönüştürülür. Program yazılırken hatalar yapılmışsa,derleme esnasında bu
hatalar listelenir. Programcı daha sonra bu hataları gidererek,programı yeniden derler.
Bu tür programlar ancak derlendikten sonra bilgisayarda çalıştırılabilirler.
Cobol, Pascal, PL/1, C gibi diller
derleyicisi olan dillerdir.
Basic, Dbase gibi programlama dilleri ise
hem yorumlayıcısı hem de derleyicisi olan dillerdir.
Yorumlayıcılar da programları makine
koduna dönüştüren yazılımlardır. Derleyici ile arasındaki fark şudur:
Yorumlayıcılar programın her satırını anında makine diline çevirerek
çalıştırırlar. Bu yüzden program yarım bile olsa, yazılmış kısımlarını hemen
uygulamaya sokmak mümkündür. Ayrıca,yorumlayıcılar kaynak programın makine koduna
çevrilmiş şeklini ayrı bir dosyada saklamazlar. Yorumlayıcı,program her
çalıştırıldığında her satırı yeniden makine koduna dönüştürecek uygulamaya
sokar. Bu yüzden yorumlayıcılar yavaş çalışırlar. Diğer bir fark da
yorumlayıcıların,bilgisayarın teknik imkanlarını sonuna kadar kullanamamasıdır.
Derleyiciler ise,programın makine kodunu bir kez oluşturarak ayrı bir dosyada
saklarlar. Programın her çalıştırılmasında bu kod kullanılır.
|