ABC, Leo Geurts, Lambert Meertens və Steven Pemberton tərəfindən Hollandiyada hazırlanmış imperativ ümumi təyinatlı proqramlaşdırma dili və proqramlaşdırma mühitidir. O, interaktiv, strukturlaşdırılmış, yüksəksəviyyəlidir və BASIC, Pascal və ya AWK əvəzinə istifadə üçün nəzərdə tutulub. Sistem proqramlaşdırma dili olmaqla yanaşı daha çox tədris və ya prototipləşdirmə məqsədləri üçün nəzərdə tutulub.
ABC | |
---|---|
Paradiqmalar | çox paradiqma: , , |
Yaradılma tarixi | 1987 yanvar |
Müəlliflər | Leo Geurts, , |
Tərtibatçılar | Centrum Wiskunde & Informatica (CWI) |
Sonuncu versiyası | 1.05.02 |
Sistem tipi | güclü, polimorf |
Təsir edib | Python |
Əməliyyat sistemi | [[Unix-like]], Windows, MacOS, and |
ABC dili son illərdə daha çox populyarlaşan Python dilinin dizaynına böyük təsir göstərir. Python-u inkişaf etdirən Guido van Rossum, 1980-ci illərin ortalarında bir neçə il ABC üzərində işləmişdir.
Xüsusiyyətləri
ABC proqramlarının dizaynerləri iddia edirlər ki, ekvivalent olan Paskal və ya C proqramlarının dörddə bir ölçüsündədir və daha oxunaqlıdır. Əsas xüsusiyyətləri aşağıdakılardır:
- Yalnız beş əsas məlumat növü.
- Dəyişən bəyannamələr tələb etmir.
- Yuxarıdan aşağıya proqramlaşdırma üçün əlverişlidir.
- İfadə yerləşdirilməsi abzasla göstərilir.
- Son dərəcə dəqiqliklə hesab, sonsuz ölçülü siyahılar və sətirlər, ortoqonallıq və yeni başlayanlar tərəfindən istifadənin asanlığını dəstəkləyən digər xüsusiyyətlər.
ABC mahiyyətcə monolit tətbiqdir. Bu, onun qrafik istifadəçi interfeysi kimi yeni tələblərə uyğunlaşmamasına gətirib çıxardı. ABC birbaşa kompüterin fayl sisteminə və əməliyyat sisteminə daxil ola bilməz.
Tam ABC sistemi sintaksisə redaktə, təkliflər, davamlı dəyişənlər və çoxlu iş sahələri olan proqramlaşdırma mühiti yaradır. Hazırda 1.05.02 versiyasında olan və Unix, DOS, Atari və Apple Macintosh-da tərcüməçi/tərtibçi kimi istifadə olunur.
Nümunə
Sənəddəki bütün words
(sözlər) toplamaq üçün funksiyanın nümunəsi budur:
HOW TO RETURN words document:
PUT {} IN collection
FOR line IN document:
FOR word IN split line:
IF word not.in collection:
INSERT word IN collection
RETURN collection