Czym jest CLEO i dlaczego warto go poznać
CLEO (Clear Language for Expressing Orders) to język programowania stworzony w latach 60. dla brytyjskich komputerów Leo. Jeśli nigdy o nim nie słyszałeś, nie martw się — nawet w środowisku retro-computingu CLEO jest mało znany. A jednak to fascynujący przykład tego, jak wczesne firmy próbowały tworzyć języki “przyjazne” dla użytkowników biznesowych, zanim COBOL zdominował tę niszę.
CLEO był projektowany z myślą o ludziach, którzy nie byli programistami — o księgowych, menedżerach i analitykach biznesowych, którzy potrzebowali automatyzować obliczenia i raporty. To czyni go jednym z wczesnych prekursorów “języków czwartej generacji” (4GL), choć formalnie do tej kategorii nie należy.
Dlaczego warto go poznać? Bo CLEO to kapsuła czasu — pokazuje, jak myśiano o programowaniu biznesowym przed erą COBOL-a, zanim “user-friendly” stało się buzzwordem. To też przypomnienie, że historia IT nie jest linią prostą od FORTRAN-a do Pythona — było mnóstwo ślepych zaułków i zapomnianych eksperymentów.
Krótka historia i ewolucja
CLEO powstał w firmie Leo Computers, brytyjskiego producenta komputerów, który zasłynął z LEO I — pierwszego komputera użytego do zastosowań biznesowych (obsługiwał systemy płac i inwentaryzacje dla sieci sklepów i biur). LEO I działał już w 1951 roku, co czyni go jednym z najwcześniejszych komputerów komercyjnych na świecie.
Język CLEO został zaprojektowany w połowie lat 60. dla komputerów Leo III i LEO 326. Jego twórcy chcieli stworzyć coś prostszego niż assembler i FORTRAN, ale bardziej elastycznego niż istniejące narzędzia raportowe. CLEO miał być “jasny” (stąd nazwa — Clear Language) i dostępny dla ludzi bez głębokiej wiedzy technicznej.
Niestety, Leo Computers zostało przejęte przez English Electric, a później wchłonięte przez ICL (International Computers Limited). Wraz z konsolidacją firmy, CLEO został zastąpiony przez standardowe rozwiązania ICL i COBOL. Język nigdy nie wyszedł poza ekosystem maszyn Leo i dziś jest praktycznie zapomniany.
Kluczowe cechy i filozofia
CLEO był językiem proceduralnym z silnym naciskiem na operacje na danych biznesowych. Jego składnia była projektowana tak, żeby być czytelna dla ludzi z domeny biznesowej — stąd nazwa “Clear Language for Expressing Orders”. Instrukcje miały przypominać angielskie zdania, choć nie tak dosłownie jak w COBOL-u.
Typowanie w CLEO było proste i pragmatyczne — głównie liczby (stałoprzecinkowe i zmiennoprzecinkowe) oraz łańcuchy znaków, bo to wystarczało do typowych zastosowań biznesowych: obliczeń finansowych, generowania raportów, przetwarzania transakcji. Język wspierał operacje na plikach i rekordach, co było kluczowe dla aplikacji przetwarzających dane.
Filozofia CLEO to “zrób to prosto i zrozumiale”. Nie było tu abstrakcji akademickich, nie było formalnej semantyki — był pragmatyzm. Język miał rozwiązywać konkretne problemy biznesowe na konkretnym sprzęcie, i robił to wystarczająco dobrze, dopóki nie pojawiły się lepsze alternatywy.
Warto zauważyć, że CLEO istniał w czasach, gdy “język programowania” nie był jeszcze dobrze zdefiniowaną kategorią. Wiele wczesnych “języków” było tak naprawdę zestawem makr lub rozszerzeń assemblera. CLEO był bardziej ambitny niż większość z nich, ale mniej sformalizowany niż ALGOL czy FORTRAN.
Gdzie CLEO sprawdza się najlepiej
CLEO sprawdzał się w jednym konkretnym kontekście: aplikacjach biznesowych na komputerach Leo. Systemy płac, zarządzanie zapasami, fakturowanie, raportowanie finansowe — to było naturalne środowisko CLEO. Firmy, które używały komputerów Leo (głównie brytyjskie przedsiębiorstwa i instytucje rządowe), pisały w CLEO swoje codzienne operacje.
Dziś CLEO nie ma żadnych praktycznych zastosowań. Nie ma emulatorów, nie ma współczesnych kompilatorów, nie ma społeczności. To czysto historyczna ciekawostka — ale jako taka jest wartościowa dla każdego, kto interesuje się historią informatyki biznesowej.
Jak wygląda kod w CLEO
Dokumentacja CLEO jest trudna do znania, a oryginalne przykłady kodu są rozproszone w archiwalnych materiałach Leo Computers. Z tego, co wiadomo o składni, CLEO używało instrukcji przypominających uproszczony angielski z elementami notacji matematycznej:
READ FILE PAYROLL INTO RECORD EMP
COMPUTE NET-PAY = GROSS-PAY - TAX - INSURANCE
WRITE RECORD EMP TO OUTPUT FILE PAY-REPORT
To rekonstrukcja oparta na opisach z epoki — oryginalna składnia mogła się różnić w szczegółach. Kluczowa idea jest jednak widoczna: instrukcje miały być czytelne dla ludzi biznesu, nie tylko dla programistów.
FOR EACH RECORD IN FILE SALES
ADD AMOUNT TO TOTAL
IF MONTH = CURRENT-MONTH
ADD AMOUNT TO MONTHLY-TOTAL
END FOR
Iteracja po rekordach, akumulacja sum — typowe operacje biznesowe wyrażone w sposób, który nawet księgowy mógł zrozumieć. To był cel CLEO: zdemokratyzować programowanie, zanim to słowo istniało.
Ekosystem i narzędzia
Ekosystem CLEO ograniczał się do komputerów Leo. Nie było “bibliotek” w dzisiejszym sensie — każda instalacja pisała swoje procedury od zera. Dokumentacja była dostarczana przez Leo Computers w formie drukowanych podręczników, z których większość jest dziś niedostępna.
Współczesne narzędzia do pracy z CLEO? Nie istnieją. Nie ma emulatorów Leo III, nie ma kompilatorów CLEO, nie ma nawet porządnych skanerów do archiwalnych wydruków. Jeśli chcesz eksperymentować z CLEO, musisz polegać na archiwalnych materiałach i rekonstruować składnię z opisów.
Jedynym “ekosystemem” dla CLEO są dziś archiwa ICL i muzea komputerów w Wielkiej Brytanii, gdzie można znaleźć oryginalne wydruki i dokumentację. The National Museum of Computing w Bletchley Park posiada eksponaty związane z Leo Computers, choć skupiają się one bardziej na sprzęcie niż na oprogramowaniu.
Mocne i słabe strony
Mocne strony CLEO to jego prostota i czytelność. Dla docelowych użytkowników — ludzi biznesu bez głębokiej wiedzy technicznej — CLEO był znacznie bardziej przystępny niż assembler czy FORTRAN. Składnia inspirowana angielskim obniżała próg wejścia, a orientacja na operacje biznesowe (pliki, rekordy, raporty) oznaczała, że kod odzwierciedlał domenę.
Słabe strony to praktycznie wszystko inne. CLEO był ograniczony do jednego ekosystemu sprzętowego, nie miał formalnej specyfikacji, nie oferował zaawansowanych konstrukcji programistycznych (rekurencja, struktury danych, modularność). Gdy COBOL pojawił się jako standard branżowy, CLEO nie miał żadnych szans — był zbyt niszowy, zbyt prosty i zbyt zależny od umierającej platformy.
Podsumowanie
CLEO to język-duch — istnieje w historii, ale nie w teraźniejszości. Powinieneś o nim wiedzieć, jeśli interesuje cię historia informatyki biznesowej i ewolucja języków “dla nie-programistów”. CLEO to przystanek na drodze od assemblera do COBOL-a, SQL-a i współczesnych narzędzi low-code — droga, która wciąż się nie skończyła.
Przyszłość CLEO? Nie ma jej, i nigdy nie było. Ale lekcja, którą CLEO reprezentuje — że języki programowania powinny być dostępne dla ludzi z domeny, nie tylko dla specjalistów — jest bardziej aktualna niż kiedykolwiek. Każdy, kto dziś buduje narzędzia no-code lub low-code, nieświadomie kontynuuje misję, którą CLEO zaczął ponad 60 lat temu.

