Здравствуйте, kr510, Вы писали:
EP>>Чтобы получить доступ к ещё большему колличеству библиотек. Например. K>JS — свой, законченный, мир. Здесь нужно реально доказать, что еще одна библиотека будет нужна.
Вот например делаю я какое-то JS приложение, и нужной JS библиотеки нет, зато есть библиотека С++ — кому тут что нужно доказывать?
K>Что касается unity3d, ну в JS есть WebGL.
1. Уровень WebGL намного ниже чем уровень игрового движка.
2. Emscripten как раз и переводит OpenGL вызовы в WebGL.
EP>>Я не сказал что C++ -> JS работает быстрее native C++. EP>>Я говорю что JS -> C++ получается очень быстрым, быстрее чем ручной JS, и даже быстрее чем C#. K>Это возможно, но как я понимаю, речь идет о C++ -> JS, а не наоборот.
Опечатка. В обоих случаях должно быть "C++ -> JS".
K>ЗЫ, как полигон для упражнений в программировании это направление класс! Нужно только придумать реальное использование.
Здравствуйте, kr510, Вы писали:
EP>>Facebook и Dropbox делают ядро кроссплатформенных мобильных приложений на C++: 1, 2 K>Да, но они хотят получить выигрыш в производительности от прямого взаимодействия с железом через с++.
1. С каким железом? С памятью и процессором?
2. Среди их целей в том числе и кроссплатформенность — одно ядро для разных платформ. Что ты предлагаешь взамен?
K>Зачем им еще надо JS если можно (а с их ресурсами точно можно) прямо на с++ писать? Они наоборот хотят уйти от всех языков посредников.
Здравствуйте, Evgeny.Panasyuk, Вы писали:
EP>Здравствуйте, Klikujiskaaan, Вы писали:
EP>>>Я имел в виду использование C++ как ядра приложения. То есть будет отдельно web-приложение, отдельно приложение для мобильных устройств (не-web), отдельно для десктопа. И везде ядро на C++. K>>Даже небо, даже Аллах! K>>Но зачем такое убожество нужно? Проще и понятнее сделать веб-сервис и все кому надо будут подсасывать данные с него...
EP>Facebook и Dropbox делают ядро кроссплатформенных мобильных приложений на C++: 1, 2
2 примера из миллиона.
Re: Emscripten: LLVM to JavaScript compiler (C++ to JS)
интересно насколько хороши эти оптимизаторы в LLVM... может имеет смысл пилить JS → JS %)
типа был руками написаный JS код, хотим посмотреть как сделать его более оптимальным %)
Re[2]: Emscripten: LLVM to JavaScript compiler (C++ to JS)
Здравствуйте, zaufi, Вы писали:
Z>интересно насколько хороши эти оптимизаторы в LLVM... может имеет смысл пилить JS → JS %) Z>типа был руками написаный JS код, хотим посмотреть как сделать его более оптимальным %)
В Facebook использовали компилятор PHP -> C++. Возможно и тут можно сделать JS -> C++ -> JS.
Но, это всё же будет медленнее чем более-менее нормальный код на C++ транслированный в JS. Так как в C++ из коробки есть статический полиморфизм, структуры и т.п., а для JS (в случае JS -> C++) это всё должен выводить компилятор, при этом сохраняя старую семантику.
Re: Emscripten: LLVM to JavaScript compiler (C++ to JS)
Здравствуйте, Nikе, Вы писали:
N>Попробую наш графический проектик запустить А кто-нибудь его практически пробовал?
Я немного пробовал. Получается большой объем, медленная загрузка, скорость чуть лучше простого JS в Firefox'e и слегка или даже сильно хуже в других браузерах.
N>А тексты там чем можно растеризовать?
Там у тебя есть фактически просто кусок памяти, дальше делаешь в нем что хошь. Надо рисовать или растеризовать — тяни библиотеки, умеющие это в памяти делать.
Re[3]: Emscripten: LLVM to JavaScript compiler (C++ to JS)
Здравствуйте, D. Mon, Вы писали:
DM>Там у тебя есть фактически просто кусок памяти, дальше делаешь в нем что хошь. Надо рисовать или растеризовать — тяни библиотеки, умеющие это в памяти делать.
Какой-нибудь Pango тащить мне кажется дороговато при таком подходе
Нужно разобрать угил.
Re[3]: Emscripten: LLVM to JavaScript compiler (C++ to JS)
Здравствуйте, D. Mon, Вы писали:
N>>Попробую наш графический проектик запустить А кто-нибудь его практически пробовал? DM>Я немного пробовал. Получается большой объем
Насколько я понял, там большой объём либо из-за стандартной библиотеки, либо рантайма — то есть это своего рода стартовый размер, то чего достаточно в одном экземпляре на всё приложение. Пользовательский код там получается относительно небольшой
Здравствуйте, D. Mon, Вы писали:
DM>Там у тебя есть фактически просто кусок памяти, дальше делаешь в нем что хошь. Надо рисовать или растеризовать — тяни библиотеки, умеющие это в памяти делать.
В поставке emscripten идёт уже несколько готовых C/C++ библиотек, а не только библиотека языка. Например там с ходу (даже как-то подключать не надо) работает SDL, а это считай уже огромное количество кода для рисования заработает сразу.
Кроме этого видел там в каталоге opengl/openal, glfw, glut и т.п. Плюс ещё взгляд зацепился за библиотеки с названиями типа browser, html5 и т.п. — я таких не знаю, но подозреваю, что они обеспечивают визуализацию средствами DOM.
Re[4]: Emscripten: LLVM to JavaScript compiler (C++ to JS)
Здравствуйте, D. Mon, Вы писали:
DM>>>скорость чуть лучше простого JS в Firefox'e EP>>"простой JS" — это ручной? Или сгенерированный? DM>В моем случае сгенерированный из Haxe, но там практически один в один с оригиналом, т.е. все равно что ручной.
А что там в ручном коде, какого он типа, какого уровня? ФВП/Замыкания есть?
Как я понял — там распаковка растрового изображения. Например как там представлено изображение — безликий массив скаляров или матрица пикселей? Какие массивы используются — "статически типизированные" или нет?
Re: Emscripten: LLVM to JavaScript compiler (C++ to JS)
Здравствуйте, Evgeny.Panasyuk, Вы писали:
EP>Emscripten
(эмоциональное)
Вот за 15 лет, что я работаю программистом, из Web не пришло ничего хорошего. В web ушло много хороших технологий, и там и остались, тут да.
А вот обратно... Именно в web, по причине, видимо, рыночной потребности, самозародились люди, считающие PHP и JS языками программирования (формально они ими являются, но программировать на PHP/JS?.. ORLY? "Налабать сайт" != "программиировать").
Современный Web представляет собой колосса из велосипедов на костылях, и имя этим костылям — JS в первую очередь (особенно после появления уродств типа JQuery), и PHP — во вторую. Потом однобитные "программисты", освоившие JS, решили его и на сервер перетащить.
Считаю, что JavaScript должен быть засунут в ту дыру, из которой он вылез — формочки обрабатывать.
Re[2]: Emscripten: LLVM to JavaScript compiler (C++ to JS)
Здравствуйте, Evgeny.Panasyuk, Вы писали:
DM>>В моем случае сгенерированный из Haxe, но там практически один в один с оригиналом, т.е. все равно что ручной.
EP>А что там в ручном коде, какого он типа, какого уровня? ФВП/Замыкания есть?
Довольно невысокого уровня, без ФВП и замыканий, но с объектами.
EP>Как я понял — там распаковка растрового изображения. Например как там представлено изображение — безликий массив скаляров или матрица пикселей? Какие массивы используются — "статически типизированные" или нет?
Все на типизированных массивах. Картинка — массив байт.
Здравствуйте, Klikujiskaaan, Вы писали:
K>Но зачем такое убожество нужно? Проще и понятнее сделать веб-сервис и все кому надо будут подсасывать данные с него...
Это божет работать offline...
Например словарь, приезжаешь в другую страну, а там дорогущий роуминг.. Упс?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[7]: Emscripten: LLVM to JavaScript compiler (C++ to JS)
Здравствуйте, Erop, Вы писали:
E>Здравствуйте, Klikujiskaaan, Вы писали:
K>>Но зачем такое убожество нужно? Проще и понятнее сделать веб-сервис и все кому надо будут подсасывать данные с него... E>Это божет работать offline... E>Например словарь, приезжаешь в другую страну, а там дорогущий роуминг.. Упс?
Веб сайт работающий оффлайн? Ну ок.
Re[8]: Emscripten: LLVM to JavaScript compiler (C++ to JS)
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском