Речь идет не столько о HTML интерфейсах, сколько об универсальной клиентской платформе, которая может вырасти на базе ECMA CLI. Те же плагины для браузера, браузерные и оффлайн приложения.
Переводить высокоуровневый строготипизированный код на динамический JS, это как Assembler в BASIC, а потом BASIC JITить на клиенте.
Идея статьи — взять за транспорт не ECMAscript, а ECMA CLI, который может и JS исполнять в том числе.
Т.е. опуститься на один уровень ниже ближе к железу, что даст больше языков и поднимат производительность в -надцать раз.
Я тут развлекался недавно, писал компилятор C# на C# с помощью Coco/R.
Исходников было на 3 мегабайта. В бинарном виде около 500К.
Тем более, что AST классы уже в модели кода есть — нужно только прочитать C# текст и преобразовать в AST.
Т.е. в принципе, можно прямо с браузером самые популярные языки ставить.
Рантайм того же Silverlight — это мегабайт (без системных библиотек). Компилятор IronPython-а думаю будет 500к весить.
Кроме того, можно наиболее популярные языки прямо с браузером поставлять
Это уже сейчас происходит во многих браузерах, когда JIT генерит машинный код из Javascript.
Идея Джо в том, что транспортом кода нужно сделать не JS, с его противоречивым наследием, а уровень байт-кода (CIL). С возможностью трансформации (читай компиляции) любых языков в этот самый байт-код (CIL) в том числе на клиенте.
Если будущее за вебом, в чем никто не сомневается, почему люди должны писать клиентский код на убогом JS, когда есть более удобные и качественные альтернативы?
Нет. Тут идея вместо JS — языка, в браузерах использовать более низкий уровень — CLI.
На базе CLI можно любой язык исполнять, не только JS, но и C#, F#, Delphi, Python, Ruby.
Идея статьи — взять за транспорт не ECMAscript, а ECMA CLI, который может и JS исполнять в том числе.
Т.е. опуститься на один уровень ниже ближе к железу, что даст больше языков и поднимат производительность в -надцать раз.
Исходников было на 3 мегабайта. В бинарном виде около 500К.
Тем более, что AST классы уже в модели кода есть — нужно только прочитать C# текст и преобразовать в AST.
Т.е. в принципе, можно прямо с браузером самые популярные языки ставить.
Кроме того, можно наиболее популярные языки прямо с браузером поставлять
Идея Джо в том, что транспортом кода нужно сделать не JS, с его противоречивым наследием, а уровень байт-кода (CIL). С возможностью трансформации (читай компиляции) любых языков в этот самый байт-код (CIL) в том числе на клиенте.
(Хайландер)
:)
Модель безопасности обкатана на Silverlight/Moonlight.
Соответственно, с этим как раз таки проблем нет.
На базе CLI можно любой язык исполнять, не только JS, но и C#, F#, Delphi, Python, Ruby.
Стало быть, остальные — пролетают…