Programlama Nedir
Genel olarak programlama, Kullanıcıların isteklerini karşılayacak Muhasebe,Stok, Oyun, İşletim Sistemi gibi programları oluşturacak alt yapıyı (Kodları) hazırlamaktır. Bu alt yapıyı oluşturan kişilere programcı denir.
Bir programın çalışması demek, Mikroişlemciye daha önceden hazırlanmış bir kod yığınının gönderilmesi demektir. Bu kodlar işlemcinin anlayacağı ASM dilinde yazılmış kısa kodlardır, ASM en hızlı programlama dili olmakla beraber, kullanılması en zor programlama dilidir. ASM dilinde kullanılan tüm komutlar sadece işlemciye ve donanıma hitap etmektedir ve programı yazan kişinin tüm donanımı bilmesi gerekmektedir. Örnek vermek gerekirse A markalı bir ekran kartı için yazılmış bir program B markaları bir ekran kartında çalışmaz, çünkü donanımsal olarak farklılıklar vardır. ASM dili için kısaca bilgisayarın anadili diyebiliriz, çünkü CPU sadece ASM kodlarını anlayacak bir yapıya sahiptir.
PC işlemcilerinin ilk çıktığı günlerde sadece ASM dili olduğu için program yazmak gerçekten çok zordu. Her değişen donanım yada işlemci için tekrar program yazılması gerekiyordu, donanımsal zorluklar dışında yazılımsal zorluklarda vardı, Ekrana sadece A yazmak için bile bol miktarda kod yazılıyordu. Bu tip sorunları kaldırmak için kullanılması kolay alt seviye programlama dilleri oluşturuldu(( C, Basic, Pascal, Cobol v.s.)).
Alt Seviye programlama dilleri ile yazılan kodlar işlemci tarafından anlaşılamayan kodlardır, bu kodlar Compiler(Derleyici) tarafından işlenerek CPU’ un anlayacağı kodlara (ASM) çevrilir.
Örnek :
ASM ve BASIC Dilinde yazılmış Ekrana A harfi yazan program
ASM (Üst Seviye Dil) :
1. ORG 100
2. MOV AX,CS
3. MOV DS,AX
4. MOV ES,AX
5. MOV AX, B800 (Renkli Ekran Kartının Bellek Adresi (Her Ekran Kartında Değişebilir))
6. MOV DS,AX 7. MOV SI,0 ( A Harfinin Belleğe Yerleşeceği Alan )
8. MOV AL, 41 ( A Harfinin ASCII Kodu (Hex olarak)
9. MOV DS: [SI],AL ( Ekrana A Harfinin basılma anı
BASIC (Alt Seviye Dil) :
1. PRINT “A”
Örnekte görüldüğü gibi Alt Seviye bir dilde Ekrana A yazmak için tek bir komut yeterlidir, Üst seviye dilde ise çok daha fazla kod yazılması gerekir. Alt Seviye Dillerde yazılan programların kodları her ne kadar kısa görünsene derlenip çalışan duruma getirildiklerinde boyutları, Üst Seviye Dilde yazılan programdan daha büyük olurlar. Sebep ise ASM dili ile yazılan programda hedefe direk (Çok hızlı) ulaşılırken, Alt Seviye dilde derleme esnasında kod içine donanım ve işlemciyi tespit eden v.s. kodların eklenmesidir. Bu yüzdem alt seviyede yazılan programlar ASM dilinde yazılan programdan çok daha yavaş çalışırlar.
Alt seviye programla dilleri , yukarıdaki örneklerden de, anlaşıldığı gibi sadece bir çeviri aracıdır, tek programlama dili ASM’ dır. Fakat ASM diline C gibi yakın olan programlama dilleri de bazı kaynaklarda üst seviye dil olarak geçer.
Programlama mantığı oluşmadan önce, her şey donanımsal olarak yapılıyordu 1944 yılında yapılan MARK I, elektromanyetik mekanizmalar kullanarak işlemler yapan son bilgisayardır. 1950 yılından sonra program işleyebilen analog ağırlıklı bilgisayarlar geliştirildi. 1955 yılında transistorun ve 1970’lerde bütünleşmiş işlemcilerin çıkmasıyla programlama hızla ilerleyerek günümüzdeki konumuna gelmiştir.
Genel olarak programlama, Kullanıcıların isteklerini karşılayacak Muhasebe,Stok, Oyun, İşletim Sistemi gibi programları oluşturacak alt yapıyı (Kodları) hazırlamaktır. Bu alt yapıyı oluşturan kişilere programcı denir.
Bir programın çalışması demek, Mikroişlemciye daha önceden hazırlanmış bir kod yığınının gönderilmesi demektir. Bu kodlar işlemcinin anlayacağı ASM dilinde yazılmış kısa kodlardır, ASM en hızlı programlama dili olmakla beraber, kullanılması en zor programlama dilidir. ASM dilinde kullanılan tüm komutlar sadece işlemciye ve donanıma hitap etmektedir ve programı yazan kişinin tüm donanımı bilmesi gerekmektedir. Örnek vermek gerekirse A markalı bir ekran kartı için yazılmış bir program B markaları bir ekran kartında çalışmaz, çünkü donanımsal olarak farklılıklar vardır. ASM dili için kısaca bilgisayarın anadili diyebiliriz, çünkü CPU sadece ASM kodlarını anlayacak bir yapıya sahiptir.
PC işlemcilerinin ilk çıktığı günlerde sadece ASM dili olduğu için program yazmak gerçekten çok zordu. Her değişen donanım yada işlemci için tekrar program yazılması gerekiyordu, donanımsal zorluklar dışında yazılımsal zorluklarda vardı, Ekrana sadece A yazmak için bile bol miktarda kod yazılıyordu. Bu tip sorunları kaldırmak için kullanılması kolay alt seviye programlama dilleri oluşturuldu(( C, Basic, Pascal, Cobol v.s.)).
Alt Seviye programlama dilleri ile yazılan kodlar işlemci tarafından anlaşılamayan kodlardır, bu kodlar Compiler(Derleyici) tarafından işlenerek CPU’ un anlayacağı kodlara (ASM) çevrilir.
Örnek :
ASM ve BASIC Dilinde yazılmış Ekrana A harfi yazan program
ASM (Üst Seviye Dil) :
1. ORG 100
2. MOV AX,CS
3. MOV DS,AX
4. MOV ES,AX
5. MOV AX, B800 (Renkli Ekran Kartının Bellek Adresi (Her Ekran Kartında Değişebilir))
6. MOV DS,AX 7. MOV SI,0 ( A Harfinin Belleğe Yerleşeceği Alan )
8. MOV AL, 41 ( A Harfinin ASCII Kodu (Hex olarak)
9. MOV DS: [SI],AL ( Ekrana A Harfinin basılma anı
BASIC (Alt Seviye Dil) :
1. PRINT “A”
Örnekte görüldüğü gibi Alt Seviye bir dilde Ekrana A yazmak için tek bir komut yeterlidir, Üst seviye dilde ise çok daha fazla kod yazılması gerekir. Alt Seviye Dillerde yazılan programların kodları her ne kadar kısa görünsene derlenip çalışan duruma getirildiklerinde boyutları, Üst Seviye Dilde yazılan programdan daha büyük olurlar. Sebep ise ASM dili ile yazılan programda hedefe direk (Çok hızlı) ulaşılırken, Alt Seviye dilde derleme esnasında kod içine donanım ve işlemciyi tespit eden v.s. kodların eklenmesidir. Bu yüzdem alt seviyede yazılan programlar ASM dilinde yazılan programdan çok daha yavaş çalışırlar.
Alt seviye programla dilleri , yukarıdaki örneklerden de, anlaşıldığı gibi sadece bir çeviri aracıdır, tek programlama dili ASM’ dır. Fakat ASM diline C gibi yakın olan programlama dilleri de bazı kaynaklarda üst seviye dil olarak geçer.
Programlama mantığı oluşmadan önce, her şey donanımsal olarak yapılıyordu 1944 yılında yapılan MARK I, elektromanyetik mekanizmalar kullanarak işlemler yapan son bilgisayardır. 1950 yılından sonra program işleyebilen analog ağırlıklı bilgisayarlar geliştirildi. 1955 yılında transistorun ve 1970’lerde bütünleşmiş işlemcilerin çıkmasıyla programlama hızla ilerleyerek günümüzdeki konumuna gelmiştir.