Hlavní navigace

Radost z programování

František Fuka

Občas programuji. Kdysi jsem programoval hodně. "Kdysi" znamená "v době, kdy jste museli vědět, kolik registrů má procesor vašeho počítače". Bavilo mě to. Pak jsem neprogamoval skoro vůbec a teprve v relativně nedávných letech jsem se k tomu vrátil. A nestačil jsem se divit, jak se svět změnil.

Většina programátorů dnes neprogramuje, ale kombinuje komponenty. Nepotřebují znát o mnoho více příkazů než „include“ a „case“. Viděl jsem program, který vyžadoval instalaci databáze MySQL, i když všechna svá data mohl snadno uchovávat v jednom textovém souboru. Viděl jsem aplikaci, jejíž textové okno „About“ (název programu, copyright a adresa autora) bylo uloženo jako nekomprimovaná bitmapa. A viděl jsem, že všichni programují v C++ a Visual Basicu, ti odvážnější v PHP a ti nejextrémnější to dotáhli až k Pythonu. (Pak jsou ještě nadlidé, stojící zcela mimo, kterým nedělá problémy Bash a Perl, ale ty sem dnes nebudeme tahat).

Je to do značné míry pochopitelné. Pokud milión lidí používá jazyk X a tisíc lidí jazyk Y, který je desetktrát lepší, většině lidí se vyplatí zůstat u jazyka X, pro který existuje tisíckrát více aplikací a knihoven. Já jsem ale jaksi „prospal“ období rozvoje C++ a teď odmítám akceptovat, že bych se měl v roce 2005 při high-level programování zabývat alokováním paměti nebo přemýšlením nad tím, zda chci používat čísla větší než 32767. A díky tomu, že jsem si nainstaloval Linux, je pro mě teď snazší zkoušet různé méně obvyklé jazyky a vývojové systémy a hledat nějaký, ve kterém by mě opět bavilo programovat.

Pravděpodobně se najdou projekty, pro jejichž implementaci je Visual Basic nebo C++ opravdu ideální. Zcela určitě se i dnes najdou projekty, pro jejichž implementaci je ideální Smalltalk nebo Forth – oba jsou hodně přes 20 let staré, ale i dnes čerstvé svou originalitou. Představují dva extrémní přístupy: Smalltalk je absolutně objektově orientovaný (bohužel, termín „objektově orientovaný“ je dnes naprosto zprofanovaný a kvůli C++ ztratil svůj původní smysl) a Forth je tak low-level, jak jen je to možné, aby se tomu ještě dalo říkat „programovací jazyk“ a ne „assembler“ – a tudíž superrychlý a superkompaktní. U obou je do značné míry zbytečná dokumentace, protože jsou napsány samy v sobě a je možné si interaktivně prohlížet, jak je v nich co definováno (a měnit to).

CIF17_Williams1

Tohle je glosa. Neočekávám tudíž, že čtenáři odhodí své C překladače a vrhnout se na Smalltalk a Forth a ani je k tomu nechci přemlouvat. Ale třeba mi aspoň někdo v diskusi pod článkem vysvětlí, proč je úplně nejlepší například Rebol. Nebo mě upozorní na nějaký jiný nový systém, se kterým bych si mohl hrát.

Teď zrovna si hraju s Eiffelem.

Našli jste v článku chybu?