İSAYAT , ZN ÇA %ğ ) ' D illeri 'e —— Nedir, Ne Değildir? (2) —a CONMoödore aa ortran, Cobol veya Algol gi- bi “klasik” eski programla- ma dillerinin, ilk bakışta gö- rülebileceğinden çok daha fazla, ortak yanları vardır. Örneğin hepsiyle yalnızca sayısal veriler kulla- nılabilir, bu da ellili yılların hardwa- re olanaksızlıklarının bir yansıması. O zamanlar, hesaplama süresi ve bellek alanı son derece kısıtlıydı ve kimse, bu son derece pahalı alet kapasitesini kar- maşık sayısal hesap işlemlerinin dışın- da kullanmayı düşünmüyordu. Bunun sonucu ise altmışlı ve yetmişli yıllar- da, Fortran gibi yalnızca sayısal teme- le dayalı dillerin her şeye rağmen di- Ber -sayısal olmayan- alanlara da uy- gulanmaya çalışılması oldu. Dil zaten elimizdeydi; işlem kapasitesi artırıldı, ardından neredeyse tüm kelime işlem programları Fortran'da yazılır oldu: Her harf tek tek sayı değeri olarak kodlandı ve bir sayısal veri alanına yerleştirildi. Ama bu arada da çok önemli bir adım atıldı: 1965'te Dartmouth Col- lege'de Basic geliştirildi. Basic, sayı- sal veri türlerinin yanısıra, String'leri yani karakter zincirlerini ve bu amaçla kullanılan bazı operatörleri içeriyor- du. Aslında sayısal verilerin ve metin- lerin işlenmesi olanağı (o zamanlar), düşünülebilen bilgisayar kullanımla- rının tümüne yakınını kapsıyordu. Fa- kat modern dillerin sağladığı avantaj bu alanları da aştı. Örneğin, bu diller istenen sayıda kendine özgü veri türü tanımlanmasını mümkün kılıyordu. Farklı türde birden fazla değişkenin biraraya getirilmesiyle oluşturulan “bağlı değişken''ler vardı; son olarak da zincirleme listeler ya da arama ağaçları gibi karmaşık veri yapıları ko- layca kurulabiliyor. Bu olanakları tam ve tutarlı olarak gerçekleştirebilen ilk dil, geçen sayıda kısaca tanıttığımız Pascal'dı. Şimdi tanıtmaya çalışaca- ğımız diller ise, Pascal'ın takipçileri. Modüler Programlama: Modula Tüm modern programlama dilleri- nin temeli, program gelişmesinin mo- düler hale getirilmesidir. Bununla an- latılmak istenen, sorunları sonsuz bir israfla (her sorun için yeniden yazıl- ması gereken) büyük hacimli prog- ramlarla çözmek yerine, sorunun bö- lümlerini olabildiğince genel bir biçim- de bağımsız parça programlarla, ya- ni modellerle çözmektir. Software'in bu şekilde geliştirilmesinin sağladığı avantaj açıktır: Bir sorunun bir kıs- mı yalnızca bir kez çözülür; aynı kı- 17