Tak jsem si konečně vzpoměl na ten pekelný jazyk, o kterém jsem se zmiňoval u minulé epizody: je to MAGENTA (https://esolangs.org/wiki/Magenta) - pozor, neplést si s projektem Magento.
Proti takovému Whitespace je Magenta opačný extrém. Jeho hlavní cíl je být navržený komisí a podporovat všechny myslitelné "kritické" featury. Prostě Enterprise jazyk par excellence.
Bohužel pro něj není implementace a tak Magenta existuje jenom ve formě specifikace. Kdo má zájem psát echt-Enterprise kód má smůlu. Nicméně i ta specifikace stojí za to. Magenta má přes 80 klíčových slov, desítky operátorů, nesmírně složitou (a výřečnou) syntax, redundantní podporu vyjímek, obzvlášť "rafinovaný" objektový model vzájemně prokombinovaný s nepoužitelnou podporou multithreadingu, mimořádně sofistikované GOTO, ale samozřejmě taky COMEFROM a i pověstné ALTER z Cobolu.
COBOL bude urcite. Fortran je skutecne fajn (kdyz pomineme ty snahy o OOP atd. :) ale stary dobry F77 nebo F90 je skutecne svym zpusobem elegantni), ale mel to ten jazyk tezky - viz Fortran Saga (http://www.fortranplus.co.uk/resources/brian_meeks_fortran_saga.pdf), je to zajimave cteni.
Ale i Fortran má (měl) krásné mouchy. Jednou z nich je, že ve Fortranu se nedeklaruje u parametrů procedur, jestli jsou vstupní nebo výstupní a kompilátor ani nemá žádnou možnost, jak to kontrolovat. Takže je možné zavolat proceduru, která používá parametr jako výstupní, a předat jí konstantu. A pokud jste takto proceduře, která vracela 2, předali jako parametr konstantu 1, tak od té doby všechny konstanty 1 v programu měly ve skutečnosti hodnotu 2. Asi si dovedete představit, jak dobře se podobné chyby hledaly.