> А еще в JS нет возможности делать низкоуровневые операции.дык и в сях нет. я понимаю, что тебе это покажется кощунством и бредом, но. никакой стандарт сей не говорит, что нельзя сделать песочницу, за которую программе будет запрещено выйти. так же, как в JS можно добавить объекты для работы с железом. нет, не новые конструкции языка, если чо.
кстати, написать ОС на JS вполне возможно. используя существующий JS делаем компилятор из подмножества JS в «родной» код. на этом пишем простейшее ядро: gc, минимальный ввод-вывод, прочее. чтобы только взлетело. портируем туда наш компилятор и спокойно продолжаем писать. по-сути, это ничем не отличается от написания оси на сях или любом другом языке — кроме того, что компиляторы сей в «родной» код уже кем-то написаны.
p.s. это всё не отменяет того факта, что «дизайн» у JS ужасен. при этом есть и много вкусностей, но… реально, JS — это или «используем обрезаное подмножество» (как делают 99% js-кодеров), или радостно и с песнями ходим по граблям, проклиная Брэндана за употребление тяжёлых наркотиков во время создания языка.