Co je čitelnější?
Na VŠ jsme nedávno v hodinách topologie probírali vnitřek množiny, vnějšek množiny a podobné věci. Snažil jsem se udělat si v tom v hlavě pořádek, protože definice vnitřku je:
"Vnitřek množiny X je sjednocení všech otevřených podmnožin množiny X."
Hodně mi to připomíná LISPovou syntaxi:
(defn vnitrek [x] (sjednoceni (filter otevrena? (podmnoziny x))))
Člověk to musí číst odprostřed (od "konce") - je to prefixová notace. Chápu, proč ji používají matematici ve svých slovních definicích - chtějí, aby to bylo čím jak nejkratší, aby tam nebylo nic zbytečného, atd. - ale mně by k pochopení víc pomohlo, kdyby to rozvedli třeba takhle:
"Vnitřek množiny X získáš tak, že ji vezmeš, najdeš všechny její podmnožiny, z nich vybereš všechny, co jsou otevřené, a uděláš nad nimi sjednocení."
Neboli:
(defn vnitrek [x] (->> x podmnoziny (filter otevrena?) sjednoceni))
Když to vidím rozepsané takhle, dovedu si lépe představit, co se s tím, co mám zrovna v ruce děje, jak se to mění. V bakalářce by to asi neobstálo, ale pro čtenáře to je přístupnější :)
Nutno dodat, že u programování je čitelnost a pochopitelnost programu podstatně důležitější. Možná proto se mi to ->> makro tak líbí? :)