URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 78852
[ Назад ]

Исходное сообщение
"Увидел свет Emscripten 1.4, компилятор байткода LLVM в JavaS..."

Отправлено opennews , 12-Июл-11 00:24 
Доступен (http://syntensity.blogspot.com/2011/07/emscripten-14.html) релиз проекта Emscripten 1.4 (http://emscripten.org/), в рамках которого развивается компилятор, способный преобразовать байткод LLVM (http://llvm.org/) в представление на языке JavaScript. Байткод LLVM может быть сгенерирован из исходных текстов на Cи/Си++ при помощи (https://github.com/kripken/emscripten/wiki/Getting-started) компиляторов lvm-gcc и clang, а также из кода на любом другом языке программирования для которого имеется LLVM-фронтэнд. После компиляции на выходе получается скрипт на языке JavaScript, который может быть выполнен внутри web-браузера, используя только штатный JavaScript-движок, без необходимости задействования дополнительных плагинов.

Компилятор написан на языке JavaScript, а тестовый фреймворк и управляющая утилита - на языке Python. Код открыт под лицензией MIT. Основной целью разработки является создание инструмента, который бы позволил выполнять код в Web независимо от языка программ...

URL: http://syntensity.blogspot.com/2011/07/emscripten-14.html
Новость: https://www.opennet.ru/opennews/art.shtml?num=31155


Содержание

Сообщения в этом обсуждении
"Увидел свет Emscripten 1.4, компилятор байткода LLVM в JavaS..."
Отправлено Аноним , 12-Июл-11 00:24 
Ну зачем, зачем это нужно? Я не понимаю что за агония у всех перенести приложения в барузер. Браузер - это не фреймворк, это программа для просмотра гипертекстовых сообщений.

"Увидел свет Emscripten 1.4, компилятор байткода LLVM в JavaS..."
Отправлено bircoph , 12-Июл-11 00:36 
К сожалению, теперь это фреймворк, а скоро будет ОС.

"Увидел свет Emscripten 1.4, компилятор байткода LLVM в JavaS..."
Отправлено all_glory_to_the_hypnotoad , 12-Июл-11 00:39 
поиграются и бросят

"Увидел свет Emscripten 1.4, компилятор байткода LLVM в JavaS..."
Отправлено term , 12-Июл-11 11:03 
Мощности современных дескторов вполне достаточно, чтоб не бросили.

"Увидел свет Emscripten 1.4, компилятор байткода LLVM в JavaS..."
Отправлено Vernat , 12-Июл-11 00:50 
Гугл, Майкрософт, прочие гиганты хотят что бы народ торчал в их облаках, соответственно им нужно чтобы весь возможный софт мог запускаться под браузером

"Увидел свет Emscripten 1.4, компилятор байткода LLVM в JavaS..."
Отправлено Аноним , 12-Июл-11 07:58 
Начать паниковать можно будет когда внутри браузера будут запускать программы уровня eclipse, а пока это всё игрушки.

"Увидел свет Emscripten 1.4, компилятор байткода LLVM в JavaS..."
Отправлено Анонимоуз , 12-Июл-11 10:48 
Тогда будет уже поздно паниковать.

"Увидел свет Emscripten 1.4, компилятор байткода LLVM в JavaS..."
Отправлено Аноним , 12-Июл-11 12:42 
> Начать паниковать можно будет когда внутри браузера будут запускать программы уровня eclipse,
> а пока это всё игрушки.

http://cloud9ide.com/
Причем в отлмчии от Эклипса не тормозит.


"Увидел свет Emscripten 1.4, компилятор байткода LLVM в JavaS..."
Отправлено Aleks Revo , 04-Янв-12 20:03 
> Начать паниковать можно будет когда внутри браузера будут запускать программы уровня eclipse,
> а пока это всё игрушки.

RCP вполне себе в браузере работает - RAP в помощь. Eclipse же там пока ещё никому не понадобился, вот и нет его там ))


"Увидел свет Emscripten 1.4, компилятор байткода LLVM в JavaS..."
Отправлено Аноним , 12-Июл-11 11:05 
> Ну зачем, зачем это нужно?

Чтобы убить флеш окончательно, например, там где он еще жив и даже более :)

> для просмотра гипертекстовых сообщений.

С тех пор как в них сделали JS, они несколько более чем просто программа для просмотра. JS - полный по Тьюрингу язык. А тут вы видите результаты ;)

Из практических применений: например, можно грузить картинку/документ в формате не понимаемом браузером/ОС юзера изначально, не доустанавливая сомнительные бинарные плагины, на которые юзеры очень нервно реагируют из-за возможности что это будет вирус. А JS довольно сильно обкушен в взаимодействии с внешним миром - его не так сцыкотно запускать.

Например: не все браузеры понимают jpeg2k, а ставить плагин... хм... ну понятно, да? А что если вам хочется показать юзеру картинку в этом формате?


"Увидел свет Emscripten 1.4, компилятор байткода LLVM в JavaS..."
Отправлено all_glory_to_the_hypnotoad , 12-Июл-11 12:30 
> С тех пор как в них сделали JS, они несколько более чем просто программа для просмотра. JS - полный по Тьюрингу язык. А тут вы видите результаты ;)

мы видим результаты что всё работает через задницу. т.е. скомпилить/переписать/написать с нуля что-то вышло, в общем видимость деятельности наблюдаетсая. Но в мелочах везде мрак. И это не потому, что разработчики таких поделий где-то сильно накосячили, просто у браузера нет достаточного API для реализации нужного функционала. Тут говорят о платформонезависимости, но и это фикция. Зависимость таких приложений от браузера ещё большая чем просто приложения от разных платформ. И самое поганое, что браузеродеятелям никакие стандарты не писаны. И именно по этим причинам никогда ничего нормального из таких изделий не получится.


"Увидел свет Emscripten 1.4, компилятор байткода LLVM в JavaS..."
Отправлено Аноним , 12-Июл-11 12:46 
> мы видим результаты что всё работает через задницу. т.е. скомпилить/переписать/написать
> с нуля что-то вышло, в общем видимость деятельности наблюдаетсая. Но в
> мелочах везде мрак. И это не потому, что разработчики таких поделий
> где-то сильно накосячили, просто у браузера нет достаточного API для реализации
> нужного функционала. Тут говорят о платформонезависимости, но и это фикция. Зависимость
> таких приложений от браузера ещё большая чем просто приложения от разных
> платформ. И самое поганое, что браузеродеятелям никакие стандарты не писаны. И
> именно по этим причинам никогда ничего нормального из таких изделий не
> получится.

Gmail-ом пользуется больше людей чем десктопным линуксом. Так что из этого поделие?


"Увидел свет Emscripten 1.4, компилятор байткода LLVM в JavaS..."
Отправлено Crazy Alex , 12-Июл-11 13:47 
Это результат:
1) больших ресурсов, вбитых в разработку GMail (удобно реализованные теги, поиск, хорошая фильтрация спама)
2) доступности приложения из любой точки.

Всё это реализуется на базе стандартной пары IMAP-сервер/локальный клиент со свистом (по второму пункту - совершенно не проблема скачать подписанный Гулом бинарь и  запустить локально). Гугл пошел другим путём, но это вопрос коммерции. Технически нативный клиент удобнее, шустрее и эргономичнее. Кстати, на плохом канале с GMail хочется повеситься - особенно потому что толком кэшировать уже скачанные сообщения он не желает почему-то.


"Увидел свет Emscripten 1.4, компилятор байткода LLVM в JavaS..."
Отправлено all_glory_to_the_hypnotoad , 12-Июл-11 00:36 
поваренная соль (NaCl, нейтив клиент от гугла) это всем не похожий проект, а действительно тру вей решения задач из топика.

