Ad document.write: Skutečně by mě zajímal takový legitimní příklad použití. Podle mě neexistuje.
Ad innerHTML: Mnohem praktičtější a mocnější je DOM 3 Load and Save. Proč dávat přednost zastaralému a nebezpečnému innerHTML?
Ad getElementsByClassName: Zcela souhlasím s vašimi důvody, proč je tato metoda nekoncepční. Hrubě se však mýlíte ohledně metody getElementById, neboť tato metoda se neváže k žádnému konkrétnímu jménu atributu. Tato metoda se váže k atributu typu ID, jak jej definuje přímo XML. Metoda getElementById tak má smysl i v obecném XML dokumentu, metoda getElementsByClassName nikoliv, což je asi ten nejdůležitější důvod, proč je tato metoda nekoncepční. Mimochodem, pokud se prosadí atribut role, budeme vytvářet další metodu?
Ad window: Webový prohlížeč umí zpracovávat i jiné dokumenty než HTML, např. SVG, proto by objekt window neměl být specifikován jako součást rozšíření HTML.
Ano, hledám čistotu a elegenci, protože si pamatuji, jak se bez rozmyslu přilepovaly nové vlastnosti, když mezi sebou válčily čtyřkové verze IE a NN, a vím, kam to vedlo. Hack na hacku nepřestane být hackem na hacku jenom proto, že se sepíše. Spojení hack na hacku přesně vyjadřuje současnou nekoncepčnost v implementaci některých technologií v prohlížečích. WebApplication nejenže tuto nekoncepčnost kodifikují, ale ještě ji rozšiřují, to je ten problém! Náprava současného stavu spočívá v tom, že se nekoncepčnost odvrhne a implementuje se vše řádně podle doporučení.