Re[10]: C++ времени компиляции - как отлаживать?
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 07.07.23 16:31
Оценка:
Здравствуйте, Serginio1, Вы писали:

S> посмотри сколько приложение нормальное запускается. Намного больше 5-7 секунд.


В нормальном приложении тупо нечему запускаться дольше долей секунды, максимум — одной-двух секунд. Если приложению нужно больше — оно просто кривое.

S> Причем все кэшируется. И следующий запрос уже работает значительно быстрее.


Да, это признание того, что большинство разработчиков не в состоянии делать правильные приложения, и надо хоть как-то исправлять ситуацию с кривыми.
Re[11]: C++ времени компиляции - как отлаживать?
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 07.07.23 18:20
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:


S>> посмотри сколько приложение нормальное запускается. Намного больше 5-7 секунд.


ЕМ>В нормальном приложении тупо нечему запускаться дольше долей секунды, максимум — одной-двух секунд. Если приложению нужно больше — оно просто кривое.

Угу. Посмотри например на 1С.
S>> Причем все кэшируется. И следующий запрос уже работает значительно быстрее.

ЕМ>Да, это признание того, что большинство разработчиков не в состоянии делать правильные приложения, и надо хоть как-то исправлять ситуацию с кривыми.

Ну вот на мобильных устройствах практически нет вэб приложений. Значит они все кривые?
Да страницу легче загрузить, но нужно её отпарсить, вычислить все css и наконец отрендерить. Посмотри сколько страница занимает места.
По моему это тоже криво. Нежели загрузить уже готовый код. Опять же если мы говорим о 5g то 5-7 секунд превращаются в доли секунды.
и солнце б утром не вставало, когда бы не было меня
Re[11]: C++ времени компиляции - как отлаживать?
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 07.07.23 18:24
Оценка:
Здравствуйте, Shmj, Вы писали:

S>>>Медленно, просто нервирует. Понятно что разработчику как бы кажется что все-равно круто, ведь там столько всего под капотом, что можно и потерпеть 5-7 секунд. Но нет, пользователю это медленно.

S>> Угу посмотри сколько приложение нормальное запускается. Намного больше 5-7 секунд. Кстати на тех же мобилках вэб приложения практически отсутствуют. Все нативно.
S>> Причем все кэшируется. И следующий запрос уже работает значительно быстрее.

S>Пользователи будут голосовать ногами.

Если контент пользователю интересен, то он может ждать сколько угодно, главное потом все быстро и надежно.
S>> На самом деле когда прикрутят GC к WebAssembly да еще и построение DOM то все может выглядеть и по другому. Просто все течет и эволюционирует. А вот писать на С++ для всего ...

S>C++ тоже постепенно изменяется.

Угу. Пока макросы, шаблоны с перегрузкой операторов и прочая генерацией кода не исчезнут он останется тем же языком.

А вот управляемые языки для АОТ кстати используют генерацию C++ и компиляторы С++. Скорее всего в таком качестве он более интересен.
и солнце б утром не вставало, когда бы не было меня
Re[2]: C++ времени компиляции - как отлаживать?
От: Ip Man Китай  
Дата: 07.07.23 19:01
Оценка:
Здравствуйте, vsb, Вы писали:


vsb>Лично я считаю, что код времени компиляции в общем случае это плохо.



Код времени компиляции — это круто и одно из основных преимуществ C++

Если не нравится метапрограммирование — пишите на Java, там дженерики стирают тип
Re: C++ времени компиляции - как отлаживать?
От: Muxa  
Дата: 07.07.23 19:23
Оценка:
S>Но, простите, как это отлаживать? Если обычный С++ можно в дебагере пройтись по шагам и все станет ясно — то тут мы просто имеем ошибку без всякой возможности понять причину ее возникновения (окромя как догадаться).

Ты программист или где?
Такой код тоже можно отлаживать в дебагере. Собираешь себе компилятор с дебажными символами и запускаешь компиляцию своего кода с компайл-тайм вычислениями под дебагером.

gdb --args clang-debug -c compile-time-code.cpp
Отредактировано 07.07.2023 19:44 Muxa . Предыдущая версия .
Re[3]: C++ времени компиляции - как отлаживать?
От: vsb Казахстан  
Дата: 07.07.23 20:25
Оценка:
Здравствуйте, Ip Man, Вы писали:

IM>Если не нравится метапрограммирование — пишите на Java, там дженерики стирают тип


И это правильно, на С++ можно писать только от большой нужды. Один из худших языков в индустрии. Я бы даже сказал, С++ это одна из самых больших проблем IT.
Re[12]: C++ времени компиляции - как отлаживать?
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 07.07.23 21:07
Оценка:
Здравствуйте, Serginio1, Вы писали:

S>Посмотри например на 1С.


Зачем мне на него смотреть? Это все из серии "адвокат лжет, если у него открыт рот". Если тот 1С запускается дольше пары секунд — значит, он кривой, без вариантов. И это никак не связано с его способностью выполнять свою основную работу. Многие кривые изделия успешно справляются со своими задачами, не переставая быть кривыми.

S>Ну вот на мобильных устройствах практически нет вэб приложений. Значит они все кривые?


Не понял, какая связь тормознутости с типом приложения. Приложение любого типа можно сделать прямым и достаточно быстрым, а можно — кривым и медленным.

S>Да страницу легче загрузить, но нужно её отпарсить, вычислить все css и наконец отрендерить.


Потребные для этого ресурсы очень сильно зависят от того, как страница построена. Можно построить очень по-разному.

S>Посмотри сколько страница занимает места.


В тексте, или в том виде, в который ее превращает браузер?

S>По моему это тоже криво. Нежели загрузить уже готовый код.


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

S>Опять же если мы говорим о 5g то 5-7 секунд превращаются в доли секунды.


Ну дык, коню понятно, что почти все это тестируется и отлаживается сугубо на топовом железе с SSD, гигабитными локалками и оптикой в интернет. Ведь разработчик не будет себя уважать, ежели прогнется под юзеров с другой конфигурацией.
Re[2]: C++ времени компиляции - как отлаживать?
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 07.07.23 21:10
Оценка: :)
Здравствуйте, Muxa, Вы писали:

M>Ты программист или где?

M>Такой код тоже можно отлаживать в дебагере. Собираешь себе компилятор с дебажными символами и запускаешь компиляцию своего кода с компайл-тайм вычислениями под дебагером.

M>
M>gdb --args clang-debug -c compile-time-code.cpp
M>


Я тоже программист, можно мне командную строку для сборки MSVC++ под винду?
Re[4]: C++ времени компиляции - как отлаживать?
От: Ip Man Китай  
Дата: 07.07.23 22:14
Оценка:
Здравствуйте, vsb, Вы писали:

vsb> Я бы даже сказал, С++ это одна из самых больших проблем IT.


Да ну ладно. Сейчас C++ это нишевый и непопулярный язык, с ограниченным числом вакансий и всё меньшим числом нормальных разработчиков.

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

Касательно хейтеров C++ — хз, я знал отличных инженеров, которые ненавидели C++ и таких же отличных инженеров-фанатов языка. Наверное, нет правильного ответа на вопрос "хороший ли язык C++".

p.s. happy Friday, я пьяный нахуй
Re[5]: C++ времени компиляции - как отлаживать?
От: vsb Казахстан  
Дата: 07.07.23 22:20
Оценка:
Здравствуйте, Ip Man, Вы писали:

vsb>> Я бы даже сказал, С++ это одна из самых больших проблем IT.


IM>Да ну ладно. Сейчас C++ это нишевый и непопулярный язык, с ограниченным числом вакансий и всё меньшим числом нормальных разработчиков.


Умирать он не собирается, появляются всё новые проекты на нём. Да и те, что написали. Это всё куча багов, куча уязвимостей. В каждой ОС всё от начала до конца на C/C++ за очень редким исключением. Я жму на клавиатуре кнопку, она по по блютузу улетает в макбук, по всему стеку доходит до хрома, потом уходит в видеокарту и на всём этом пути работают миллионы строк С/С++. И это не изменится ни через 10 лет, ни через 50.

Если бы IT пошло по пути безопасных языков, с комплайл и рантайм проверками в 80-х, если бы C был примерно таким же явлением, как сейчас ассемблер, если бы процессоры проектировали для того, чтобы все эти проверки работали достаточно быстро, огромного числа багов можно было бы избежать. И в прошлом и в будущем.

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


А как я могу с ним не работать, если мне надо работать с интерфейсами ОС, которые написаны на C. Это предлагать не работать с JS, работая с браузером. Но если JS не фатально плох и все его проблемы в целом уже исправили, а те, что исправить невозможно — можно запомнить, то с C++ так не получится.

Я не в абстрактном мире живу. Вот сейчас мне надо кучку кода запускать одновременно в Go, в браузере, в Java, в node.js. На C это и буду делать, ибо оно вкомпилируется бесшовно во всё это, с минимальными усилиями и с поддержкой тулзов. Ни на чём другом это не разумно делать. Но не потому, что C хороший, а потому, что эти тулзы писали последние 30 лет. И первое, с чем делает интеграцию любой ЯП, это с C.

IM>Касательно хейтеров C++ — хз, я знал отличных инженеров, которые ненавидели C++ и таких же отличных инженеров-фанатов языка. Наверное, нет правильного ответа на вопрос "хороший ли язык C++".


Я думаю, что те, кто специализируются на C++, без хлеба с икрой до старости не останутся.
Отредактировано 07.07.2023 22:23 vsb . Предыдущая версия .
Re[12]: C++ времени компиляции - как отлаживать?
От: Shmj Ниоткуда  
Дата: 08.07.23 04:16
Оценка:
Здравствуйте, Serginio1, Вы писали:

S> Если контент пользователю интересен, то он может ждать сколько угодно, главное потом все быстро и надежно.


Т.е. вы как бы издеваетесь над пользователем — тебе нужно ты и жди.

А что если кто-то другой предоставит то что ему нужно, но ждать не потребуется? И вы НИЧЕГО сделать не сможете — ваш бизнес, даже если это многомиллиардная корпорация — придется закрывать. Или переписать на другом языке, где ждать не нужно.

Тут фишка в том что НИЧЕГО не поможет — просто нет способа сделать нормально за любые деньги.

Если на C++ будет стоить дороже сама разработка — то на C# за миллиарды денег — ничего нельзя изменить в принципе.
Re[4]: C++ времени компиляции - как отлаживать?
От: Shmj Ниоткуда  
Дата: 08.07.23 04:25
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>И это правильно, на С++ можно писать только от большой нужды. Один из худших языков в индустрии. Я бы даже сказал, С++ это одна из самых больших проблем IT.


А как же JS?

Тут дело вот в чем — сама наша реальность кривая, она нам не нравится. Чем лучше язык отражает свойства этой реальности — тем он больше вызывает раздражения, но тем проще и лучше на нем получается решать реальные проблемы — тем более популярным он становится.
Re[5]: C++ времени компиляции - как отлаживать?
От: vsb Казахстан  
Дата: 08.07.23 04:28
Оценка: :)
Здравствуйте, Shmj, Вы писали:

S>А как же JS?


JS — нормальный язык. К нему у меня претензий особо нет. Есть некоторые курьёзные решения, но в целом это ерунда и на практике никак не сказывается.
Re[6]: C++ времени компиляции - как отлаживать?
От: so5team https://stiffstream.com
Дата: 08.07.23 06:24
Оценка: +2
Здравствуйте, vsb, Вы писали:

vsb>На C это и буду делать, ибо оно вкомпилируется бесшовно во всё это, с минимальными усилиями и с поддержкой тулзов. Ни на чём другом это не разумно делать.


Не сомневаюсь в том, что на C++ это все можно было бы сделать и быстрее, и проще, и надежнее. Но с такой ненавистью к C++ не получится, да. Поэтому лучше наговнякать еще несколько килотонн лапши на чистой Сишечке, чтобы это все потом текло и падало.
Re[3]: C++ времени компиляции - как отлаживать?
От: rg45 СССР  
Дата: 08.07.23 07:20
Оценка: :))
Здравствуйте, Евгений Музыченко, Вы писали:

M>Здравствуйте, Shmj


M> Ты программист или где?


ЕМ>Я тоже программист . . .


Угу, у нас тут два программиста — Shmj и Музыченко. Пальму никак не поделят.
--
Не можешь достичь желаемого — пожелай достигнутого.
Отредактировано 08.07.2023 11:14 rg45 . Предыдущая версия . Еще …
Отредактировано 08.07.2023 7:27 rg45 . Предыдущая версия .
Отредактировано 08.07.2023 7:26 rg45 . Предыдущая версия .
Отредактировано 08.07.2023 7:25 rg45 . Предыдущая версия .
Отредактировано 08.07.2023 7:24 rg45 . Предыдущая версия .
Отредактировано 08.07.2023 7:22 rg45 . Предыдущая версия .
Отредактировано 08.07.2023 7:21 rg45 . Предыдущая версия .
Отредактировано 08.07.2023 7:21 rg45 . Предыдущая версия .
Re[13]: C++ времени компиляции - как отлаживать?
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 08.07.23 07:28
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:


S>>Посмотри например на 1С.


ЕМ>Зачем мне на него смотреть? Это все из серии "адвокат лжет, если у него открыт рот". Если тот 1С запускается дольше пары секунд — значит, он кривой, без вариантов. И это никак не связано с его способностью выполнять свою основную работу. Многие кривые изделия успешно справляются со своими задачами, не переставая быть кривыми.

Ну значит пусть будут кривыми, но справляться со своими обязанностями. Конкуренция. Были бы плохими то их вытеснили прямые приложения.

S>>Ну вот на мобильных устройствах практически нет вэб приложений. Значит они все кривые?


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

Ну как бы парсинг HTML,CSS, JS это ну никак от тпа приложения не зависит?

S>>Да страницу легче загрузить, но нужно её отпарсить, вычислить все css и наконец отрендерить.


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

Угу сам браузер жрет ресурсы. Но вот факт, что на мобильных устройствах практически не используют вэб приложения.
S>>Посмотри сколько страница занимает места.

ЕМ>В тексте, или в том виде, в который ее превращает браузер?

Конечно в который превращает браузер.

S>>По моему это тоже криво. Нежели загрузить уже готовый код.


ЕМ>Так ведь и готовый код умудряются делать так, что он грузится до минуты. Причем общий вид морды показывает довольно быстро, но остальное время до окончания загрузки на нее можно только смотреть, делать ничего нельзя.

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

S>>Опять же если мы говорим о 5g то 5-7 секунд превращаются в доли секунды.


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


Ты упустил 5g. Все течет и все меняется. Я помню когда принять 100 кб на модемах без докачки было проблемой . Помню пол дня ждали.
и солнце б утром не вставало, когда бы не было меня
Re[13]: C++ времени компиляции - как отлаживать?
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 08.07.23 07:36
Оценка:
Здравствуйте, Shmj, Вы писали:


S>> Если контент пользователю интересен, то он может ждать сколько угодно, главное потом все быстро и надежно.


S>Т.е. вы как бы издеваетесь над пользователем — тебе нужно ты и жди.


S>А что если кто-то другой предоставит то что ему нужно, но ждать не потребуется? И вы НИЧЕГО сделать не сможете — ваш бизнес, даже если это многомиллиардная корпорация — придется закрывать. Или переписать на другом языке, где ждать не нужно.


Ну это же основа эволюции. Но тут вопрос что важнее подождать 5-7 секунд или контент?
На том же блазоре проще создавать приложения. Одна кодовая база для сервера и клиента итд.

S>Тут фишка в том что НИЧЕГО не поможет — просто нет способа сделать нормально за любые деньги.


S>Если на C++ будет стоить дороже сама разработка — то на C# за миллиарды денег — ничего нельзя изменить в принципе.

Не понял? Смотрим на популярность С++ и C#. Понятно, что стоимость разработки на C# значительно дешевле.
Это и интеллисенс, отладка, мощность и выразительность языка.
https://survey.stackoverflow.co/2023/#most-popular-technologies-language-prof
и солнце б утром не вставало, когда бы не было меня
Re[14]: C++ времени компиляции - как отлаживать?
От: Shmj Ниоткуда  
Дата: 08.07.23 07:41
Оценка:
Здравствуйте, Serginio1, Вы писали:

S> Ну это же основа эволюции. Но тут вопрос что важнее подождать 5-7 секунд или контент?

S> На том же блазоре проще создавать приложения. Одна кодовая база для сервера и клиента итд.

А что если ваш конкурент даст и контент и не нужно ждать 5-7 сек?

И вот приходит ваш начальник и говорит — ребят, мы получили 15 млн. долларов инвестиций. Теперь нужно сделать так, чтобы сайт загружался за 0.2 сек.

Ваши действия?

S>>Если на C++ будет стоить дороже сама разработка — то на C# за миллиарды денег — ничего нельзя изменить в принципе.

S> Не понял? Смотрим на популярность С++ и C#. Понятно, что стоимость разработки на C# значительно дешевле.

Только см. пример выше. Можно сделать дешево, но будут неустранимые принципиально тормоза.

На C++ сделаете на 50% дороже, скажем. Однако тормозов не будет. Попытаетесь сделать подобное на C# — окажется что даже за +1000% это не возможно в принципе.

S>Это и интеллисенс, отладка, мощность и выразительность языка.

S>https://survey.stackoverflow.co/2023/#most-popular-technologies-language-prof

Тут https://www.tiobe.com/tiobe-index/ С++ — опережает. Но дело даже не в этом. Интеллисенс и отладка есть и в С++. Мощности хоть отбавляй.

Тут дело в другом — часто на C# даже за +10000% надбавку денег к проекту — ну не получится реализовать то, что можно на С++. К примеру, те же 5-7 сек. загрузки убрать.
Re[15]: C++ времени компиляции - как отлаживать?
От: rg45 СССР  
Дата: 08.07.23 07:46
Оценка: +1 :)))
Здравствуйте, Shmj, Вы писали:

S>И вот приходит ваш начальник и говорит — ребят, мы получили 15 млн. долларов инвестиций. Теперь нужно сделать так, чтобы сайт загружался за 0.2 сек.


S>Ваши действия?


А какие тут могут быть варианты? Нужно прямиком идти на РСДН и попросить пример кода, чтоб просто глянул на экран
Автор: Shmj
Дата: 01.07.23
— и готово решение.
--
Не можешь достичь желаемого — пожелай достигнутого.
Re[15]: C++ времени компиляции - как отлаживать?
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 08.07.23 07:53
Оценка:
Здравствуйте, Shmj, Вы писали:


S>> Ну это же основа эволюции. Но тут вопрос что важнее подождать 5-7 секунд или контент?

S>> На том же блазоре проще создавать приложения. Одна кодовая база для сервера и клиента итд.

S>А что если ваш конкурент даст и контент и не нужно ждать 5-7 сек?

Если бы да бы. Нужна прежде всего скорость разработки и функционал. Это сейчас ты ждешь 5-7 секунд. Через год уже нет.
Развиваются как эффективность кода, так и обрезание лишнего функционала, сжатие и скорсть интернета.

S>И вот приходит ваш начальник и говорит — ребят, мы получили 15 млн. долларов инвестиций. Теперь нужно сделать так, чтобы сайт загружался за 0.2 сек.


S>Ваши действия?

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

S>>>Если на C++ будет стоить дороже сама разработка — то на C# за миллиарды денег — ничего нельзя изменить в принципе.

S>> Не понял? Смотрим на популярность С++ и C#. Понятно, что стоимость разработки на C# значительно дешевле.

S>Только см. пример выше. Можно сделать дешево, но будут неустранимые принципиально тормоза.

Вот для тебя это неустранимые тормоза, а для 80% вполне нормально
S>На C++ сделаете на 50% дороже, скажем. Однако тормозов не будет. Попытаетесь сделать подобное на C# — окажется что даже за +1000% это не возможно в принципе.
Ну вот практика показывает, хотя на C++ быстрее в основном кодируют на Java и C#

S>>Это и интеллисенс, отладка, мощность и выразительность языка.

S>>https://survey.stackoverflow.co/2023/#most-popular-technologies-language-prof

S>Тут https://www.tiobe.com/tiobe-index/ С++ — опережает. Но дело даже не в этом. Интеллисенс и отладка есть и в С++. Мощности хоть отбавляй.

Ну тиобе то извесный своей достоверностью сайт. JS аж на 7 месте! И Бэйсик опережает JS! А TS на 44 месте!
S>Тут дело в другом — часто на C# даже за +10000% надбавку денег к проекту — ну не получится реализовать то, что можно на С++. К примеру, те же 5-7 сек. загрузки убрать.
Да ну? Еще раз я тебе показал пример урезания и сжатия. Второе можно показать некий функционал загружая минимальный контент для показа. Который может быть на любом языке и технологиях. Все остальное в фоне.
Пока ты сморишь на начальную страницу нужный код уже погрузится.
Вариантов куча.
и солнце б утром не вставало, когда бы не было меня
Отредактировано 08.07.2023 7:56 Serginio1 . Предыдущая версия . Еще …
Отредактировано 08.07.2023 7:55 Serginio1 . Предыдущая версия .
Отредактировано 08.07.2023 7:54 Serginio1 . Предыдущая версия .
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.