"Увидел свет Emscripten 1.4, компилятор байткода LLVM в JavaS..."
Отправлено filosofem , 12-Июл-11 07:12 
Не портабилен и не нужен. Даже теоретически.

"Увидел свет Emscripten 1.4, компилятор байткода LLVM в JavaS..."
Отправлено all_glory_to_the_hypnotoad , 12-Июл-11 09:04 
Что не нужен, я согласен. И не потому что не портабелен. в этом проблемы нет, а не нужен просто как класс таких технологий.

"Увидел свет Emscripten 1.4, компилятор байткода LLVM в JavaS..."
Отправлено Аноним , 12-Июл-11 09:07 
Уже почти портабелен. Запланирован переход на LLVM-байткод, поэтому одно и тоже приложение для Native Client будет и на ARM и на x86 работать. Единственный минус, для браузеров кроме Chrome требует установки плагина.

"Увидел свет Emscripten 1.4, компилятор байткода LLVM в JavaS..."
Отправлено Аноним , 12-Июл-11 11:09 
> Единственный минус, для браузеров кроме Chrome требует установки плагина.

Это не минус, это gravest fatal bug. Яваскрипту - не требуется, поэтому так явно перспективнее. Рассказывать 85% юзеров "поставьте пожалуйста наш плагин" - редкостный вид садомазо.


"Увидел свет Emscripten 1.4, компилятор байткода LLVM в JavaS..."
Отправлено Crazy Alex , 12-Июл-11 12:38 
Если это будет рассказывать Гугл, да предложив хоть какую-нибудь плюшку - поставит масса народу. Или если рассказывать не будет, а просто окажется, что в NaCl (т.е. в Хроме) лучше работает какой-нибудь видеочат, но при желании это лечится установкой NaCl где угодно. А там уже по цепочке - подтянутся другие, кто захочет пользоваться (вначале - просто как оптимизирующей опцией), и понеслось. А Яваскрипт имеет ровно одно преимущество - как раз встроенность. Язык сам по себе ужасен - нюансов в нём чуть ли не как в плюсах, писать крайне неудобно и чревато ошибками.

"Увидел свет Emscripten 1.4, компилятор байткода LLVM в JavaS..."
Отправлено filosofem , 12-Июл-11 11:26 
Это уже не натив, а очередное Джава. Вам нужна еще одна Джава в браузере?

"Увидел свет Emscripten 1.4, компилятор байткода LLVM в JavaS..."
Отправлено Crazy Alex , 12-Июл-11 12:31 
Это именно натив код - не jit и не интепретатор. То есть в него с гарантией компилируется (и с нормальным быстродействием работает) любой интерпретатор, к примеру (только слегка модифицированный в плане обращения к системным функциям, которые naCl не предоставляет - но это скорее модификации системных библиотек). Компилируются (и с нормальной скоростью работают) нативные библиотеки - к примеру, шифрование или парсер эффективных бинарных форматов сериализации - что для игр, к примеру, часто важно. И самое главное - его возможности явно ограничены его viewport, он не может как JS лезть куда попало на странице, а выборочный доступ можно дать.

"Увидел свет Emscripten 1.4, компилятор байткода LLVM в JavaS..."
Отправлено filosofem , 12-Июл-11 14:16 
Написано было про PNaCl. Голый NaCl непортабилен.

"Увидел свет Emscripten 1.4, компилятор байткода LLVM в JavaS..."
Отправлено Crazy Alex , 14-Июл-11 16:16 
Да плевать, там сборка аж под три архитектуры (x86, amd64 и arm). От операционки оно не зависит. Так что можно и три бинарника генерить, благо тулчайн это всё из коробки умеет.

"Увидел свет Emscripten 1.4, компилятор байткода LLVM в JavaS..."
Отправлено progserega , 12-Июл-11 02:21 
Моё мнение - это попытка реализации распределённой, единой среды выполнения кода вне зависимости от ОС и оборудования, т.е. в браузере. Довеском через это протаскивают идею мэйнфреймов за деньги.

