Представлен (http://www.surf-the-edge.com/2011/11/15/bicavm-jvm-in-javasc.../) новый проект BicaVM (https://github.com/nurv/BicaVM), в рамках которого создана реализация Java VM (JVM), написанная на JavaScript и способная выполняться в любом современном браузере.
Мотивом создания проекта послужило желание интегрировать в браузер виртуальную машину, в которой мог бы выполняться универсальный байткод. Суть идеи в том, что вместо поддержки какого определённого языка программирования в браузер предлагается добавить абстрактную виртуальную машину, которая позволяла бы организовать выполнение кода на различных языках программирования, не ограниченных одним JavaScript. В качестве достоинств такого подхода называется автоматическая изоляция кода и возможность сохранения среза состояния JVM на сервере, что позволит обеспечить независимую от браузера персистентность. Другим плюсом является обеспечение выполнения Java-программ на платформах, изначально не поддерживающих Java, например, ...URL: http://www.i-programmer.info/news/167-javascript/3360-javasc...
Новость: http://www.opennet.me/opennews/art.shtml?num=32354
ну почему надо лепить нечто на "js, который есть у всех"?
почему нельзя некую легковесную виртуальную машину пропихнуть на уровне стандартов HTML5 или может быть HTML6?давно назрела необходимость того чтобы браузер быстро выполнял байт код какой либо
Потому что это прототип. Но идея хороша - JS так и так уже не читаем со своими минификациями/оптимизациями - так лучше уж вменяемій байткод, в который хотя бы компилировать удобно. А JVM - штука распространённая, языков под неё много - хоть на Эрланге пиши. Если нативно в браузер засунуть - всяко хуже джаваскрипта не будет, если научить память возвращать.
> А JVM - штука распространённая, языков под неё много - хоть на Эрланге пиши.допустим языков *много*... но каковО *качество* реализации этих языков?
....где мне найти НЕ УСТАРЕВШУЮ версию реализации языка Python на JVM?
..да да, я говорю про тот самый ОБЫЧНЫЙ Python который например поддерживает "Class Decorators" (PEP 3129)
..или например поддерживает коллекцию сортированных словарей (collections.OrderedDict ... PEP 372)
Google Dart?
Ждем компилятор ассемблера на html5.
Ассемблер - и есть программа, преобразующая мнемоники в машинный код.
Словосочетание "компилятор ассемблера" так же безграмотно, как, например, "программирование на языке Borland C++ Builder".
Есть программы: ассемблер и линковщик, и есть язык ассемблера (язык программмы, преобразующей исходный код в мнемониках в объектный файл или сразу в исполняемый бинарник).
Употребление термина "ассемблер" в качестве "программы-компилятора программ на ассеблере" в последний раз видел в начале 90-х.Ассемблер - язык программирования. Компилятор преобразует текст на языке ассемблера в бинарный машинный код. Линковщик может быть частью компилятора (fasm) или внешней программой (masm, tasm, wasm, ..).
Ассемблер - это программа-сборщик, компилятор исходного текста. Исходный текст на языке ассемблера
Не компилятор, а транслятор. В ассемблере нечему компилироваться это уже машинный код. Только человеко читаемый.
> Не компилятор, а транслятор."не бегемот а гиппопотам"
>Не компилятор, а трансляторНе яблоко, а фрукт, ага.
> В ассемблере нечему компилироваться это уже машинный код
Да что Вы? :-D
"mov eax,1" -- это `машинный` код, который "нечего компилировать"? И процессор в Ваших кислотных фантазиях прямо так вот и берет это строку на английском языке и выполняет? Вот умора.
А вообще, если быть предельно точным и последовательным, то замечание было сделано верное: ассемблер -- это программа, транслирующая листинги на языке ассемблера в машинный код. Другое дело, что очень часто под ассемблером понимают именно язык ассемблера, что обычно понятно по контексту. Естественно, если человек не свято верит в то, что процессор способен напрямую ассемблерные текстовые листинги переварить:)
Ну что за придирки? Да, он выразился неграмотно, а вы умный. Детский сад, ей-богу.
> Есть программы: ассемблер и линковщикАссемблер и редактор связей. :)
Переводишь - так переводи полностью. Сборщик и редактор связей. Assembly это не русское слово.
> Словосочетание "компилятор ассемблера" так же безграмотно, как, например,
> "программирование на языке Borland C++ Builder".Ну здрасьте, у меня даже диагноз когда-то был в запаснике -- "программист на дельфи пять"... :) (только это к другому случаю -- примерно как "пользователь word 2007")
Кто нибудь удивлен? Только честно
Я всё жду когда в браузере на JavaScript напишут браузер на JavaScript с возможностью выполнения JavaScript.
Ведро Linux в виртуальной машине написанной на JS запустить смогли. Заведи там иксы, а дальше можешь хоть фокс, хоть хромиум запускать.
Давно есть во всяких облачных веб-осях
С iframe каждый может.
У мозилловцев есть такой движок, предназначен для экспериментирования и прототипирования
We need to go deeper...
>Я всё жду когда в браузере на JavaScript напишут браузер на JavaScript с возможностью выполнения JavaScriptНа котором напишут браузер на JavaScript с возможностью выполнения JavaScript, на котором напишут браузер на JavaScript с возможностью выполнения JavaScript, на котором напишут браузер на JavaScript с возможностью выполнения JavaScript, на котором...
так и до рекурсии недалеко...
PyPy уже есть :) И работает быстрее
> PyPy уже есть :) И работает быстрееPyPy это первый виток. Это неполная рекурсия! Реквестирую больше витков! :)
Ещё один день - ещё одна поделка на JS. Мне это напоминает не решение само по себе а workaround исполнения JVM-кода без Java-плагина. Не скажу что задумка бесполезна - если где-то есть enterprise-решение с Java-апплетами, то это реальный способ предоставить доступ к ним пользователям без Java-плагина. Однако костыль как и всё остальное (pdfjs, mad... ну и другие).IMHO
Стоило бы задуматься над интеграцией легковесной VM (например типа фреймворка LLVM) на уровне стандартов HTML. Эта мысль уже звучала. Тогда бы можно было и на С++/Ada/... весь WEB-проект написать (в том числе и клиентскую часть).
> Стоило бы задуматься над интеграцией легковесной VM (например типа фреймворка LLVM) на уровне стандартов HTML. Эта мысль уже звучала. Тогда бы можно было и на С++/Ada/... весь WEB-проект написать (в том числе и клиентскую часть).во, я там выше то же самое написал
лучше бы разработчики этого чуда что в новости - сделали бы нечто как библиотеку с открытым кодом и предложили на включение в HTML5+
Да джава-машина, в общем-то, сравнительно неплоха в этом качестве - и оптимизирована всерьёз, и языков под неё куча. Но если вам LLVM - NaCl в помощь.
> Да джава-машина, в общем-то, сравнительно неплоха в этом качестве - и оптимизирована
> всерьёз, и языков под неё куча. Но если вам LLVM -
> NaCl в помощь.наверно вы имели ввиду не NaCl а PNaCL?? :-) ..но до релиза PNaCL вродебы ещё далеко... щаз он кажется только теоретический :-)
...а вот что есть на практике (связанного с LLVM и Web) -- это "Emscripten"
Во любопытно будет посмотреть как они сертифицироваться у оракакла будут... Пожалуй стоит пополнить запасы попкорна))И да по поводу легковесной VM - идея прекрасная! Я как питонячий разраб только за!
>И да по поводу легковесной VM - идея прекрасная! Я как питонячий разраб только за!Не нужны все ваши vm, пидоны и JScript. В бровзер нужен Perl и открытые сертифицированные компоненты для связи с внешними ресурсами. Сертификация на предмет того что компоненты (связь только через них) не может нанести как прямой так и косвенный вред данным пользователя, не содержит ошибок и бэкдоров. И, конечено же, все это должно быть свободным от корпорации кодом.
(с) Свободно от корпорации.
>>И да по поводу легковесной VM - идея прекрасная! Я как питонячий разраб только за!
> Не нужны все ваши vm, пидоны и JScript. В бровзер нужен Perl
> и открытые сертифицированные компоненты для связи с внешними ресурсами. Сертификация на
> предмет того что компоненты (связь только через них) не может нанести
> как прямой так и косвенный вред данным пользователя, не содержит ошибок
> и бэкдоров. И, конечено же, все это должно быть свободным от
> корпорации кодом.
> (с) Свободно от корпорации.чемже этот ваш Perl принципиально лучше чем Javascript? с такимже успехом я щаз буду говорить что Perl и Javascript не нужен в браузере, а нужен только Python :-D :-D :-D
> чемже этот ваш Perl принципиально лучше чем Javascript?Большим количеством фич. Именно поэтому как раз в браузере ему и не месте. Ни к чему отяжеловешивать и без того не лёгкие браузеры.
> питонячий разраба вот тут я резко передумал. НЕ НАДО. пусть будет JS.
Наконец-то что-то полезное сделали...
Опять не тем занимаются. Конечно это повышает их опыт написания
на js, но бесполезно все это. Когда выпустят Windows под js, вроде линукс
кернел уже запустили.
Идиотизм, есть же Java-плагин. А minecraft взлетит?
> Идиотизм, есть же Java-плагин. А minecraft взлетит?идея плугинов внутри Www-страниц -- давно изжила себя. непойму почему разработчикам браузеров (хотябы Chromium и Firefox) не хватает силы-воли чтобы объедениться и вместе исключить эту технологию %) %)
запускать Java-игрушки внутри браузерного окна -- ничем не лучше, чем еслибы просто открывать эти игрушки в Standalone-виде
...ну или хотябы сделать чтобы при загрузки Www-страницы плугины не показывалисьбы сразу, а всплывал бы вопрос типа:
"внимание! данная страница содержит код активирования сторонних плугинов, этот код может быть опасным для вашего компьютера. разрешить использование этого кода? [Да], [Скрыть это сообщение]"
интересно то что репозиторий исходного кода (https://github.com/nurv/BicaVM) также содержит и бинарные (*.class, *.jar) файлы :-) :-)...проприетарность технологии Java -- так и лезет из всех щелей :-)
А Форт-меньше памяти займет!-)
> А Форт-меньше памяти займет!-)Йода на нем программирует.
>> А Форт-меньше памяти займет!-)
> Йода на нем программирует.Форт меньше памяти займет а.
Вот как надо было написать правильно :ROFL:
С точностью до наоборот:
А займёт памяти меньше Форт!
> А займёт памяти меньше Форт!Форт займет меньше А памяти!
Серебраной пули нет! Но все равно с упорством достойным лучшего применения серебряную пулю уже в который раз пытаются сделать из говна :(JS во все поля уже поднадоел.