Tyhle diskuse mne docela baví...
Jak už jsem psal někde v počátcích, problém je v definicích a zjednodušování, proto jsem přihodil definici toho, co myslím asynchronností já. A pak tu člověk čte javascript, ale myslí se jen browser, napíše se že veškerý JS běží v jednom vláknu, ale nedodá se že knihovny a IO operace už v tom samém vláknu neběží, a to nemluvím o webworkerech, atd. atd. Když napíšu že na konkurenčním modelu nezáleží, protože je to implementační detail, tak se operuje paralelním během. A nejkomičtější jsou argumenty s pětimintovým čekáním, když v naprosté většině reálných testů a nasazení ten "strašně pomalý" javascript, kde se tak dlouho čeká na odpověď poráží v rychlosti své konkurenty (jako třeba Java) a hlavně má mnohem kratší reakční dobu na požadavek. Právě proto byl také nasazen na webové stránky a jeho asynchronnost (mimochodem, naprostá většina UI je asynchronní na bázi event loopu, aby byla rychlejší doba odezvy) byla jedna z primárních vlastností. A kvůli té "pomalosti" jsou pak do dalších jazyků zapracovávány asynchronní metody volání, vznikají asynchronní frameworky atd., jen proto abychom zpomalili běh programů....
Mimochodem, ta jednovláknost javascriptu je jednou z jeho velkých výhod. Za prvé to zjednodušuje programování při přístupu ke sdíleným zdrojům, za druhé to umožňuje jednoduše a téměř lineárně škálovat výkon s relativně malou spotřebou systémových zdrojů.