М.Двач / Программирование

Этого треда уже нет.
Это копия, сохраненная 1 августа 2021 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

C++ тред #0x82 /cpp/ 30 июля, 00:01 2111351 В конец треда | Веб

24 Кб, 500x56252 Кб, 799x62192 Кб, 1080x566

Вместо шапки:
⚹ https://github.com/sosachbot/cppthreadhat/wiki

Ответы на вопросы:
⚹ https://en.cppreference.com/w/
⚹ https://www.cplusplus.com/reference/

Для указателей: ⚹
Прошлый тред: >>2054115 (OP)

Ответы13932438

2 30 июля, 00:34 2 2111380

Какой стандарт у вас нонче актуальный? Нужно ли знать предыдущие для его изучения?
мимо из мвп

Ответы2143

sage 3 30 июля, 00:41 3 2111393

>>2111351 (OP)
Опхуй, ты ебанулся? >>2080946 (OP)

Ответы1478

4 30 июля, 02:01 4 2111478

>>2111393
Треда нет в каталоге и он в бамплимите висит на задворках, какой-то закрытый клубасик для 2.5 инвалида.

Ответы1678

sage 5 30 июля, 10:39 5 2111678

>>2111478
Лол

6 30 июля, 16:16 6 2112143

>>2111380
Актуальный 17й, на подходе 20й.

7 30 июля, 18:08 7 2112253

как FizzBuzz решить, парни

Ответы22632612

8 30 июля, 18:12 8 2112263

>>2112253
Только на джаве решается
https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition

Ответы23802415

9 30 июля, 20:14 9 2112380

>>2112263
ТО ЧТО НУЖНО

25 Кб, 1016x512
10 30 июля, 20:47 10 2112415

>>2112263
Хм, а давно на гитхаб завезли навигацию по коду?

Ответы2427

11 30 июля, 20:56 11 2112427

>>2112415
а для чего оно надо?
на сайте для копипаста

Ответы2435

12 30 июля, 21:01 12 2112435

>>2112427
Не надо пуллить проект и запускать IDE, если хочется покопаться в чьих-нибудь исходниках. Со сниппетом на 50 строк таких проблем нет, но тут жаба блять.
Да и кодревью легче проводить.

13 30 июля, 21:06 13 2112438

>>2111351 (OP)
>laptop.png
Проиграл.

14 30 июля, 21:12 14 2112442

Насколько С++ быстрее С с решоткой?

Ответы24432444

15 30 июля, 21:16 15 2112443

>>2112442
Толсто.

Ответы2447

16 30 июля, 21:16 16 2112444

>>2112442
Не менее чем в 2 раза С++ быстрее, иногда разница набегает до 5-ти кратной.

Ответы24462448

56 Кб, 561x332
17 30 июля, 21:17 17 2112446

>>2112444

Ответы2464

18 30 июля, 21:18 18 2112447

>>2112443
>
>
Реально интересно. Разные источники дают разные ответы
Мнение анонов важнее всех

Ответы24542455

19 30 июля, 21:20 19 2112448

>>2112444
почему тогда не сляпают такой же крутой движок как юнити на крестах???

Ответы245224552615

20 30 июля, 21:26 20 2112452

>>2112448
Рантайм юнити и так на крестах, на шарпе там только API.

1,1 Мб, 1123x585
21 30 июля, 21:28 21 2112454

>>2112447
Чел С быстрее всего. С++ это тот же С только с классами, темлейтами и STL грубо говоря. Классы стоят дорого. Но быстрее кодить и расширять функционал корпоративных приложений. Языки становятся медленнее из-за того что хотят быстрее писать коммерческий код.

Сейчас похоже на скорость положили окончательно. Ну или отдельно нанимают С++ бога и делают С++ вставки, честно говоря не знаю. Было бы забавно увидеть в каком нибудь питоне вставку С++ а в ней asm вставку с байтаёбством.

Ответы24562478

22 30 июля, 21:29 22 2112455

>>2112447
Наивно реализованные алгоритмы без оптимизации могут показывать близкую производительность с маргинальным отрывом крестов. Но как раз выразительность и практические неограниченная свобода(язык спроектирован так, чтобы доверять программисту, он знает что делает) позволяют из крестов выжимать самые эффективные реализации и это все подкреплено очень глубокими оптимизациями внутри компиляторов, которые разрабатывают уже десятилетиями.
>>2112448
Почему же? Самый богатый и передовой в плане технологий движок Unreal Engine на крестах полностью. Да и в Unity на Шарпе только высокоуровневые вещи.

23 30 июля, 21:30 23 2112456

>>2112454
Он спрашивает не про C, а про C#.
> С с решоткой

Ответы2465

24 30 июля, 21:31 24 2112458

Что интересного пишут на плюсах, куда реально воткнуться в РФ с вышкой обычного вузика и без олимпиадного опыта?

Ответы2460

25 30 июля, 21:32 25 2112460

>>2112458
В Рашке все очень плохо. В Рашке зарабатывай на Жабе, ЖС, а кресты используй для хобби. Либо переезжай.

Ответы2467

26 30 июля, 21:35 26 2112464

>>2112446
Это кортинку пилили крестовики, только они могут так уебищно о простом

Ответы24702471

27 30 июля, 21:36 27 2112465

>>2112456
А ну тогда потеря 10% от С->C++ и еще 10 при переходе на C#

Ответы2466

28 30 июля, 21:37 28 2112466

>>2112465
Какая чушь.

Ответы2468

29 30 июля, 21:38 29 2112467

>>2112460
Ну у нас тот же Яндекс есть, в нем какой-то хайлоад на плюсах пишут. А переезжать куда? В Штаты? Не думаю, что в Европе ситуация сильно лучше чем у нас.

Ответы24732474

30 30 июля, 21:38 30 2112468

>>2112466
Аргументируй. Про первые 10% сам Страуструп сказал. Ну и это в среднем. Не знаю какое у тебя образование чтобы понимать что такое среднее значение.

Ответы2623

31 30 июля, 21:39 31 2112470

>>2112464
Поясни что на осях координат плиз?

32 30 июля, 21:40 32 2112471

>>2112464
Ты что, это же классический "ящик с усами", про который знает каждый, кто имеет крепкую университетскую базу!

33 30 июля, 21:40 33 2112473

>>2112467
Другой вопрос зачем переезжать если возможно дауншифтить в рахе.

34 30 июля, 21:43 34 2112474

>>2112467
В Яндекс юзают Go? По идее они тоже для поисковика его юзать.

35 30 июля, 21:47 35 2112478

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

Ответы24802482

36 30 июля, 21:53 36 2112480

>>2112478
Кресты не Жаба, которая вынуждает переход к абстракциям. В крестах абстракции только там, где они дают более эффективную реализацию. Ты не платишь за то, что не используешь.

Ответы2482

37 30 июля, 21:57 37 2112482

>>2112478

>С не может быть быстрее на комплексных задачах.
Что такое комплексные задачи?
C не может быть быстрее. Это С++ медленнее из за классов.

>>2112480
> Ты не платишь за то, что не используешь.
У классов есть механизм приватности. За него я и плачу.

Ответы2488

38 30 июля, 22:04 38 2112488

>>2112482
> У классов есть механизм приватности. За него я и плачу.
Платишь в рантайме за проверки, выполняемые в компайл-тайме?

Ответы2498

39 30 июля, 22:16 39 2112498

>>2112488
За создание классов с геттерами и сеттерами возможно. Если честно не знаю. Если С отличается от С++ по сути классами то это из за них. Поправьте если не так.

sage 40 31 июля, 02:53 40 2112611

Какой уебан додумался так написать номер треда? Тонну говна опу

41 31 июля, 02:58 41 2112612

>>2112253
>FizzBuzz
Чет0то почитал. блядь, я не понимаю почему каждое десятилетие появляется хуита которая орет что если не можешь в такую чушь, то не программист...
Раньше было "почему люки круглые а не квадратные"... Теперь это

Куда делись нормальные вопросы? например задача комивояжера (это хотя бы актуально и потребуется на практике)?
Нахуя нужна эта олимпиадная дрочь?

Да блядь современный программист вообще не математик. Его задача рисовать окошки и кнопочки, да данные дергать туда-сюда, и чтобы быстро. Какие блядь числа?

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

42 31 июля, 03:00 42 2112615

>>2112448
> же крутой движок как юнити на крестах???
Юнити на крестах написан. Шарп - это обвязка разработчика - редактор и игровые скрипты.

Ядро юнити - самые натуральные кресты.

Сейчас нет ни одного нормального движка написанного на шарпе. Страйд там мучается но никому не нужен

43 31 июля, 05:21 43 2112623

>>2112468
В каком году он это сказал?

44 31 июля, 10:42 44 2112704

Какие вундервафли пишут аноны?

Ответы2781

45 31 июля, 10:45 45 2112707

на чем выгоднее гуи писать: жаба, сисярп, Qt или DesktopApp в Visual Studio C++?

Ответы2730274834453467

46 31 июля, 11:07 46 2112730

>>2112707
Поясню тебе за Жабу.
На Жабе ГУИ умер.
Swing покойник, последний коммит в SwingX был 10 лет назад, причем его так и не приняли в мейнстрим и закопали вместе с репозиторием.
SWT безнадежно устарел, хотя коммунити Еклипса его подпирает костылями, но тщетно, ведь под капотом на Винде Win32 API, а попытки переписать на WPF уже 12 лет заканчиваются ничем. В итоге нормальной поддержки HiDPI так и нет.
JavaFX полуживая. Оракл ее закопал и выкинул из рантайма. Хотя это единственный инструмент для создания современного ГУЯ для Жабы. Пока поддерживается сообществом. API кривой, требует штудирования собственного языка разметки.
Есть надстройки JetBrains над Swing и хоть код открыт, но лицензия не свободная, а все завязано на платформу IntelliJ.

На крестах и шарпе у тебя нативный доступ к WPF, графический нашлепыватель форм в студии, вот это всё. Хочешь кросплатформу - есть активно развивающийся Qt с богатым набором и продвинутым нашлепываетелем форм, GTK в конце концов.

Ответы2773

47 31 июля, 11:25 47 2112748

>>2112707
>Qt
This. Это де-факто стандарт для построения гуев.
Гуи на жабе сдох, как уже выше сказали, гуи на сисярпе не кроссплатформенный.

Ответы2773

48 31 июля, 11:44 48 2112773

>>2112730
>>2112748
Спасибо!

49 31 июля, 11:55 49 2112781

>>2112704
Искал искал и не нашел. Возможно у Эккеля где-то в книге. Книга старая и возможно С++ уже быстрее. Нашел статью только чтобы как то оправдаться.

https://habr.com/ru/post/347688/

Ответы2810

274 Кб, 2000x3000
50 31 июля, 12:55 50 2112810

>>2112781
У сообщества Debian много лет существует проект бенчмарка языков.
Они выбрали набор из 10-ти компутационно тяжёлых задач, реализацию которых на своем любимом язычке модет прислать кто угодно, если она соответствуем входным/выходным даным и алгоритму.
Так вот, как C-господа не пыжатся, но таки чаще всего крестовики их обгоняют, причем иногда в полтора-два раза. Отличный показатель, что абстракции и дополнительные выразительные возможности на C++ компилятор разворачивает в более эффективный машинный код, чем чистую процедурщину на C, которая и так близка к машинной.
Время в секундах.

fannkuch-redux
C++ g++ #6 3.29
C gcc #5 7.58

n-body
C++ g++ 2.12
C gcc #9 2.18

spectral-norm
C gcc #6 0.40
C++ g++ #6 0.72

mandelbrot
C++ g++ #4 0.84
C gcc #6 1.27

pidigits
C gcc #6 0.59
C++ g++ #6 0.66

regex-redux
C gcc #5 0.80
C++ g++ #4 1.10

