Odpovídáte na názor ke článku Automatická správa paměti deterministicky.
@3 Zkusím reagovat stručně:
1) Pochopitelně, nakonec je stejně na programátorovi, aby nikde paměť neunikala. GC nebo RC jen pomáhají.
2) Náklady na přiřazení jsou u GC a RC zhruba stejné. Navíc, jak jsem psal, ARC (jak to je u WinRT nevím) nakonec nepotřebnou manipulaci s čítačem referencí odstraňuje během optimalizace, a to poměrně chytře (mají velmi dobrý statický analyzátor). Fragmentaci by měl řešit alokátor, v C++ je většinou poněkud sofistikovanější než malloc/free. LLVM má podobný alokátor, jaký popsal Alexandrescu ve své "legendární" knize o moderním C++.
3) Mám špatné zkušenosti s GC na mobilních telefon (Androidy, Blackberry i iOS - ano, i na iOS je, i když skrytý). Na počítačích jej také běžně používám (hlavně Javu na serverech). To ale nic nemění na tom, že na mobil dá GC je trouba.
Osobně se mi zamlouvá přístup Microsoftu poskytnout platformu pro tablety (možná bude Windows 8 i na telefonech) napsanou v C++ a k ní rozhraní pro Javascript. Pár UI widgetů v JS spotřebu paměti nijak neovlivní, ale většina systému jede nativně (a bez GC). Stejně to ostatně má nějaký ten pátek i webOS.
Autor se zabývá vývojem kompilátorů a knihoven pro objektově-orientované programovací jazyky.
Přečteno 37 775×
Přečteno 26 421×
Přečteno 24 934×
Přečteno 21 278×
Přečteno 18 933×