Недостаточно того, что JavaScript не является многопоточным, очевидно, что JavaScript даже не имеет собственного, а разделяет поток с загрузкой другого материала. Даже в большинстве современных браузеров JavaScript обычно находится в той же очереди, что и рисование, обновление стилей и обработка действий пользователя.
Почему это?
По моему опыту можно было получить чрезвычайно улучшенный пользовательский интерфейс, если бы JavaScript работал в своем собственном потоке, отдельно JS не блокировал визуализацию пользовательского интерфейса или освобождение сложного или ограниченного шаблона оптимизации очереди сообщений (да, также вы, веб-работники!), который разработчик должен написать себя, чтобы поддерживать пользовательский интерфейс во всем, когда он действительно подходит к нему.
Я заинтересован в понимании мотивации, которая управляет таким, казалось бы, неудачным дизайнерским решением, есть ли убедительная причина с точки зрения архитектуры программного обеспечения?