[quote author=Inkvizitor link=topic=1978.msg15265#msg15265 date=1301510500
Tohle bych prosil vysvětlit. "Víc než o konstantu" podle mě zkracují kód i poměrně standardní funkce vyšších řádů (jejichž obdobu podporuje koneckonců i C) nebo hloupé GOSUB. Co znamená zkrácení o konstantu a kdy jde o asymptoticky lepší optimalizaci?
[/quote]
Teoreticky ano, ale kdo to pak bude cist?
Hezky priklad je treba zamykani. Zamky se blbe vkladaji do funkci nejake knihovny, protoze je obcas potrebujete zamknout driv, nez tam vpadnete. Samozrejme, muzete si kvuli tomu bloku mezi zamkem definovat funkci, na kterou se pak zavola funkce toho zamku, ale proc tak slozite. Neni lepsi to fakt resit tim makrem?
Ja bych chapal makra proste jako funkce, ktere nemusi nutne vyhodnotit sve argumenty. V pure funkcionalnich jazycich je to pak oboji totez. Zastancem funkcionalniho purismu nejsem, pripada mi to prehnane; uz proto, ze zkratka realne pocitace jsou velmi velmi stavove. Dale je tu otazka moznosti automatickych vs. moznosti lidskych optimalizaci. Schopni lide dokazi, na urovni vyssi nez assembler, vice.