Компания Leaning Technologies Ltd открыла (http://allievi.sssup.it/techblog/?p=852) исходные тексты проекта Duetto (http://leaningtech.com/duetto/), в рамках которого подготовлен инструментарий для разработки клиентских и серверных web-приложений на языке C++, а также набор средств для портирования существующих C++ программ для работы в Web-браузере. Код открыт (https://github.com/leaningtech) под свободной лицензией UI/NCSA (http://llvm.org/releases/2.8/LICENSE.TXT), в рамках которой распространяются разработки проекта LLVM.По своей сути Duetto напоминает систему Emscripten (http://www.opennet.me/opennews/art.shtml?num=35313) и также использует наработки LLVM для обеспечения компиляции кода C++ в представление на языке JavaScript. Ключевым отличием Duetto от Emscripten является достижение существенно более высокой производительности результирующего JavaScript-кода и предоставление средств для использования из С++ программ всех возможностей DOM и HTML5, в том числе WebGL (http://leaningtech.com/duetto/blog/2013/07/16/CMake-Bullet-W.../). Duetto также поддерживает использование стандартных библиотек libc и libc++, и позволяет применять инструменты сборки cmake/autotool.
<center><img src="http://www.opennet.me/opennews/pics_base/0_1380811001.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;" title="" border="0"></center>URL: http://allievi.sssup.it/techblog/?p=852
Новость: http://www.opennet.me/opennews/art.shtml?num=38309
А где с солью сравнение?
Любишь сравнивать тёплое с мягким?
любишь отвечать вопґосом на вопґос?
Скорее уж с Wt надо сравнивать сабжа. IMHO
Что только не придумают, лишь бы не использовать апплеты Java. Компиляция C++ в JavaScript это конечно круто, но ЗАЧЕМ?
Что только не придумают, лишь бы не использовать ActiveX.fixed.
Что только не придумают, лишь бы не использовать ActiveX, апплеты Java и другие известные дыры в браузерах.Obvious fix.
> Что только не придумают, лишь бы не использовать ActiveX.ActiveX запретили в браузерах в начале 2000-х. Mozilla никогда не поддерживала эту дырявую и небезопасную технологию.
> fixed.
Пофикси свой мозг.
Когда говоришь о безопасности не стоит вспоминать джава-апплеты. Сколько там времени у оракла занимало дыры в них чинить и сколько этих дыр было?
По сравнению с ActiveX и JavaScript дыр в Java апплетах почти нет. О каких-то реальных угрозах безопасности JVM в браузере говорят последние два года. И то, для эксплуатации нужно, чтобы совпали определённые условия и фаза Луны. А началась эта травля, когда Касперский заявил о небезопасности J2ME мидлетов в сотовых телефонах. (Но кто ж виноват, что людей может сбить спонталыку простой запрос мидлета на отправку SMS на короткий номер? Надо так надо - пусть отправляет, не жалко, жмём Ok на все запросы, не глядя. :)) Апплеты в браузере реализуют модель безопасности JCA, которая используется во всей JAVA (не только пользовательской, но и энтерпрайзной). И кричать, что они ненадёжны де-факто, запрещать их выполнение - идиотизм со стороны тех, кто не в курсе. Будете кушать дермецо в виде новой инкарнации ActiveX&Flash да ещё преобразованное в интерпретируемый (=медленный) динамический ЯП.
Со своим вонючим евангелизмом иди в другое место. Ни нас ни мозиллу ты не проведёшь.
> ActiveX запретили в браузерах в начале 2000-х. Mozilla никогда не поддерживала эту дырявую и небезопасную технологию.Правильно. И java от неё мало чем отличается, правда Mozilla запретила эту дырявую и небезопасную технологию только совсем недавно.
>> ActiveX запретили в браузерах в начале 2000-х. Mozilla никогда не поддерживала эту дырявую и небезопасную технологию.
> Правильно. И java от неё мало чем отличается, правда Mozilla запретила эту
> дырявую и небезопасную технологию только совсем недавно.Mozilla сделала по умолчанию плагин неактивным во избежание использования приёмов социальной инженерии ("нажмите Ок, не вникая в вопрос"). Его активация возможна самим пользователем. Кому нужно, тот использует. Кто боится - ничего не трогает и на всякий случай отключает также поддержку JavaScript, ведь слова Java и JavaScript однокоренные, значит это одно и то же. :))
Я понимаю, не всем дано изучить историю предпосылок возникновения Java и появления апплетов, как части этой платформы. Давно это было. Сейчас это совсем не модно и не современно. Лучше подвязать нитками LLVM для генерации интерпретируемого кода из системно-ориентированного языка программирования (C/C++) вместо применения прямых DSL-специфичных ЯВУ, код которых выполняется всего лишь после одной JIT-компиляции, а не нескольких.
Блин, я понимаю, что тебе джава нравится, но тебя что, действительно не смущает такое, как здесь - http://www.opennet.me/opennews/art.shtml?num=36294 - когда с закрытием дыры тянули до упора, даже зная, что уже эксплоиты гуляют?
> Блин, я понимаю, что тебе джава нравится, но тебя что, действительно не
> смущает такое, как здесь - http://www.opennet.me/opennews/art.shtml?num=36294 - когда
> с закрытием дыры тянули до упора, даже зная, что уже эксплоиты
> гуляют?Ты кроме чтения смысл понимаешь?
http://www.opennet.me/opennews/art.shtml?num=36270
///---
Уязвимость используется для распространения вредоносного ПО McRAT, поражающего Windows-системы при открытии специально модифицированных страниц на подконтрольных злоумышленникам сайтах.
---///То есть нужно иметь включенный необновлённый Java-плагин в браузере под Windows, зайти на подконтрольный злоумышленником сайт и открыть на нём страницу. И все три фазы Луны ВНЕЗАПНО совпадут:
///---
В процессе эксплуатации осуществляется поиск области памяти, в которой хранятся внутренние структуры данных JVM, после чего осуществляется обнуление участков данных областей с целью дезактивации менеджера безопасности. После успешной эксплуатации, под видом изображения осуществляется загрузка исполняемого файла McRAT и попытка его запуска.
---///Дальше опять нужны совпадения ещё НЕСКОЛЬКИХ условий для успешной эксплуатации уязвимости, совпадение которых в реальной жизни маловероятно.
Уж что-что, а загнать пользователя на нужный сайт - не проблема ни разу. Если ты не в курсе, как это делается - объясняю. Идёшь на соответствующие сайты и покупаешь трафик - примерно пара баксов за 1000 уникальных посетителей.А вот насчет необновлённого - в том-то и фишка, что обновление появилось спустя 2(!) месяца после того, как о проблеме сообщили Ораклу. И к этому моменту эксплоит не просто где-то в приватных бродил, а уже публично продавался. Это не просто халатность, это что-то совершенно лютое.
И, соответственно, раз был рабочий эксплоит - то и "совпадения ещё НЕСКОЛЬКИХ условий для успешной эксплуатации уязвимости, совпадение которых в реальной жизни маловероятно" оказалось вполне возможным добиться.
Изя, давай выдыхай, выдыхай уже, а то мы тебя потеряем...Помогите люди добрые, Изю, сейчас расплющит в блин, спасиииииитееееее !!!
Тем, кто использует фапплеты Java нужно ампутировать руки, и в судебном порядке запрещать подходить к компьютеру ближе, чем на расстояние, равное их собственному росту.
Апплеты Java запрещены же, как их использовать?
Аплеты давно сдохли и сам подход, в любой реализации, смердит за километр тухлятиной.
судя по картинке в новости -- всех победил "Emscripten FF" (розовый) :)..чем выше столбец тем лучше -- это ясно так как известно что "Emscripten FF" работает быстрее чем "Emscripten V8" (потому что в V8 нет поддержки декларации "use asm")
Вот сравнение с asm.js: http://leaningtech.com/duetto/blog/2013/05/28/Comparing-to-a.../
Зачем так извращатся, когда можно просто соорудить виртуальную машину на базе ранаботок LLVM, и писать на любых ЯП, компилируя код в промежуточный код LLVM?
Это было-бы, особенно хорошо, в новых 64-битных ARM-процессорах, в которых есть блок аппаратной поддержки виртуальных машин.
На ARM давно есть ядро "Jazelle" - сопроцессор непосредственного выполнения байткода Java. Зачем извращаться с LLVM и прочими "прелестями" виртализации? "Контейнеры" (изолированные окружения) дешевле обходятся и менее ресурсоёмки.
Угу, теоретически есть. А на практике - сто лет никому не нужным оказалось. Видать, не просто так ;-)
> На ARM давно есть ядро «Jazelle»которое давно выкинуто нафиг, гыг — начиная с ARMv7 бесполезный хлам заменили на ThumbEE. но это знание жабофанбоям уже не нужно, потому что не вписывается в их воображаемый мир, где Божественная Ява Всех Зарулила.
Это переименованное развитие Jazelle RCT, генерализированное для динамических языков. Специально об этом забыл?
глаза открываем. про жабу читаем. все нужные нити читаем. фигню пороть перестаём. алгоритм действий понятен? исполняй!
>На ARM давно есть ядро "Jazelle" - сопроцессор непосредственного выполнения байткода Java1) Аппаратно выполняются далеко не все инструкции байткода, поэтому работает такой вариант медленнее, чем нормальный JIT.
2) Это расширение архитектуры, которое надо лицензировать отдельно, поэто в соечтании с п.1 производителей душит жаба (не Java, а другая)
> Это было-бы, особенно хорошо, в новых 64-битных ARM-процессорах, в которых есть блок
> аппаратной поддержки виртуальных машин.Да, было бы. К сожалению, вместо подобного красивого решения использутся костыльное. А кроме него(из-за недостатоков технологий HTML и Java Script) ещё и велосипедов вроде Flash, Java Aplets, Silverlight и т.п. наплодили... Одна VM с доступом к DOM и API браузера, а так-же небольной стандартной библиотекой можно было бы заменить весь этот шлак.
>> Это было-бы, особенно хорошо, в новых 64-битных ARM-процессорах, в которых есть блок
>> аппаратной поддержки виртуальных машин.
> Да, было бы. К сожалению, вместо подобного красивого решения использутся костыльное. А
> кроме него(из-за недостатоков технологий HTML и Java Script) ещё и велосипедов
> вроде Flash, Java Aplets, Silverlight и т.п. наплодили... Одна VM с
> доступом к DOM и API браузера, а так-же небольной стандартной библиотекой
> можно было бы заменить весь этот шлак.Вон, libxul в Mozilla до сих пор не могут расшарить между Firefox, Thunderbird и, собственно, одноимённой автономной разделяемой библиотекой, три раза приходится собирать одно и то же. А ты хочешь одну вещь для работы с DOM API для всех. :))
Мозилловцы вообще очень любят подход "всё моё ношу с собой" - винда, наверное, влияет, там это дело привычное. Наверняка оно спокойно решается каким-нибудь хитрым ключом сборки - только хрен его найдёшь. Во всяком случае, обычно у них именно так.
> Вон, libxul в Mozilla до сих пор не могут расшарить между Firefox,
> Thunderbird и, собственно, одноимённой автономной разделяемой библиотекой, три раза приходится собирать одно и то же.Это всё из-за BSD-подобной лицензии?
> Зачем так извращатся, когда можно просто соорудить виртуальную машину на базе ранаботок
> LLVM, и писать на любых ЯП, компилируя код в промежуточный код
> LLVM?В арбузере работать не будет, очевидно же. Иначе можно было бы просто на С++ писать и не извращаться с виртуальными машинами.
Такое есть - NaCl и PNaCl
> прямой маппинг C++ объектов в объекты JavaScriptИ как они напрямую маппят работу с указателями, интересно :).
>> прямой маппинг C++ объектов в объекты JavaScript
> И как они напрямую маппят работу с указателями, интересно :).а зачем ты работаешь с объектами через указатели, а не через ссылки? ты мазохист или идиот?
Похоже, что идиот здесь кто-то другой.
> Похоже, что идиот здесь кто-то другой.да. ты вот пришёл вместо анонимуса.
>> Похоже, что идиот здесь кто-то другой.
> да. ты вот пришёл вместо анонимуса.Ну я-то понимаю, что ссылки в С++ реализуются с помощью указателей и отличаются только синтаксисом.
— Разве не говорил я, что Саша — круглый идиот? (ц)
Не мазохист и не идиот он, вполне адекватный вопрос. С++ без возможности использовать указатели настолько же ненужен как и Java вместе с С#. Не хочешь указателей в браузере - никто не мешает использовать JS, срубить С++ до уровня JS и говорить что это круто потому-что там есть операторы, и ключевое слово сlass с возможностью пропихать шаблон через шаблон - и есть диагноз. На JS без всего это нормально людям живется, а проект как раз и нужен когда хочешь получить перенесенного подобие низкоуровневого кода из существующего проекта, которое на JS сделать сложновато без указателей и тому подобного.
бобёр, выдыхай!
> бобёр, выдыхай!Только мазохист или идиот будет писать на С++ без указателей на объекты, на одних ссылках. Но мы-то знаем, что С++ ты видел только на картинках.
Rasch abkochen, dann Vormarsch nach Sokal.
21 век на дворе, давно уже все научились указатели на кучу считать.
Что такое VB и FF конечно не нужно писать, все знают. К тому же по графику получается, что эмскриптен рвёт дуетто.
VB - это вижуал басик
а вот V8 - это такой движок жабоскрипта
P.S. а у вас, похоже, ШГ
З А Ч Е М?
Как язык для крупных проектов JS плохо подходит. Тем не менее часто нужно выполнение программы в браузере. Ещё преимущество - кросплатформенность.
Зачем _крупные_пректы_ выполнять в _браузере_?
> З А Ч Е М?Есть один политический плюс - разработка в руках людей, которым не пофиг на дыры (в отличии от oracle с java).
Но писать серверные и клиентские части веб приложения на C++...
Ещё бы ассемблер к браузеру прикрутили бы, а то дыр-то в JavaScript мало...
Что за реклама здесь перекрывающая название статьи?"ХОТИТЕ СОЗДАТЬ «РАБОТАЮЩИЙ» САЙТ? ГОТОВЫЕ CMS С БЕСПЛАТНЫМ РАЗМЕЩЕНИЕМ КУПИТЬ БЕЗЛИМИТНЫЙ ХОСТИНГ" . Правда проблемой скорей всего установленный у меня антирекламный фильтр adblock. Графическую картинку он похоже режет,а текст остаётся...
ну так режут же, гады. приходится совать так, чтобы резать было сложнее. тоже обратил внимание. туда даже какой-нибудь красивый id и class не прописали, чтобы сложнее вырезать было. Хитрый План!