COMAL Öğrenilmesi gayet kolay bir programlama dili olan Comal, gerek hız gerekse netlik açısından Basic'i geride bırakıyor. Bir kaplumbağası bile var. Ve ekran cinleriyle harikalar yaratıyor. Halen Comal bir Yapay Zeka dili olarak kullanılmamakla birlikte, bu yönde geliştirilme potansiyeli taşıyor. Küçük Comal ilanı sayfanın bir kö- şesine sıkışmış, “Yüzyılın Oyunu'nu müjdeleyen dört renkli zevksizlik ör- neğinin bir kenarında neredeyse göz- den kaybolmuştu. Dudaklarımda de- rinleşen müstehzi bir gülümsemeyle okudum küçük ilanın sıraladığı müt- hiş özellikleri. İlanın iddiasına göre, Comal 0.14 Basic'in tamamen yerini almak üzere tasarlanmış, üst düzey bir programlama diliydi. Hıh, dedim ken- di kendime, bunları daha önce de duy- muştuk! Bu Basic, Logo ve Pascal'ın en iyi yönlerinden oluşturulmuş melez bir dildir, diyordu ilan. Yalnızca 20 do- lar karşılığında vaadettiği özellikler- se pek inanılacak gibi değildi. Ben de, okuduklarımın bir kelimesine bile inanmamış olarak, Comal'i ilgimi uyandıran ama sonuçta boş çıkan di- ğer egzantrik diller kategorisine yer- leştirip konuyu kapattım. Mutlu Keşif Üç ay sonra posta kutumdan yerel kullanıcılar grubumun kütüphanecisi tarafından gönderilmiş bir Comal 0.14 disk kopyası çıktı. Diske iliştiril- miş mektup, bu yeni dilin üstünlük- lerinden övgüyle söz ediyordu. Co- mal'i bilgisayarıma yükledim. Demo programlarını çalıştırdım, gördükle- rimden afallamış olarak bir an dur- dum. Sonra büyük bir rahatlama his- siyle yeni dili öğrenmeye koyuldum. O gece, yapılandırılmış programlama- nın keyfini keşfettim. C-64'ün ekran cinlerini, hi-res ek- ranını ve X-Y grafiklerini yönetmek için gereken tüm komutlar (yani, Commodore'un Basic 2.0'un repertu- varına almayıp bizi Peek'lere ve Po- ke”'lara başvurmak zorunda bıraktı- ği bütün o kullanışlı komutlar) dilin bizzat yapısında yeralıyordu. Üstelik, C-64'ün Comal versiyonu 0.14, yal- nızca bir öğrenme diliydi. Commodo- re, gerçek Comal'i (versiyon 2.0'ı) bir 64K ROM kartuşu halinde yıl sonun- da satışa sunmaya hazırlanıyordu. Rov Atherton'un Structured Prog- ramming With Comal'ini (Comal'le Yapılandırılmış Programlama) açıp, iki haftamı dili tanımaya adadım. Comal tam benim aradığım şeydi. Aldatıcı görüntüsüne kanıp, bunun yeni bir Logo versiyonu veya basitleş- tirilmiş bir Pascal veya daha da kö- tüsü C-64 için en yetkin Basic oldu- ğunu düşünebilirsiniz. Bunların hep- si bir ölçüde doğru, ama eksik. Co- mal bu tanımları aşıyor. Bu dil ilk olarak, on yıl önce Dani- markalı eğitimci Borge Christianson tarafından tasarlanıp yaratılmıştı. Pascal yeni başlayan bir programcı için çok karmaşık olduğundan ilk dil olarak Basic'i öğretmek durumunda kalan Christianson, Basic'in kullanım kolaylığıyla Pascal'ın yapısını birleş- tiren ara bir dilin eksikliğini hissedi- yordu. Bu eksikliği gidermek için Co- mal'i yarattı. Aradan geçen yıllarda Comal ta- nımlandı, yetkinleşti, standartlara ka- vuştu ve zenginleşti. Fakat işlevi hâlâ aynı: Öğrenilmesi ve öğretilmesi ko- lay bir ilk dil. Bu aldatıcı “öğrenme dili”” etiketinin ardındaysa, Basic'i ye- rinden edebilecek yetenekte, güçlü bir programlama aracı gizli. -a Commodore Öğrenilmesi Zor mu? Her dil başlangıçta zordur, ama hoşgörülü bir dil öğrenmenin azabını hafifletebilir. Comal kullandığım dil- lerin en şefkatlisi. İşletim sistemi prog- ramcının tam bir beceriksiz olduğu varsayımıyla hareket ederek her bir kod satırında sentaks hatası kontro- lü yapıyor. Tek bir hatalı satır girmek mümkün değil. Ben Comal'e Basic'- den geldiğim için, bazı kötü alışkan- lıkları unutup virgüllerin ve diğer nok- talama işaretlerinin nereye konacağı- nı yeni baştan öğrenmek zorunda kal- dim. Şimdi geriye bakıyorum da, bu be- nim için hem eğlenceli hem de kazatıç- lı bir tecrübe oldu. Eğer Comal'i ilk dil olarak seçerseniz, programcılığı ve bilgisayar donanımlarını birarada öğ- renmeniz gerekiyor. Bu da imkânsız bir şey değil: Ben Basic'i böyle öğren- miştim. Comal'i Basic'ten ayıran çok önem- li bir üstünlük, Basic'i okunmaz hale getiren şifremsi steno notasyonunu değil, İngilizceyi kullanması. Comal kodunun her satırına yalnızca tek bir komut, ya da anahtar sözcük girebi- liyor. Basic'teyse, komutları iki nok- ta üstüstelerle birbirinden ayırarak, 80 karakterlik bir satıra sığdığı kadar ko- mutu sıkıştırırsınız. Her ikisinden de birer örneğe bakarsak, netlikten tam neyi kasdettiğim daha iyi anlaşılacak: 10 OPEN4 4:GOSUB6021:PRINT#A4, CHRS$(12): GOSUB2265:PRINT#4,HE$: CLOSE4:OTO 33 98 3398 Comal'deyse: select “1p:” //printer kanalını aç liste'diz //verileri sıraya koy sayfa //printer'a form gönder print'list //verileri printer'a sayfa'no //sayfa numarasını yaz select ““ds:”” //printer kanalını apat //iş tamam, menüye ön asıl'menü “//” REM anlamına geliyor. İki dil de aynı işi gördü, ama hangisini oku- mak daha kolay? Tabii. Anahtar söz- vzesi S RE| B 15