Здравствуйте, rudzuk, Вы писали:
R>Не знаю, как у тебя получилось 8 Мб, когда даже с отладочной информацией у меня получается около 3 Мб, релизная сборка — 1.8 Мб (за плюшки управляемой среды нужно платить). При передаче на клиента gzip ее пожмет до 460 Кб.
То что пожмет — мой WASM ужимает до 200 Кб. Это притом что мой не пустой — там месяц работы.
S>> Не нашел бесплатный для MacOS.
R>Ссылка так и назывется: "Elements — Mac & Linux Zip Distro "
Не нашел, гугл тоже не выдает.
R>Об этом можешь на их форуме спросить.
Для начала нужно его найти — я не нашел. А уже потом узнавать о лицензии. Без этого и речи быть не может, чтобы ввязываться.
Вот есть QT, по удобству использования как .Net примерно. Там лицензия более-мене прозрачная. Не супер, но для некоторых маловажных проектов сойдет.
Здравствуйте, Shmj, Вы писали:
S> R>Не знаю, как у тебя получилось 8 Мб, когда даже с отладочной информацией у меня получается около 3 Мб, релизная сборка — 1.8 Мб (за плюшки управляемой среды нужно платить). При передаче на клиента gzip ее пожмет до 460 Кб.
S> Почему вы так заступаетесь?
Потому что верю своим глазам:
S> То что пожмет — мой WASM ужимает до 200 Кб.
Цифры одного порядка. На фоне приезжающих на клиента мегабайтов джиэса, эти цифры просто ни о чем.
S> Это притом что мой не пустой — там месяц работы.
Так и этот тоже не пустой. Там и GC и работата с DOM браузера.
S> R>Ссылка так и назывется: "Elements — Mac & Linux Zip Distro "
S> Не нашел, гугл тоже не выдает.
На главной странице сайта смотрел? Точно?
S> Вот есть QT, по удобству использования как .Net примерно. Там лицензия более-мене прозрачная. Не супер, но для некоторых маловажных проектов сойдет.
Сколько весит wasm модуль использующий Qt? Просто интересно.
Здравствуйте, rudzuk, Вы писали:
R>Цифры одного порядка. На фоне приезжающих на клиента мегабайтов джиэса, эти цифры просто ни о чем.
На MacOS — вы сами видели — 4 Мб в Release.
S>> Это притом что мой не пустой — там месяц работы. R>Так и этот тоже не пустой. Там и GC и работата с DOM браузера.
Возможно раньше это было а потом решили лавочку прикрыть Что не редко для таких продуктов — гарантии нет.
R>На главной странице сайта смотрел? Точно?
Попробуйте скачать. Выше написал.
В том то и фишка — это за штуку баксов. Причем для компании — нужно раскошеливаться еще больше, цена не указана а значит будут доить.
Смысла нет привязываться к платным инструментам, которыми заправляет некая мелкая контора.
S>> Вот есть QT, по удобству использования как .Net примерно. Там лицензия более-мене прозрачная. Не супер, но для некоторых маловажных проектов сойдет. R>Сколько весит wasm модуль использующий Qt? Просто интересно.
К сожалению прямо сейчас не могу проверить, у меня установлено без WASM а доустанавливает оно долго. Я собирал wasm без QT, не нужно было.
Здравствуйте, Shmj, Вы писали:
S> На MacOS — вы сами видели — 4 Мб в Release.
От ОС это не зависит. Это зависит от типа проекта, который ты выбрал. Выбери просто WebModule, размер будет меньше.
S> R>Так и этот тоже не пустой. Там и GC и работата с DOM браузера.
S> А если мне это не нужно?
GC неотъемлемая часть платформы (даже когда софт собирается для Win32 или Linux), придется смириться.
S> А пробовал то перейти по ней? Меня перебрасывает на https://www.remobjects.com/elements/download.aspx — а там предлагает ввести email и присылает ссылку на триальную Elements Trial Downloads.
Вводил, прислали Elements Trial Downloads. Ну ладно, благодарю за ссылку — если она есть — то уже хорошо.
S>> Возможно раньше это было а потом решили лавочку прикрыть Что не редко для таких продуктов — гарантии нет. R>Чего гадать — спроси на форуме.
Пока это не заслуживает внимания. Слишком не надежный фундамент. Конторка мелкая, неизвестная. Узнаваемость — плохая.
То что есть бесплатная версия — уже что-то, можно сказать что это конкурент QT худо-бедный. Хотя у QT все инструменты доступны бесплатно, просто ограничение по лицензии.
То что есть для MacOS бесплатное — уже что-то, но маловато для захвата рынка.
Здравствуйте, Shmj, Вы писали:
S> R>От ОС это не зависит. Это зависит от типа проекта, который ты выбрал. Выбери просто WebModule, размер будет меньше.
S> Его и выбрал: https://download.ru/files/hQKs9igW
Я же вижу по коду, что ты выбрал не его, а WebModule w/ CodeBehind
S> S>> R>Так и этот тоже не пустой. Там и GC и работата с DOM браузера.
S> Вводил, прислали Elements Trial Downloads. Ну ладно, благодарю за ссылку — если она есть — то уже хорошо.
Значит ты и пытался скачать полный комплект элементов (как раз первая ссылка на странице).
S> R>Чего гадать — спроси на форуме.
S> Пока это не заслуживает внимания. Слишком не надежный фундамент. Конторка мелкая, неизвестная. Узнаваемость — плохая.
Вот спрашивается, нафига было тут воду в ступе толочь, если ты для себя все давно решил?
Здравствуйте, rudzuk, Вы писали:
S>> Пока это не заслуживает внимания. Слишком не надежный фундамент. Конторка мелкая, неизвестная. Узнаваемость — плохая. R>Вот спрашивается, нафига было тут воду в ступе толочь, если ты для себя все давно решил?
Так а что вы предлагаете? Платить штуку баксов? Без этого нормально не поработаешь. И привязка к такой мелкой конторке — слишком рискованно. Это слишком серьезный вопрос.
Тем более это не решение индивидуального разработчика — это может решить тот, кто тебя нанимает. Никак иначе. При масштабировании придется докупать и докупать лицензии. Так что вряд-ли кто-то согласится на это.
Еще момент — оно слишком мало распространено. Если возникнут проблемы — не факт что быстро сможете решить, оно не обкатано. А проблемы возникать будут уже в процессе работы.
Вывод: плохой это фундамент. Если вы берете за фундамент MS — это еще пол беды, все-таки компания многомиллиардная. И то риск. НО MS не дает вам кроссплатформенного преимущества.
Здравствуйте, Shmj, Вы писали: S>Я к 40 годам начал смотреть на суть. Когда будет возможно сделать библиотеку на C#, которую можно будет использовать из любого ЯП на всех шести операционных системах/платформах, доступных человечеству?
1. Зачем?
2. Никогда. На что это влияет?
3. Знаете ли вы язык, на котором можно сделать библиотеку, которую можно использовать из любого ЯП на всех шести операционных системах/платформах, доступных человечеству?
4. Почему вы пишете приложения не на этом языке?
Здесь отвечать не обязательно — вопросы риторические. Направлены на то, чтобы вы начали смотреть в нужную сторону хотя бы к 50 годам
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Shmj, Вы писали:
S> R>Вот спрашивается, нафига было тут воду в ступе толочь, если ты для себя все давно решил?
S> Так а что вы предлагаете? Платить штуку баксов? Без этого нормально не поработаешь. И привязка к такой мелкой конторке — слишком рискованно. Это слишком серьезный вопрос.
За инструмент разработки заплатить. Тебя это удивляет?
S> Тем более это не решение индивидуального разработчика — это может решить тот, кто тебя нанимает. Никак иначе. При масштабировании придется докупать и докупать лицензии. Так что вряд-ли кто-то согласится на это.
Я не пойму, то ты о своей библиотеке говоришь, то о разработке в найме. Эта контора свои продукты продает ет двадцать уже. Кто-то, таки, соглашается на такое.
S> Еще момент — оно слишком мало распространено. Если возникнут проблемы — не факт что быстро сможете решить, оно не обкатано. А проблемы возникать будут уже в процессе работы.
Снова твои фантазии. Проблемы они решаюют без бюрократической волокиты буквально за часы. Если осилишь найти форум сможешь сам в этом убедиться.
S> Если вы берете за фундамент MS — это еще пол беды, все-таки компания многомиллиардная.
Эта многомиллиардная сколько раз уже сливала своих последователей? VB, Silverlight, ActiveX, .NET FW... Другой многомиллиардной посвящен целый сайт с кладбищем ее продуктов. Тоже мне, гарантии.
WasmGC — предложение группы сообщества WebAssembly . Текущая реализация Wasm MVP способна работать только с числами, то есть целыми числами и числами с плавающей запятой, в линейной памяти, а с учетом предложения ссылочных типов Wasm может дополнительно удерживать внешние ссылки. WasmGC теперь добавляет типы кучи структур и массивов, что означает поддержку нелинейного распределения памяти. Каждый объект WasmGC имеет фиксированный тип и структуру, что позволяет виртуальным машинам легко генерировать эффективный код для доступа к своим полям без риска деоптимизации , которая свойственна динамическим языкам, таким как JavaScript. Таким образом, это предложение добавляет в WebAssembly эффективную поддержку управляемых языков высокого уровня через типы кучи структур и массивов, которые позволяют компиляторам языков, ориентированным на Wasm, интегрироваться со сборщиком мусора в виртуальной машине хоста. Проще говоря, это означает, что с помощью WasmGC портирование языка программирования на Wasm означает, что сборщик мусора языка программирования больше не должен быть частью порта, а вместо этого можно использовать существующий сборщик мусора.
Чтобы проверить реальное влияние этого улучшения, команда Chrome Wasm скомпилировала версии теста Fannkuch (который выделяет структуры данных по мере их работы) из C , Rust и Java . Бинарные файлы C и Rust могут иметь размер от 6,1 до 9,6 КБ в зависимости от различных флагов компилятора, тогда как версия Java намного меньше — всего 2,3 КБ ! C и Rust не включают сборщик мусора, но они по-прежнему связывают malloc/free для управления памятью, и причина, по которой Java здесь меньше, заключается в том, что ей вообще не нужно связывать какой-либо код управления памятью. Это всего лишь один конкретный пример, но он показывает, что двоичные файлы WasmGC потенциально могут быть очень маленькими, и это еще до какой-либо значительной работы по оптимизации размера.
Здравствуйте, rudzuk, Вы писали:
R>За инструмент разработки заплатить. Тебя это удивляет?
Зачем покупать, если есть лучше с лучшей поддержкой, работающее на всех платформах и бесплатно?
Можно купить, когда инструмент проверен, используется многими, баги отлажены и вы 100% знаете что он уменьшит количество работы, а не добавит новых проблем.
R>Я не пойму, то ты о своей библиотеке говоришь, то о разработке в найме. Эта контора свои продукты продает ет двадцать уже. Кто-то, таки, соглашается на такое.
Но не достигла популярности и узнаваемости.
R>Снова твои фантазии. Проблемы они решаюют без бюрократической волокиты буквально за часы. Если осилишь найти форум сможешь сам в этом убедиться.
Вы попробуйте узнать по какой лицензии RemObjects Elements — Mac and Linux Zip Distro можно использовать.
S>> Если вы берете за фундамент MS — это еще пол беды, все-таки компания многомиллиардная. R>Эта многомиллиардная сколько раз уже сливала своих последователей? VB, Silverlight, ActiveX, .NET FW... Другой многомиллиардной посвящен целый сайт с кладбищем ее продуктов. Тоже мне, гарантии.
Вот по этому лучше сразу делать ставку на открытые стандартизированные решения.
Здравствуйте, Sinclair, Вы писали:
S>>Я к 40 годам начал смотреть на суть. Когда будет возможно сделать библиотеку на C#, которую можно будет использовать из любого ЯП на всех шести операционных системах/платформах, доступных человечеству? S>1. Зачем?
Кроссплатформа зачем? Потому что чем шире твои возможности — тем лучше. Зачем себя ограничивать?
S>2. Никогда. На что это влияет?
На то что не стоит к нему привязываться.
S>3. Знаете ли вы язык, на котором можно сделать библиотеку, которую можно использовать из любого ЯП на всех шести операционных системах/платформах, доступных человечеству?
Да. К примеру C, C++, Rust.
S>4. Почему вы пишете приложения не на этом языке?
Именно на нем и пишем.
S>Здесь отвечать не обязательно — вопросы риторические. Направлены на то, чтобы вы начали смотреть в нужную сторону хотя бы к 50 годам
Здравствуйте, Shmj, Вы писали:
S>>1. Зачем? S>Кроссплатформа зачем? Потому что чем шире твои возможности — тем лучше. Зачем себя ограничивать?
Кроссплатформа — не то же самое, что и "библиотека для любого ЯП на всех шести платформах ". Сам по себе дотнет — вполне себе кроссплатформенный, и приложения на нём работают примерно везде, включая экзотику вроде Эльбруса. S>>2. Никогда. На что это влияет? S>На то что не стоит к нему привязываться.
Этот вывод нужно обосновывать. S>>3. Знаете ли вы язык, на котором можно сделать библиотеку, которую можно использовать из любого ЯП на всех шести операционных системах/платформах, доступных человечеству? S>Да. К примеру C, C++, Rust.
Ну, попробуйте задействовать "библиотеку на Rust" из Delphi.
Попробуйте использовать C-шную библиотеку из Java. Ну, например, отсортируйте мне джавовский String[] через qsort из C RTL.
Уверяю — вас ждут незабываемые приключения. Так что вы, судя по всему, совершенно спокойно пишете на языках, на которых невозможно написать библиотеку, доступную из любых других языков. Библиотеку на Расте вы будете использовать из Раста, библиотеку на С++ — из С++. А вовсе не из "любого ЯП". Ну, так и библиотеку, написанную на C#, можно использовать из любого языка .Net на любой из шести платформ. То есть в этом плане кроссплатформенность у шарпа выходит получше, чем у языков вашего выбора. Причём с двумя из трёх у вас могут возникнуть неожиданные приключения при переносе с платформы на платформу и без интеропа с другими языками. А с одним из этих двух вас поджидает неожиданный секас даже при смене компилятора в пределах одной платформы.
S>>4. Почему вы пишете приложения не на этом языке? S>Именно на нем и пишем.
Ну вот нет. Единственный язык, библиотеку на котором можно вызвать более-менее из любого языка (и то, с оговорками) — это C. Вы на нём не пишете примерно ничего. S>>Здесь отвечать не обязательно — вопросы риторические. Направлены на то, чтобы вы начали смотреть в нужную сторону хотя бы к 50 годам S>Почему риторические?
Потому что отвечать не обязательно. Если бы вы дали себе труд подумать перед тем, как отвечать, то сами бы увидели ошибки в своих рассуждениях.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
S>Когда будет возможно сделать библиотеку на C#, которую можно будет использовать из любого ЯП на всех шести операционных системах/платформах, доступных человечеству?
Если кратко — это сейчас никому не нужно.
Вызывать напрямую библиотеку от другой среды/языка это всегда геморрой. Даже внутри C++ одно лишь конвертирование строк между разными библиотеками чего стоит.
На родном для библиотеки языке пишем executable обертку которая: читает данные из stdin, предает эти данные нужным методам библиотеки и выплевывает результат работы в stdout.
Уже на своем любимом языке/фреймворке пишем оркестрацию поднятия процессов и общения с ними.
Когда появится лишнее время или упремся в объемы данных уходим от stdin/out в сторону всяких пайпов, сокетов, http и проч.
Естественно, такое для всяких npm:is_odd библиотек не катит, но это извраты JS ...
Здравствуйте, syrompe, Вы писали:
S>Если кратко — это сейчас никому не нужно. S>Вызывать напрямую библиотеку от другой среды/языка это всегда геморрой. Даже внутри C++ одно лишь конвертирование строк между разными библиотеками чего стоит.
Нужно и востребованно. Я уже приводил пример библиотеки, которая собирается под все 6 платформ и используется из всех ЯП простым способом — есть обертки даже для C#.
На C# вы такой в принципе не сможете написать. Попробуйте найти хотя бы одно решение — посмотрим. Уверен что в мире нет ни одной такой библиотеки.
Вы просто как бы влюбились в язык. Как блондинка — хочу эту сумочку. И потом сама себя начинает убеждать что именно эта сумочка самая лучшая.
Здравствуйте, Shmj, Вы писали:
S>Вы просто как бы влюбились в язык. Как блондинка — хочу эту сумочку. И потом сама себя начинает убеждать что именно эта сумочка самая лучшая.
Это ты как раз про себя написал. Это ты всех убеждаешь, что С++ эта та самая сумочка!
А тебе говорят, что есть и другие сумочки!
и солнце б утром не вставало, когда бы не было меня
S>На родном для библиотеки языке пишем executable обертку которая: читает данные из stdin, предает эти данные нужным методам библиотеки и выплевывает результат работы в stdout.
Как будто написать "оркестрацию поднятия процессов и общения с ними" просто.
Уж лучше строки конвертировать.