The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Emscripten - проект по созданию компилятора кода C/C++ в JavaScript

02.09.2010 13:26

Алан Закай (Alon Zakai) из подразделения компании Mozilla, занимающегося мобильными технологиями, создал компилятор Emscripten, преобразующий байт-код LLVM в JavaScript-представление, что сделало возможным сформировать код на языке JavaScript из исходных текстов на другом языке, для которого имеется LLVM-транслятор. Например, для преобразования кода на С/С++ на первом этапе при помощи llvm-gcc или clang формируется байт-код, используя который компилятор Emscripten формирует JavaScript-код.

В отличие от технологии Native Client, которая позволяет выполнять исполняемый код на стороне пользователя через плагин в браузере, Emscripten формирует скрипт на языке JavaScript, который может быть интерпретирован непосредственно встроенным в браузер JavaScript-движком, без дополнительных плагинов. Решение от Emscripten существенно медленнее (по оценкам, примерно в 20 раз) решения Native Client, но в отличии от Native Client, которое в полной мере поддерживает только 32-битную архитектуру, является платформенно-независимым.

  1. Главная ссылка к новости (http://devworks.thinkdigit.com...)
  2. OpenNews: Реализация языка Python на JavaScript и транслятор кода Python в JavaScript
  3. OpenNews: Реализация Flash-проигрывателя целиком на языке JavaScript
  4. OpenNews: Компания Google выпустила средство для выполнения бинарных программ в браузере
  5. OpenNews: Возможность разрабатывать скрипты для web-браузера на языках Си и Python
  6. OpenNews: Реализация Ruby и Java на JavaScript
Автор новости: env
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/27831-compiler
Ключевые слова: compiler, llvm, javascript
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (24) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 15:39, 02/09/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +21 +/
    теперь можно прямо из internet explroer собрать linux?
     
     
  • 2.30, Аноним (-), 10:30, 03/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Это пять!

    http://govnorg.ru/g/lor

     

  • 1.2, Аноним123321 (ok), 15:47, 02/09/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > но в отличии от Native Client, которое в полной мере поддерживает только 32-битную архитектуру

    NaCl может работать не только со списком заранее указанных (32 битных) архетектур, но и с LLVM в качестве архитектуры

    (этот код есть в ветках VCS-репозитариев NaCl)

    поэтому этот абзац новости неуместен

     
     
  • 2.6, www2 (??), 16:35, 02/09/2010 [^] [^^] [^^^] [ответить]  
  • +10 +/
    Вы как будто про поваренную соль говорите - NaCl так и хочется прочитать как "натрий-хлор".
     
     
  • 3.15, Аноним123321 (ok), 17:14, 02/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    а ещё его называют ГНК (Google Native Client) .. но гос-нарко-контроль наверно ввиду не имеется :-)
     
  • 2.8, anonym (?), 16:43, 02/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    http://code.google.com/p/nativeclient-sdk/wiki/FAQ

    Q: What are the supported architectures?

        x86_32 and x86_64. ARM is a work in progress.

        Note: if you’re on Linux, only a 32-bit browser will load .nexes. We’re working on 64-bit.

     

  • 1.3, аноним (?), 16:08, 02/09/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Оиличная идея вместо (->нативный код) воткнем (->байткод->яваскрипт->интерпретатор) с оверхедом в не разы даже, а порядки. Никогда не будут вебприложения работать как нитивные, ни-ког-да.
     
     
  • 2.7, www2 (??), 16:39, 02/09/2010 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Оиличная идея вместо (->нативный код) воткнем (->байткод->яваскрипт->интерпретатор) с оверхедом в не разы даже, а порядки. Никогда не будут вебприложения работать как нитивные, ни-ког-да.

    Какой-нибудь Doom, я думаю, на современных компьютерах будет работать, как и в прежние времена на 386-х. Так что когда-нибудь любое современное приложение будет лет через 20 работать в браузере с JavaScript так же, как сейчас работает на настоящем железе.

     
     
  • 3.22, аноним (?), 18:44, 02/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, учитывая закон Мура (который уже перестает выполняться) - да, любое десктоп приложение через 10 лет будет работать в виде веб приложения с той же скоростью. Но если учесть еще и наличие скорости света, которое вносит неустранимые задержки, повторюсь - ни-ког-да.
     
     
  • 4.27, szh (ok), 23:53, 02/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > повторюсь - ни-ког-да.

    бесполезное для практики утверждение.

    Если будет на несколько процентов медленнее - то все будут считать "с той же скоростью" из практических соображений.

     
     
  • 5.34, Frank (??), 16:04, 07/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    У меня на современном нетбуке Samsung N148, купленном в этом году, тормозит (из-за драйвера видеокарты) Starcraft 1996-го года выпуска. Вы всё ещё забиваете на оптимизацию? Тогда я иду к вам. С молотком потяжелее, забивать вас.
     
  • 2.20, Толстый (ok), 17:58, 02/09/2010 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Модераторы, почему трём комментарии? Обсуждение по теме было.
     
     
  • 3.26, filosofem (ok), 21:18, 02/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Попробуйте развернуть мысль, существует отличная от нуля вероятность, что они вас просто не поняли.
     
  • 3.31, XoRe (ok), 11:44, 03/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Модераторы, почему трём комментарии? Обсуждение по теме было.

    Толстое обсуждение было)

     

  • 1.4, ЭМъ (?), 16:23, 02/09/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Что-то я не совсем понял сферу применения...судя по первому абзацу речь идет об применении Emscipten аналогично языку HaXe...а судя по второму абзацу совсем ничего не понятно
     
  • 1.10, Аноним (-), 16:48, 02/09/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    И чем это лучше жаба-апплетов?
     
     
  • 2.13, аноним (?), 17:13, 02/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Класс! Теперь сплойты можно будет прямо в браузере компилить ;)
     
  • 2.32, XoRe (ok), 11:44, 03/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >И чем это лучше жаба-апплетов?

    Вы про жабу или ЖабоСкрипт?)

     

  • 1.21, anonymous (??), 18:36, 02/09/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кроме как для ОС из браузера, применение сомнительное.
    Кстати, ОС из браузера - это, ИМХО, интересно, учитывая какие удобные/гибкие возможности построение интерфейса предоставляют HTML/CSS.
     
     
  • 2.23, аноним (?), 18:45, 02/09/2010 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >Кроме как для ОС из браузера, применение сомнительное.
    >Кстати, ОС из браузера - это, ИМХО, интересно, учитывая какие удобные/гибкие возможности
    >построение интерфейса предоставляют HTML/CSS.

    Для блондинок - может быть. Серьезного применения у этого нет и быть не может.

     
     
  • 3.35, upyx (ok), 12:34, 13/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Несерьезное утверждение.

    Для решения любой задачи есть наиболее подходящий инструмент. Для интернет-общения, браузер, с его постоянно растущими возможностями, -- достаточно подходящий. Указанный в заголовке новости проект как раз способствует развитию возможностей браузера.

     
  • 2.24, XoRe (ok), 19:30, 02/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Кроме как для ОС из браузера, применение сомнительное.
    >Кстати, ОС из браузера - это, ИМХО, интересно, учитывая какие удобные/гибкие возможности
    >построение интерфейса предоставляют HTML/CSS.

    ОС из браузера.
    Драйверы из браузера.
    Биос из браузера...
    И все на JavaScript =)

    "ОС из брауера" - это такое понятие, который каждый понимает по своему.
    Если вам нужен рабочий стол из браузера, то таких проектов (причем вполне рабочих) уже навалом.
    Например, eyeos.
    А если вам прямо, чтоб прям как комп, чтобы с биосом, драйверами, прерываниями и прочим, то оно того не стоит.
    Слишком медленно.

     

  • 1.28, Crazy Alex (??), 03:11, 03/09/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Мда, безумие. Есть куча локальных вычислительных мощностей - но вместо того, чтобы их задействовать, логику крутят на серверах, а на локале показывают морду - а так как длялокала она ни разу не доверенная - крутят в разного рада песочницах, успешно сжирающих процессорные мощности.

    А Мозилле привет от Адоба - у них плюсы давным-давно в ActionScript (он же ECMAScript 4) в Alchemy транслируются.

     
     
  • 2.33, XoRe (ok), 11:45, 03/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Мда, безумие. Есть куча локальных вычислительных мощностей - но вместо того, чтобы
    >их задействовать, логику крутят на серверах, а на локале показывают морду
    >- а так как длялокала она ни разу не доверенная -
    >крутят в разного рада песочницах, успешно сжирающих процессорные мощности.

    Ну так как раз вот такими песочницами ваши локальные мощности и загружаются.
    Все делается-то не жабой, а жабоскриптой.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру