Commodore sayı 41, sayfa 63
Sayfanın metni

Sayfa 63

00100 input — 190110100 İNE ATLAMA ne 1001 WHLE 1010... İNTERPRETER

PRİNT “BAŞLANGIÇ” - savı VİRGÜLDEN SONRASIZ SAYI PRİNT “SON”

LE

PRİNT VİRGÜLDEN.

END PROC

BASIC Programı

ona 151080032 COMPİLER Makine Programı

Çevrilmiş bir programın çalışmasında artık program metni kullanılmaz.

LİNE (x1,y1)-(x2,y2),1 ifadesi (x1,y1)'den (x2,y2)'ye 1 renginde bir çizgi çeker. Bu ifadenin ardından bir de “,bf” eklenecek olursa, diyagonalini bu çizginin oluşturduğu dikdörtgen | rengiyle doldurulur. (BASIC'te kullanıma hazır tüm renkler numaralanmıştır). Program O ile | arasındaki bir raslansal sayıyı üreten RND fonksiyonunu kullanır ve böylece Hollandalı sanatçı Mondrian'ın yapıtlarını andıran resimler üretir. BASIC resimleri raslansal olarak üretilmiş ve kullanıcı herhangi bir tuşa basana kadar değişen dikdörtgenler içerirler. Bu programda da gördüğünüz gibi, program kitaplıklarının prosedürlerinin tam olarak kullanılabilmesi durumunda, çok basit araçlarla şaşırtıcı efektler elde edilebilmektedir. Ama BASIC komutları yardımıyla AMIGA sistem yazılımından kitaplık prosedürlerinin yalnızca bir kısmı kullanılabilir (bunlar bu iş için oldukça kolay). Ama tecrübeli bir programcı olarak her programlama dilinden işletim sisteminin tüm prosedrürlerini kullanabilirsiniz. Bunun için yalnızca programınıza prosedürün nerede ve hangi kitaplıkta bulunacağını ve hangi parametrelere gereksinimi olduğunu bildirmiş olmanız yeterli. Bu bağlantıların daha derinlemesine açıklanması, bu yazının konusunu aşar. Eğer bu konuda daha çok bilgi edinmek istiyorsanız, programlama kitabınızdan Libraries (Kütüphaneler) bölümünü okuyun.

Yüksek olarak adlandırılan tüm programlama dillerinde temel fikir, bir programı önce harflerin biraraya getirilmesiyle oluşan “doğru” kelimelerinin oluşturduğu belirli ölçülerde okunabilir bir dilde formüle etmektir. Bu yolla oluşturulan bir programlama dilinin insan diline ne denli yakınlaştığı ise dilden dile değişmektedir. Ancak uzmanlar tarafından anlaşılabilen çok karmaşık dillerin yanısıra, gündelik yaşamda bir kullanım kılavuzu okur gibi kolayca anlaşılabilen programlar da vardır.

Eğer bugüne kadar herhangi bir programlamadilini öğrenmemiş du- Tumdaysanız, bu eksikliği telafi etmeye kalkıştığınızda, programcıların kasılmaları sizi ürkütmesin. Programlama dillerinin herbiri en basit insan dilinden çok daha basittir ve çok daha kolay öğrenilebilir. Programlama dillerinin kendi aralarındaki tüm farklılıklara rağmen ortak olan bir noktaları vardır: Programcının komutları için eşanlamlı bit dizileri makine dilinde yerine getirilmek durumundadır. Burada eşanlamlının anlamı, bit dizisinin programının düşündüğünü sanki yüksek dilde yazılmış gibi yapmasıdır. Bir pro: ramın makine koduna çevrilmesi yöntemi oldukça basittir. En azından

© kadar basittir ki, bu iş de bir bilgisayar programına bırakılabilmektedir. Kullanılacak iki yöntem vardır: Interpreter (çevirici) ve Compiler (derleyici). Interpreter, yüksek programlama dillerinin makine koduna çevrilmesinde yararlanılan en basit ve en çok tercih edilen metoddur. AMIGA BA-SIC bir çeviricidir. Bunun nasıl çalıştığını daha önce açıklamıştık. Çevirici bir programı çalıştırabilmek için satır satır okur, komutlara karşılık gelen makine dili parçalarını arar ve yerine getirmesi için bunları bilgisayara aktarır. Bu sürece programin çevrilmesi adı verilir. Buna karşılık derleyici, yüksek programlama dilindeki program metnini alır ve bundan makine dilinde aynı işi yapacak eşanlamlı bir program üretir. Tüm bu sürece, derlemek (compile etmek) adı verilir. Bu sırada makine kodunu olabildiğince derli toplu ve çabuk oluşturabilmek için mükemmelleşmiş teknikler kullanılır. İnsan dilleriyle bir karşılaştırma yapacak olursak, bir çeviriciyi (Interpreter) yabancı dildeki bir kitabı okurken simultane tercüme yapan bir çevirmene benzetebiliriz. Buna karşın bir derleyici, bir kitabın bir dahaki okunmasında çevirmeni gerektirmeyecek şekilde yazılı çevirisini yapan bir çevirmene benzer. Derleyici prensibinin avantajları çok açıktır: Elde edilen makine kodu kendi başına bir olgudur ve çalışmak için çeviriciyle ek bir programa

63 gerek duymaz. Ayrıca derlenmiş programlar çoğu zaman daha da hızlıdırlar, çünkü çeviricinin program satır satır taraması, analiz etmesi ve çevirmesi gerekmemektedir. Diğer yandan derleyicilerin tüm dillerde genel olarak kullanılmalarını engelleyen ağırlaştırıcı dezavantajları da vardır. Derleme işlemi küçük bellek yapılarında çoğunlukla çok uzun süre almaktadır. Aslında bu sırada elde edilen programın çok hızlı olmasına rağmen, oluşturulması ve denenmesi sırasında uzun bekleme süreleri göze alınmak durumundadır. Yapılan her yeni ufak değişiklikten sonra program yeniden çevrilmek zorundadır Ve insanın çalışmakta olan programda yapılan değişiklikleri denemesi için dakikalar boyu beklemesi gerekebilir. Bir çeviricinin kullanılması durumunda ise program, yapılan her değişiklikten sonra anında işlemeye hazır durumdadır. Çoğu derleyicilerin kullanımları çeviricilerinkinden çok daha zordur. Çeviricilerde kural olarak bir programın çalışmaya başlaması için bir başlama komutunun (örneğin RUN) verilmesi yeterliyken, derleyiciler bu noktaya erişene kadar birden fazla çalışma adımı gerektirirler (tabii bunların herbirinde hata yapılması olasılığı da vardır). Bu nedenle günümüzde bir programlama dilini öğrenmek veya bir programı gerçekten öğrenerek oluşturmak ve denemek için çeviriciler vazgeçilmez unsurlardır. Programlamanın her iki türü de (çevirici ve derleyici) kendi açılarından haklı varlık nedenlerine sahipler ve mutlaka birinden biri de herhangi bir programlama dili için ideal olma özelliğine sahiptir. Bu nedenle şimdi size birkaç önemli programlama dilini tanıtmak istiyoruz: Makine koduna en yakın olan programlama dili Assembler'dir. Assembler'de programın her satırı makine kodundaki bir yönergeye tümüyle karşılık gelir. Assembler olarak da adlandırılabilen derleyicinin bu dille işi oldukça kolaydır. Programcının burada programlamanın oldukça alçak bir düzeyinden işe başlaması gerekecektir. Çünkü ufacık bir metnin ekranda görüntülenmesi gibi son derece basit bir şey bile Assembler dilinde oldukça büyük programları gerektirir.

Klavyeyle gezinmek için ← ve → tuşları.