The OpenNET Project / Index page

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

Началось ограниченное бета-тестирование Duetto, компилятора из C++ в JavaScript

03.10.2013 11:35

Объявлено о начале ограниченного тестирования системы Duetto, нацеленной на предоставление средств для разработки клиентских и серверных web-приложений на языке C++, а также выполнения портирования существующих C++ программ для их работы в Web-браузере. По своей сути Duetto напоминает систему Emscripten и также использует наработки LLVM для организации компиляции кода C++ в представление на языке JavaScript. По заявлению разработчиков Duetto ключевым отличием от Emscripten является достижение существенно более высокой производительности для результирующего кода с предоставлением поддержки использования всех возможностей DOM и HTML5, в том числе WebGL. Duetto также поддерживает использование стандартных библиотек libc и libc++, и позволяет применять инструменты сборки cmake/autotool.

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

  1. Главная ссылка к новости (http://leaningtech.com/duetto/...)
  2. OpenNews: В рамках проекта Emscripten-Qt развивается порт Qt, работающий в web-браузере
  3. OpenNews: Компилятор Emscripten достиг возможности собственной пересборки
  4. OpenNews: Увидел свет Emscripten 1.4, компилятор байткода LLVM в JavaScript-представление
  5. OpenNews: В Firefox 22 появится Asm.js, низкоуровневое высокопроизводительное подмножество JavaScript
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/38068-duetto
Ключевые слова: duetto
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (43) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 12:26, 03/10/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    и зачем оно надо?
     
     
  • 2.2, Аноним (-), 12:41, 03/10/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Шобы JavaScript не учить, неосиляторам старой школы. С++ по моему и так хорош в своих областях.
     
     
  • 3.4, ВовкаОсиист (ok), 14:03, 03/10/2013 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ололо, ты хоть понял, что ляпнул?
     
     
  • 4.6, Аноним (-), 14:06, 03/10/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Неосиляторы других ЯП есть везде, а уж среди С-пых-пых погромистов их бессчётное множество.
     
     
  • 5.8, szh (ok), 14:22, 03/10/2013 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Есть куча софта и библиотек уже написанного на С/C++. Кроме того С++ посложнее javascript.
    Теперь попробуй подумать еще раз.
     
     
  • 6.11, Аноним (-), 14:59, 03/10/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Естественно С-пых-пых сложнее других ЯП, в нём реализовано столько ненужного и бестолкового функционала что это уже превысило все разумные пределы (ну или близко к этому).
     
     
  • 7.12, pavlinux (ok), 15:17, 03/10/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Дай угадаю, ни Java, ни С++ не знаешь?!  
     
     
  • 8.16, Аноним (-), 15:55, 03/10/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    О великий погромист объясни недалёкому человеку почему для определения автомати... текст свёрнут, показать
     
     
  • 9.17, 0xd34df00d (??), 15:58, 03/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что в C система типов не позволяет прикрутить полноценный вывод типов т... текст свёрнут, показать
     
     
  • 10.20, Аноним (-), 16:26, 03/10/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Второй вопрос и был зачем указывать constexpr что бы определит результат вовремя... текст свёрнут, показать
     
     
  • 11.21, 0xd34df00d (??), 16:29, 03/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем указывать const в функциях-членах, почему нельзя определить без него, что ... текст свёрнут, показать
     
     
  • 12.22, Аноним (-), 16:39, 03/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    D, нужно ли вычислять результат функции во время компиляции определяется в завис... текст свёрнут, показать
     
     
  • 13.28, 0xd34df00d (??), 20:32, 03/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    А, ну так все вопросы к отсутствию в плюсах нормальных модулей, что произрастает... текст свёрнут, показать
     
  • 9.18, pavlinux (ok), 16:05, 03/10/2013 [^] [^^] [^^^] [ответить]  
  • –3 +/
    А яебу, я ни С ни Java не знаю, и знать не хочу ... текст свёрнут, показать
     
     
  • 10.19, Аноним (-), 16:15, 03/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    А зачем вы тогда задаёт эти вопросы ... текст свёрнут, показать
     
     
  • 11.29, Анончик (?), 20:38, 03/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что уровень интеллекта такой... текст свёрнут, показать
     
  • 7.35, kurokaze (ok), 23:30, 03/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >Естественно С-пых-пых сложнее других ЯП, в нём реализовано столько ненужного и бестолкового функционала что это уже превысило все разумные пределы

    К счастью у нормальных людей оные пределы на порядок шире твоих

     
  • 6.24, vitalif (ok), 17:09, 03/10/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Дааааааааа! А теперь давайте их все перекомпилим в яваскрипт, х*ле там! :D:D:D:D
     
     
  • 7.30, Анончик (?), 20:40, 03/10/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Дааааааааа! А теперь давайте их все перекомпилим в яваскрипт, х*ле там! :D:D:D:D

    Именно, можно будет сосредоточиться на доводке производительности до уровня Си, ну и сделать сантиксис вкуснее.

     
  • 3.7, Аноним (-), 14:18, 03/10/2013 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Шобы JavaScript не учить, неосиляторам старой школы.

    Прикалываешься? Чего там осиливать? Любой сиплюсплюсник на JS будет фигарить только в путь. А вот если JSника посадить с++ юзать - он опухнет в два счета.

     
     
  • 4.13, 0xd34df00d (??), 15:22, 03/10/2013 [^] [^^] [^^^] [ответить]  
  • +4 +/
    У каждого языка свои парадигмы и свои идеи. В том же JS — прототипное наследование, больно динамическая типизация, и так далее. Фигарить-то плюсплюсник, может, и будет, но результат будет уж больно плюсовым.

    Лучше на JS не писать, чем писать на JS как на плюсах.

    Я сиплюсплюсник есличо, да.

     
  • 4.15, тоже Аноним (ok), 15:24, 03/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, не совсем так. Крестовик на JS писать, конечно, сможет, но эффективно использовать его (простите за каламбур) плюсы сможет только после дополнительного обучения.
    Другое дело, что этот транслятор вряд ли блещет интеллектом, и его результат будет заведомо более убогим, чем это сделал бы как JS-, так и C++-программист.

    А уж простыни с примитивной логикой при желании вообще переводятся из крестов в скрипты регулярками. Что, видимо, и служит основой всего этого проекта...

     
  • 4.26, angra (ok), 18:46, 03/10/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Очень распространенное заблуждение. Результаты подобного подхода регулярно наблюдаю и они весьма печальны. Хорошие Сшники пишут очень хреновый код даже на PHP, куда там на js. А все дело в опухшем ЧСВ, которое не позволяет им спустится с небес и серьезно изучить скриптовый язык.
     
  • 4.40, arisu (ok), 03:53, 04/10/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Любой сиплюсплюсник на JS будет фигарить только в путь.

    «фигарить»-то, может, и будет. а вот нормальный код писать — не факт.

     
  • 2.23, Пиу (ok), 16:51, 03/10/2013 [^] [^^] [^^^] [ответить]  
  • –2 +/
    чтобы писать на нормальном языке (c++), а не на таком дерьме как javascript
     
     
  • 3.31, Аноним (-), 21:26, 03/10/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну не знаю ... со стороны они оба ... не конфетки :)
     
     
  • 4.36, kurokaze (ok), 23:32, 03/10/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    это ты гвидобейсика не видал
     

  • 1.3, Аноним (-), 13:39, 03/10/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    А нет такой же "полезной", но из Фортрана в Похапэ?
     
     
  • 2.5, Аноним (-), 14:04, 03/10/2013 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > А нет такой же "полезной", но из Фортрана в Похапэ?

    Оттранслируй его в си. Потом закомпиль emscripten'ом в биткод LLVM и перегони в JS. Это конечно не PHP, но тоже ничего. Особенно если запускать в браузере на виртуалке, которую запустили на эмуляторе x86 работающем на ARM. Всего неделя на загрузку и счет - и результат у вас в кармане! Новые горизонты производительности!

     
  • 2.38, AnonuS (?), 03:20, 04/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, надо искать !
     

  • 1.10, Филипп Филиппович (ok), 14:57, 03/10/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Работы на C++ не принимают на паралимпиаде по программированию, поэтому и возникает необходимость во всём этом. :-D А если серьёзно, то мне кажется, что через 5-10 лет будет очень интересно. Пока переезда полновесных приложений в браузеры как в системно-независимую среду выполнения надо ещё подождать, пока это всё ещё игрушки, хотя и многообещающие. И переезд когда-нибудь да состоится...
     
     
  • 2.14, 0xd34df00d (??), 15:23, 03/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Пока переезда полновесных приложений
    > в браузеры как в системно-независимую среду выполнения надо ещё подождать, пока
    > это всё ещё игрушки, хотя и многообещающие. И переезд когда-нибудь да
    > состоится...

    Нет. http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/

     
     
  • 3.25, Филипп Филиппович (ok), 17:30, 03/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Да спору нет, что языки с динамической типизацией и поиском переменных/полей по имени (с которым в реализациях борются, но который нельзя побороть до конца) -- принципиально медленные и плохо поддаются оптимизации, даже если их компилировать в нативный код. Да, JS -- очень скверный ассемблер, т.к. вообще не для этого разрабатывался. :-) И тем не менее, уже всего-то -- пять раз, если верить этой статье. А для многих приложений даже это близко к приемлемому уже сейчас. Жаль, что разумной альтернативы JS, которая была бы настолько же переносима, пока нет. Но, может быть, ещё будет... А пока есть то, что есть, и уже с ним результаты довольно интересны. Тенденция очевидна. И если подобный высокоуровневый ассемблер нужен (а он нужен, единое окружение для исполнения программ -- это ПРАВИЛЬНО), он появится и станет стандартом де-факто. И уж за десять лет что-нибудь должно, просто обязано созреть. Так что всё будет. Но, конечно, не сразу. :-)

    К слову сказать, для того, чтобы сделать JS намного более пригодным на роль ассемблера нужно ввести в язык всего несколько изменений, всего несколько новый конструкций. Операции с полностью явным указанием типов. Особый вариант поиска переменной/поля, который целиком бы рассчитывал на то, что объект или область видимости, в которых поле ищется, не имеет динамически добавленых по сравнению с изначальным шаблоном (который, собственно, тоже надо декларировать -- это ещё одна конструкция) полей. Всего три добавления, причём неважно, насколько новый синтаксис будет удобен для использования человеком, это всего лишь средство сделать JS пригодным на роль промежуточного переносимого языка, на котором будет генерироваться эффективный код. Все эти сборки или не сборки мусора, всё это пройдёт, уж эти проблемы решатся непременно, они уже во многом решены. Настоящее зло -- работа с любым типом данных ТОЛЬКО как с неизвестным и потенциальная необходимость поиска по имени.

     
     
  • 4.27, Иван Лох (?), 19:10, 03/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    http://asmjs.org/
     
     
  • 5.34, Ф.Ф. (?), 23:11, 03/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Вот-вот, уже всего лишь в два раза, а не в пять. И это просто подмножество языка, работающее и в обычном движке.

     
  • 4.32, Аноним (-), 21:30, 03/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Филипп Филиппович, ты перед тем как такие простыни рожать - зайди в гугел и спроси про JVM :)
    "единое окружение для исполнения программ" - уже есть ... а толку то? :)
    Так что выдохни, прими стопарик и марш кодить!

     
     
  • 5.33, Ф.Ф. (?), 23:07, 03/10/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Если для того, чтобы узнать про JVM вам нужен гугель, то боюсь делать предположения о вашем возрасте. Объективно к единой среде всё равно придёт.
     
     
  • 6.39, AnonuS (?), 03:25, 04/10/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Если для того, чтобы узнать про JVM вам нужен гугель, то боюсь
    > делать предположения о вашем возрасте. Объективно к единой среде всё равно
    > придёт.

    Филипыч, тебе про виртуальную машину и  твой ЕДИНЫЙ АССЕМБЛЕР ( он же в просторечии байткод ) мой анонимный брат толкует, а ты на тему возраста съехал.

    Прими таки стопарик и глубоко выдохни.

     
  • 4.42, arisu (ok), 04:14, 04/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Настоящее зло — работа с любым типом данных ТОЛЬКО как с неизвестным
    > и потенциальная необходимость поиска по имени.

    вот же фигня-то… как раз это вполне решается хитрым PIC'ом и tracing JIT compiler'ами. а вот сборка мусора как раз moving target, и до сих пор штука весьма проблемная.

    собственно, по одной этой цитате уровень твоей компетентности вполне ясен.

     
     
  • 5.43, Филипп Филиппович (ok), 19:02, 05/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Tracing JIT, нет, ну надо же, уровень понимания! И эти люди запрещают мне в носу ковыряться!
     
     
  • 6.44, arisu (ok), 19:27, 05/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > И эти люди запрещают мне в носу ковыряться!

    что ты, ковыряйся! и с дерева тоже можешь не слезать.

     
  • 3.41, arisu (ok), 03:59, 04/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Нет. http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/

    ну так это JIT-ы хреновые. и сам JS не фонтан. LuaJIT2, например, показывает весьма и весьма нехилую производительность, при этом не страдает, например, плюсами и мозголомной архитектурой, как V8. а если найдутся спонсоры, СуперМайк обещает и одно из оставшихся мегатормозных мест добить — сборщик мусора. хотя LJ2 и так достаточно неплохо справляется с уничтожением лишних аллокаций.

     
  • 2.37, kurokaze (ok), 23:33, 03/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >Работы на C++ не принимают на паралимпиаде по программированию

    Как ты тонко потролил неплюсовиков

     

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



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

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