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).
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.