fasta
C++ g++ #8 0.77
C gcc #9 0.78

k-nucleotide
C++ g++ #2 1.93
C gcc 3.72

reverse-complement
C++ g++ #7 0.52
C gcc #6 0.86

binary-trees
C++ g++ #7 0.94
C gcc #2 1.54

Почитать код или заслать свой по ссылке: https://benchmarksgame-team.pages.debian.net/benchmarksgame/index.html

274 Кб, 2000x3000
50 31 июля, 12:55 50 2112810

>>2112781
У сообщества Debian много лет существует проект бенчмарка языков.
Они выбрали набор из 10-ти компутационно тяжёлых задач, реализацию которых на своем любимом язычке модет прислать кто угодно, если она соответствуем входным/выходным даным и алгоритму.
Так вот, как C-господа не пыжатся, но таки чаще всего крестовики их обгоняют, причем иногда в полтора-два раза. Отличный показатель, что абстракции и дополнительные выразительные возможности на C++ компилятор разворачивает в более эффективный машинный код, чем чистую процедурщину на C, которая и так близка к машинной.
Время в секундах.

fannkuch-redux
C++ g++ #6 3.29
C gcc #5 7.58

n-body
C++ g++ 2.12
C gcc #9 2.18

spectral-norm
C gcc #6 0.40
C++ g++ #6 0.72

mandelbrot
C++ g++ #4 0.84
C gcc #6 1.27

pidigits
C gcc #6 0.59
C++ g++ #6 0.66

regex-redux
C gcc #5 0.80
C++ g++ #4 1.10

fasta
C++ g++ #8 0.77
C gcc #9 0.78

k-nucleotide
C++ g++ #2 1.93
C gcc 3.72

reverse-complement
C++ g++ #7 0.52
C gcc #6 0.86

binary-trees
C++ g++ #7 0.94
C gcc #2 1.54

Почитать код или заслать свой по ссылке: https://benchmarksgame-team.pages.debian.net/benchmarksgame/index.html

Показать весь текст
Ответы3450

51 31 июля, 13:44 51 2112831

Посоны, а можно как-то к крестам прикрутить десктопный гуй на веб стеке? Типа как Electron но с крестами внутри?

Ответы28573454

52 31 июля, 13:56 52 2112857

>>2112831
Лучше Qt, есть ImGUI, но это если ты сможешь, лол

Ответы2880

53 31 июля, 14:06 53 2112880

>>2112857
Qt уродливый.

Ответы28842937

54 31 июля, 14:09 54 2112884

>>2112880
Я знаю, но из альтернатив мало чо интересного, IMGUI это то, что нашёл, окошко и прочую хрень там рисует OpenGL, быстро, но в документации надо копаться. Из плюсов, не нарушает классический цикл программы с while

55 31 июля, 14:15 55 2112893

https://ultralig.ht/
Нашел такую шнягу, пойду курить.
Есть оконный режим, в котором можно рисовать свой HTML-ный гуй. Надо только разобраться как происходит взаимодействие нативного кода с JS.

Ответы2897289929433456

56 31 июля, 14:16 56 2112897

>>2112893
А скринов результатов нету?

Ответы2902

57 31 июля, 14:18 57 2112899

>>2112893
Ещё есть такая штука: https://doc.qt.io/qt-5/qtwebengine-index.html

58 31 июля, 14:19 58 2112902

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

59 31 июля, 14:36 59 2112937

>>2112880
В Qt есть QML. Можно рисовать виджеты и контролы свободной формы. Десктопный Telegram на QML сделан, например.

Ответы3197

60 31 июля, 14:38 60 2112943

>>2112893
А с этой шнягой придется лепить кучу бойлерплейта на JavaScript.

61 31 июля, 18:12 61 2113197

>>2112937
Хули ты пиздишь? Они там пикселы трахают:
https://github.com/telegramdesktop/tdesktop/blob/dev/Telegram/SourceFiles/ui/cached_round_corners.cpp
250 строк кода для скругленных углов.
https://github.com/telegramdesktop/tdesktop/blob/dev/Telegram/SourceFiles/ui/grouped_layout.cpp
И пишут собственные Layout-менеджеры, что вообще пиздец.

