571
Vývoj / Re:Dědičnost dnes
« kdy: 02. 02. 2017, 14:26:45 »Pokud chceme slovíčkařit, tak FP neumožňuje přístup do paměti vůbec, protože žádnou nemá, když jsou vše jen funkce. Gll absolutně neví, o čem mluví, zápis funkcí v FP nevypovídá zhola nic o jejich výpočetní složitosti (ani o tom, jestli jsou vůbec vyhodnotitelné), protože si plete pojmy algoritmus a (matematická) funkce. Doporučuju nereagovat na něj, dokud se nedoučí alespoň elementární definice (aspoň - jak píšete - formální popis a výpočetní model). Dokud to nezvládne, bude pořád diskutovat na úrovni aspiranta zvláštní školy...Tedy realna RAM neni O(1), ale spis O(log n), a takovou RAM lze realizovat i funkcionalne (pomoci stromu).
Tak to určitě neplatí. Čas přístupu do paměti neroste logaritmicky s velikostí vstupu programu. O(1) je jen horní odhad rychlosti operace. Stačí uvažovat nejpomalejší možný přístup. Pořád to bude reálnému hardwaru mnohem blíž než Turingův stroj.
Jenom pro ujasneni, n je mnozstvi pameti, ktere mas k dispozici (protoze RAM je konecna), a pod RAM myslim vsude Random Access Memory.
Jde mi o to, ze bud chces teoreticky dokazat, ze FP je vypocetne horsi - pak ano, mas pravdu, neumoznuje O(1) pristup do pameti. Jenze v praxi O(1) pristup neumoznuje nic, zadne zarizeni (jinak receno, kazde fyzikalni zarizeni bude pomalejsi pokud bude dostatecne velke).
Nebo se chces bavit o praktickych aspektech implementace FP, a pak nemusime nutne trvat na tom, aby vysledny program (strojovy kod) byl funkcionalne cisty, protoze FP pouzivame jen jako abstrakci pro popis, nikoli jako vypocetni model.
Takze at se snazis dokazat cokoli z toho, pro praxi to neni rozhodujici.


