Bu diller arasında doğrudan bir kar- şılaştırma denemesi pek başarılı ola- maz, çünkü aralarındaki büyük fark- lar bu türden bir denemeyi boşa çı- karabilir. Yalnız bu üç dilin ortak bir özelliği olduğu söylenebilir (bir istis- na dışında): Bu diller hem C-64 hem de C-128 için kullanılabilmektedir. Yalnız C dili henüz sadece C-128'de kullanılabiliyor. Haydi bu dil karma- şasının içine doğru bir geziye çıkalım. İlk hedefimiz COMAL. BASIC 4 PASCAL - COMAL COMAL (COMmon Alghorithmic Language), 1973 yılında doğdu. Amaçlanan, programcı olmayan ki- şilerin kolayca öğrenebileceği ve ay- nı zamanda üstün bir programlama dilinin gereklerini yerine getirebilecek bir dil oluşturmaktı. Dili geliştiren- ler, BASIC'in basitliğiyle PASCAL'- ın verimliliğini tek bir dilde kaynaş- tırmak istiyorlardı. Bu dildeki bazı komutları BASIC'- ten tanıyorsunuz. Aslında bunların hepsi, yapı komutları. Döngüler yal- nızca FOR...NEX ile oluşturulmu- yor. Bu dilde daha çok REPEAT... NTIL, WHILE...ENDWHİILE, CA- SE..ENDCASE ve IF...THEN...EL- ENDIF gibi yapılar kullanılı- yor. Bu döngü komutlarının yardı- mıyla, GOTO komutunda ortaya çı- kabilen açık olmayan atlamalar en- gellenebiliyor. Belki buna inanmaya- caksınız, ama GOTO'yu tümüyle unutabilirsiniz bu dilde. Ama bu “yapı katili” olmadan iş becereme- yenler, COMAL içinde de GOTO'yu kullanabilirler. Commodore 64 için farklı iki COMAL versiyonu var: Versiyonlardan biri olan 0.14, Pub- lic Domain disket olarak alınabiliyor. Diğer versiyon ise PC'lerdeki öncel- lerinden daha verimli olduğu iddia edilen bir kartuş. COMAL geliştirilirken PASCAL'- ın örnek alınmış olduğu olgusu, yal- nızca yapı komutlarından kaynaklan- mıyor. Programcının işini son dere- ce kolaylaştıran bir olanak, prosedür- leri programının içine eklemleyebil- mesi, Burada açıklayıcı bir söze ge- rek var. C-64 BASIC, prosedür tanı- maz. bu dilde prensip olarak yalnız- ca altprogramlar sözkonusudur. CO- MAL'da bu altprogramlar BASIC'- te olduğu gibi GOSUB ile çağrılmaz- lar, her birinin kendine özgü adları vardır. Böylece satır numaralarını içeren atlamalara gerek kalmaz. Pro- sedür, kendi adıyla çağrılır. PROC ile ENDPROC arasındaki tüm komut- lar yerine getirilir. Bu sayede prog- 63