Samostatnou kapitolou všeobecně "bejziků" je ta obrovská množina zbytečných klíčových slov, to je ta choroba, se kterou se dodnes potýkáme i v bash apod.: než aby byly závorkami vymezené bloky kódu a obecná pravidla platná pro každý blok, tak máme if-fi, while-wend, proc-endproc, do-loop, for-next apod. Ještěže není while-elihw a proc-corp :)
Navíc ta touha vnutit jakési strukturované programování narážela na nedostatky v kontrole těchto bloků. Někdy úplně chyběly příkazy na předčasné opuštění smyčky, v jiném dialektu fungovaly jen v některých smyčkách (typicky nešlo opustit for-cyklus), a tím např. zpracování chyb znamenalo typicky jít proti myšlence úhledného strukturovaného kódu...
Navíc kdybyste chtěli chyby zpracovávat nějak detailněji a napsat si na to proceduru, tak úplně pohoříte, protože do procedury nedáte samotné break, continue, next apod. Můj soukromý názor je, že záchranou byl až vynález výjimek...
no na atárku nebyly složené závorky, to je potom těžký i v C atd.
ale asi jo, to "strukturované programování" sice asi bylo myšleno dobře, ale ve všech BASICech naráželo na různé limity. Takže kombinace strukturovaného programování a GOTO.
OT: neřešil výjimky TRAP v BASICu? Popravdě to je už tak dávno, že jen vím, že existuje. Asi to byl "univerzální" catch na všechny chyby ne? (fakt už si nepamatuju)
Přesně tak, v původním Atari BASIC ano - tam byl TRAP, kterým se dalo toto trochu simulovat. Ale to právě nesedí do tehdejších představ o "správném strukturovaném programu" - např. potřeboval zadat číslo řádku (v neočíslovaném zdrojáku asi nadefinovaný label) - a to je přeci příliš podobné goto, ze kterého pojídači koláčů mají osypky :)