По факту - это тройная надстройка - Оборудование->ОС->Браузер->JavaScript. Тройная надстройка в попытке привести разрозненную среду к единообразию, путём переписывания огромного количества кода, который со временем будет отброшен, как ненужный и бессмысленный (тормозящий DOOM на P4, для которого достаточно и i386).

Это эволюционное движение, о котором говорил Линус, если я не ошибаюсь. Эволюционное движение к распределённой и единообразной ОС, как среде выполнения программ вне зависимости от географического положения.

Совершенствование на этом - есть уменьшение сущностей и стремление к непротиворечивости и законченности минималистичной и достаточной картине реализации данной задачи.

В определённой степени примером, к чему идёт эта эволюция может быть Plan9 и Inferno.


"Увидел свет Emscripten 1.4, компилятор байткода LLVM в JavaS..."
Отправлено progserega , 12-Июл-11 02:23 
s/Совершенствование на этом/Совершенствование на этом ПУТИ/

"Увидел свет Emscripten 1.4, компилятор байткода LLVM в JavaS..."
Отправлено SkyRanger , 12-Июл-11 02:55 
Кто-нить пробовал это?
Интересно как будет выглядеть Hello world! из C++ :)

"Увидел свет Emscripten 1.4, компилятор байткода LLVM в JavaS..."
Отправлено Аноним , 12-Июл-11 11:12 
> Интересно как будет выглядеть Hello world! из C++ :)

Совершенно обычно - менять сишный сорец не требуется. Куда интереснее, можно ли из SDLной проги задетектить что мы работаем в браузере и скажем дернуть кастомную JS-функцию, например? Т.е. 2-сторонний I/O "то что было C/C++ <-> JS"  :)


"Увидел свет Emscripten 1.4, компилятор байткода LLVM в JavaS..."
Отправлено Аноним , 12-Июл-11 12:24 
чушь. требуется пересборка всех библиотек задействованных в неллоу ворде. Если что-то не соберётся (а такого вообще много), то работать не будет.

"Увидел свет Emscripten 1.4, компилятор байткода LLVM в..."
Отправлено anonymous , 12-Июл-11 13:54 
> чушь. требуется пересборка всех библиотек задействованных в неллоу ворде. Если что-то не
> соберётся (а такого вообще много), то работать не будет.

но сам-то исходник приветмира менять не надо. %-)


"Увидел свет Emscripten 1.4, компилятор байткода LLVM в..."
Отправлено all_glory_to_the_hypnotoad , 12-Июл-11 15:22 
это смотря куда твой исходник будет выводить привет. там же написано, что привеи мир на чистых плюсах через потоки работать небудет.

"Увидел свет Emscripten 1.4, компилятор байткода LLVM в..."
Отправлено Аноним , 12-Июл-11 15:58 
куда куда.. на стандартный ввод!

"Увидел свет Emscripten 1.4, компилятор байткода LLVM в..."
Отправлено Аноним , 12-Июл-11 16:00 
вывод т.е. :))

"Увидел свет Emscripten 1.4, компилятор байткода LLVM в..."
Отправлено all_glory_to_the_hypnotoad , 12-Июл-11 20:19 
чтобы написать в стандартый вывод,  нужно заюзать библиотечную ф-ю.

"Увидел свет Emscripten 1.4, компилятор байткода LLVM в JavaS..."
Отправлено ProfX , 12-Июл-11 09:04 
Чето чувствуется какой-то бум по отношению к JS -  в последнее время его куда ненадо суют, я считаю что скоро этот бум пройдет...
А вот насчет NaCl - это уже действительно реальная вещь.

"Увидел свет Emscripten 1.4, компилятор байткода LLVM в..."
Отправлено anonymous , 12-Июл-11 13:50 
а я давно говорю, что JS — новый бэкэнд для компиляторов.

"Увидел свет Emscripten 1.4, компилятор байткода LLVM в..."
Отправлено filosofem , 12-Июл-11 14:19 
JS ― новый ассемблер =).