Re[21]: Кроссплатформа - состояние на конец 2022
От: Pauel Беларусь http://blogs.rsdn.org/ikemefula
Дата: 20.09.22 11:45
Оценка:
Здравствуйте, CreatorCray, Вы писали:

P>>Ровно наоборот. Если дать этим же разработчикам С++, то багов будет на порядок-другой больше или же софт вообще не заработает.

CC>Если дать в руки обезьяне вместо ножовки циркулярную пилу то она себе что нить отрежет, да.
CC>Но это не проблема циркулярки, это проблема безмозглой обезьяны

Чья проблема — дело десятое. Важно, что с джаваскриптом у этих же людей получается много лучше чем у них же с С++. Следовательно, джаваскрипт уменьшает количество багов.

P>>Следовательно, использование жээса уменьшает количество багов и улучшает результат.

CC>Нет
CC>Багов всё ещё туевы хучи, просто памперсы managed языков тратят тонны нефти на то, чтоб с этими багами бороться, и не давать этому "коду" совсем уж развалиться под весом насранного макаками говна.

Логическая ошибка. Нужно сравнивать количество багов при скриптовании на разных языках у одних и тех же людей, а не просто по баклогу. В 90х и даже 00х скриптовать пробовали на плюсах, буквально. Этим занимались целые конторы в т.ч. в браузере и офисе. Ни к чему хорошему это не приводило:
1 затраты времени чудовищные. Вещи, которые сейчас каждый джун по сто раз на дню выполняет, тогда пилили синьоры неделями и даже месяцами.
2 количество багов было еще бОльшим, чем сейчас, по ряду причин, разумеется, в пересчете на страницу/форму. При этом страницы/формы были на порядок проще.
Типичные баги — указатели, строки, память, стек, утечки. И такое можно было обнаружить даже в продакшне.
Когда эти же люди пересели на жээс, то их приложения резко стали больше, лучше, стабильнее.

Ты когда нибудь пробовал заскриптовать среднюю страничку на плюсах?

P>>В винде ровно то же. И в макоси. И в андройде. И иос.

CC>Тоже мне новость: везде где есть голый си будут характерные для голого си проблемы

В плюсах не на много то и лучше. Принципиальной разницы нет.

P>>Именно. Типичные разработчики ядра линукса имеют квалификацию на порядки выше той, что у 90% фронтендов.

CC>Таки да, но это не делает их "светилами"

Именно это и делает светилами. Даже больше — разработчики ядра в среднем много выше по квалификации большинства обычных сиплюсников.

P>>2 долгое вхождение в winapi, и в частности gdi. Нудно, муторно, коряво.

CC>Там ж настолько всё элементарно что если кто то не в состоянии это освоить то наверное ему в целом с CS не по пути.

Это какой то юношеский максимализм. Всё становится элементарным после того, как освоишь. Вопрос в том, сколько времени/усилий надо инвестировать в освоение.

Что бы сходу влезть в WINAPI — я такого ни раз не видел. Попытки делают многие, но результата как то не появляется. И объяснение достаточно простое — все примеры даже ничтожных фич как правило простыни кода. Открываешь книгу и листаешь страницы кода на каждый пример.
Уже в дотнете на system.drawing кодить надо было примерно на порядок меньше. В canvas браузера в 2D еще будет раза в два-три меньше кода. Зато если откроешь весь плюсовый код браузера для реализации таких функций, увидишь, что все эти простыни как были, так и остались, только что упакованы в конкретную библиотеку.

Отсюда ясно, почему на чистом gdi никто в своём уме не пишет. Берут обычно какую высокоуровневую оболочку.

P>>Как и все — контрольчики, стейтменеджмент, юзеринпут.

CC>Это то, что над капотом, со стороны пользователя FW

Разумеется. Именно это и называется фремворком — фремворк то разрабатывается для решения задач консумеров, а не загибания пальцев на форуме.

Итого — сколько у тебя было опыта на плюсах к тому времени и сколько времени ты потратил?

CC>Что я писал "жээс глючит", тогда как речь была про "отдельные кривые сайты, где напихали скриптоты что они с трудом проворачиваются"


Жээс глючит — это общее утверждение, про жээс. А подразумеваешь только некоторые сайты. То есть — логическая ошибка.

P>>В самом консольном приложении сложность рендеринга чуть выше склейки-копирования строк, надо помнить про прямоугольные блоки. И всё.

CC>И? Чем это отличается от вызова API функции "нарисуй мне в этом месте строку"?

Например, нет необходимости ни в каких вычислениях.

P>>Забавно — если жээс вызывает Path2d, то "всё рендерит С++".

CC>Потому что от напихивания кривых в Path2D до появления в битмапе заполненного контура с антиалиасингом происходит много всего разного и довольно таки заморочного. И это ещё примитивный подход, тупо кривые, без учёта хинтинга.

Ты внимательно посмотри на результат, алё! Кто тебе мешает ссылку то открыть?

P>>Технически — логику, т.е. что рисовать, реализует сам жээс, и он же определяет, как всё будет выглядет.

CC>Он просто зовёт высокоуровневый API.

Я в курсе. Ты думал америку открыл? Жээс работает на верхнем слое, очевидно, что он рендерит текст в примитивы нижнего уровня.

P>> Это и есть рендерер

CC>Ну тогда FAR это тоже рендерер

Я именно про это и говорю уже в который раз. Спасибо, что наконец догадался. При этом Фар это примитивный рендерер, т.к. использует две или три тривиальных функции, которые в общем и вычислений не требуют.

CC>Можно сказать что консольная аппа рендерит в консоль

CC>А чо, чем symbol + fgColor + bgColor хуже чем Path2D?

Рендерит. Консольное приложение никак не может управлять тем, как будет выглядеть результат — это обязанность console host. Один шрифт на всю консоль и всё.
А вот рендерер pdf.js именно тем и занят, что выдает правильное сглаживание и хинтинг и тд.

P>>Близко к нему, но на мой взгляд послабее.

CC>По вспомогательным функциям типа редактирования, речь же была про отображение собственного готового PDF.

Я ушел с фоксита много лет назад. Когда уходил, фоксит был похуже.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.