62 31 июля, 23:53 62 2113445

>>2112707
Если GUI тяжёлый в плане количества контролов и логики их взаимодействия, то под вендой C#, кросс - Qt. Во всех остальных случаях удобнее Web и жопаскрипт.

63 31 июля, 23:58 63 2113450

>>2112810
С-господа это по сути слесари, которые возятся с железом. Среди них попросту нет людей, способных нормально написать матаний. А вот писатели на фортране могут дать пососать всем остальным, благо язык позволяет.

64 1 авг, 00:13 64 2113454

>>2112831
Да. Бэкенд на плюсах заворачивается в nodejs модуль и цепляется в виде зависимости.
Либо фронт (react) крутить на nginx и организовать общение с бэком (демон на c++) через http запросы.

P.S. Qt хуета за редким исключением.

Ответы3456

65 1 авг, 00:21 65 2113456

>>2112893
Короче покурил, не готово для продакшена в GUI:
- нету субпиксельного рендеринга шрифтов, еб твою мать
- нету нативного диалога выбора файла, можно свой костыль написать, но еб твою мать, костыль для собтвенной генерации миниатюр слишком дорогой
- нету drag'n'drop-а, что пиздец
- нет HTML5 Video
- нету Canvas-ов!! последнее вообще убило. У HTML5 движка(а под капотом обрезок WebKit), заточенного под GUI нету Canvas-ов. еб твою мать
И это только то, от чего пригорело мне.

Что понравилось: есть нативная поддержка окон, при чем отрисовка DirectX, OpenGL, Vulkan в зависимости от платформы. Есть колбеки из DOM элементов, DOM можно дергать прямо из Си-шного кода, это оочень круто, посоны, есть нормальный интероп с JS.

Если допилят будет пушка ракета!! Обещают что в следующей версии VS Code будет заводиться под Ultralight. Что же, посмотрим.

>>2113454
Интероп с JS кодом там через жопу и ведро бойлерплейта, доступа к DOM-у нет вообще. Ебал я ваш Электрон в таком виде на крестах.

Ответы34653477

66 1 авг, 00:40 66 2113465

>>2113456
Если накуриться в хлам, то можно взять Chromium Embedded Framework. Но там очень низкоуровневый API. Зато есть интероп нормальный и колбеки с JS в нативный код.
Но я не готов на такие жертвы для pet проекта.

67 1 авг, 00:41 67 2113467

>>2112707
Выгоднее в плане денег? Qt и никак иначе. У них ща целевое назначение - auto electronics, рисование гуёв для автомобильных бортовых компьютеров, за это неплохо башляют даже в мазер раше.

16 Кб, 225x225
68 1 авг, 00:52 68 2113470

эй, парни, а в ваши кресты завезли Юникод наконец, или вы до сих пор wchar-ы насилуете?

Ответы3518

69 1 авг, 01:14 69 2113477

>>2113456
>доступа к DOM-у нет вообще

Зачем бэкенду на плюсах знать про DOM? Бэк вообще не должен знать про особенности внутреннего устройства фронта будь то wpf, qt, mfc и прочее.

70 1 авг, 04:38 70 2113518

>>2113470
Да вроде еще до 11 стандарта завезли. Еботня с wchar вроде только в винде тогда была, да и то потому, что винда тогда в принципе с юникодом не дружила.

71 1 авг, 09:36 71 2113571

Помогите разобраться с этим SDK, интересует в частности B288
https://github.com/pocketbook/SDK_6.3.0/tree/5.19
Как начать с ним работать вообще? Хочу написать приложение для Pocketbook 740
Я поставил виртуалку с линухом, ввёл эту хуету
>$SDK_ROOT_DIR/bin/update_path.sh
А дальше что?

Тред утонул или удален.
Это копия, сохраненная 1 августа 2021 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

« /pr/В начало тредаВеб-версияНастройки/a//b//mu//s//vg/Все доски

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion