Hlavní navigace

Názor ke zprávičce Kolem 70 % vážných bezpečnostních chyb v Chromiu jsou chyby používání paměti od Filip Jirsák - Jak moc je ten koncept vlastnictví „přirozený“? Vždycky,...

  • Aktualita je stará, nové názory již nelze přidávat.
  • 27. 5. 2020 13:20

    Filip Jirsák

    Jak moc je ten koncept vlastnictví „přirozený“? Vždycky, když o tom čtu, je to velmi logické – a zároveň vím, že kdybych to měl začít používat, budu nad tím muset strašně uvažovat, není to něco, co bych udělal intuitivně a většinou správně. Je možné, že je to jen nezvyk – ale trochu se bojím, že ne, že to prostě v něčem nesedí do světa, jak ho jako lidé normálně vnímáme. Ale chybí mi ta zkušenost, takže by mne zajímal názor někoho,kdo tu zkušenost má.

    Zkusím to připodobnit ještě k něčemu jinému. Třeba relační databáze jsou podle mne tak úspěšné proto, že používají model, který je lidem nějak blízký, je pro ně přirozený – model relačních databází existoval už dávno před počítači v podobě kartotéčních lístků nebo podvojného účetnictví. Podobně je to třeba s některými částmi objektového paradigmatu – a některé části, které nemají pořádný předobraz v reálném světě (třeba dědičnost), jsou i v OOP problematické a buď se nepoužívají, nebo se používají divně.

    Ten koncept vlastnictví je z hlediska OOP paradigmatu vlastně správně, uzavírá určitou díru, která je v běžných OOP jazycích a týká se zapouzdření. Normálně by měl objekt sám rozhodovat, co se s ním dá dělat, k tomu vystaví potřebné metody (nebo reaguje na události). To, že ten objekt může vlastnit kdokoli, ale to zapouzdření porušuje – protože pak platí, že o tom, co se s objektem dá dělat,rozhoduje objekt sám, s výjimkou vlastnictví, protože vlastnit ho může kdokoli.

    Rust tuhle díru v designu zalepil – ale odpovídá tenhle model tomu, jak vnímáme reálný svět? Já se bojím, že spíš ne, protože mu neodpovídá ani zapouzdření. Ano, objekt pes obvykle běhá, štěká, kouše a žere, ale pak přijdete s Bóbikem do restaurace a ukáže se, že se psem lze dělat i jiné věci, které Bobík určitě nechtěl. Nebo vám po přivyknutí připadá koncept vlastníka přirozený, rovnou vás napadá, kdo má být vlastník a co zpřístupníte ostatním – a jakmile se vrátíte do jazyka se sdíleným vlastnictvím, připadá vám to najednou jako hrozná anarchie, že objekt může vlastnit každý, kdo chce?