- Январский рейтинг языков программирования TIOBE. Сишечка приуныла
почти на 5%. Также другие рейтинги. Evgeny_CD(1 знак., 16.01.2022 15:31, dao, ссылка)
- Бесплатные Oracle Cloud серверы и Mikrotik — Site-to-Site VPN Evgeny_CD(1 знак., 16.01.2022 15:14, dao, ссылка)
- 20 Smaller yet Handy C++20 Features Evgeny_CD(1 знак., 11.01.2022 19:16, dao, ссылка, полностью)
- А что все так синтаксис С++ ругают? Там всего несколько вещей надо
знать: VladislavS.(1490 знак., 15.01.2022 12:23 - 15:24)
- Люди даже блудливый С-шный typedef, запомнить в котором порядок
следования определения и определяемого я так и не смог, заменили на
ясный и понятный using. Добавив ему ещё возможностей по пути, но то
такое. - VladislavS.(15.01.2022 12:59)
- Вы не пробовали преподавать? Серьезно, у Вас, похоже, талант! - Evgeny_CD(15.01.2022 12:59)
- И тем не менее. Cкpипaч(215 знак., 15.01.2022 12:44, ссылка)
- *У опытных программистов там еще type_cast намешано и
квалификаторов. Смотрите, в C есть static, inline, const, volatile, extern. Что нам С++ добавляет? auto да constexpr (и его продолжение consteval и constinit). Из-за двух новых квалификаторов пропало понимание? VladislavS.(125 знак., 15.01.2022 13:26)
- Ну вложенный и что? Что поменяется если шаблон шаблона будет? Как
был тип в <> , а данные в () так и остались. Все те же
языковые конструкции, которые можно применять просто, а можно
сложно. VladislavS.(513 знак., 15.01.2022 12:51)
- Там есть хороший функционал по инициализации полей структур и
битовых полей. Для МК проектов это полезно. - Costic(13.01.2022 12:08)
- Как раз хорошая статья на хабре про это, удобная штука. Но
сколько-же писанины для этого надо. Andreas(1 знак., 13.01.2022 13:21, ссылка)
- Вы должны понимать, что в статье вам показали около 20% кода. Там
TypeList прячется в библиотеке. А его метод сортировки это суровый
МЕТОД. - VladislavS.(13.01.2022 15:02)
- Спасибо! Шикарно - Evgeny_CD(13.01.2022 13:53)
- И все это только потому, что автор не знает как положить данные в
нужную область памяти. - AlexG(15.01.2022 05:58)
- Ну вы же опять ничего не поняли! Автор как раз знает как это
расположить в памяти, но сделал так, что этим будет занимается
компилятор. Он лишь в удобном для себя порядке определит сущности,
а компилятор их отсортирует, построит дерево, разместит во флэшь. - VladislavS.(15.01.2022 09:16)
- Сам он написал "Также к своему стыду признаюсь, что так и не понял,
можно ли статический массив разместить во Flash, а доступ к нему
получать в runtime?" AlexG(7 знак., 15.01.2022 12:08, ссылка)
- возникает вопрос, а сколько там этих сущностей? если всего
десяток-другой - то смысл городить такой страшный код? а если их
тыща - они что, будут все в коде прописаны? ну, чтобы их компилятор
мог отсортировать. - Mahagam(15.01.2022 11:44)
- Да даже если меньше десятка, программист просто описывает сущности,
а компилятор делает с ними то что надо. Любая ручная работа это и
дополнительное время, и источник ошибок. А действия могут быть как
просто муторные, так и вычислительно сложные. Компилятор не устаёт
и не ошибается. - VladislavS.(15.01.2022 12:12)
- Никто не заставляет втаскивать исходные данные внутрь кода. Это
могут быть отдельные файлы (сюрприз, даже на однокристалках),
сформированные самописной приблудой, выявляющей (еще один сюрприз!)
ошибки в этих данных. - Cкpипaч(15.01.2022 15:34)
- Вы всё с ног на голову поставили. Не заставляют втаскивать внутрь,
зато заставляют вытаскивать наружу. Не могут быть отдельные файлы,
а должны быть отдельные файлы. Приблуду надо написать, сделать
чтобы она везде работала и таскать с кодом, иначе не взлетит. А
компилятор С++, в отличии от приблуды, работает везде. Ошибки в
данных проверяются и там, и там. Получается, законченный код,
который нужно просто скомпилировать, против какого-то конструктора,
который ещё надо VladislavS.(371 знак., 15.01.2022 15:59)
- расписать все те шаблоны и классы - ручная работа и дополнительное
время. замечу - оплачиваемое. и источник ошибок. - Mahagam(15.01.2022 13:31)
- Глянул его TypeList. Слабовато. Уже не Loki, но ещё не С++17. VladislavS.(367 знак., 13.01.2022 15:54)
- там пока один комментарий с хорошим вопросом. можете ответить? - Mahagam(13.01.2022 13:57)
- Кто первый начал? Классный наброс! - VladislavS.(12.01.2022 13:23)
- Применяете? Я потихоньку начал VladislavS.(478 знак., 12.01.2022 07:32)
- brainfuck? - BlackPrapor(12.01.2022 09:14)
- +1 - Cкpипaч(12.01.2022 13:44)
- +1 - Mahagam(12.01.2022 12:30)
- +1 - Costic(12.01.2022 11:37)
- Ещё пару лет назад делал все тоже самое + писал парсер на питоне
для xml из cubeMX, чтобы автоматом генерить портянки со списком
портов и gpio на них. Потом пришлось забить на это из-за дефицита -
семейств контроллеров стало слишком много, под всё библиотек не
напишешь. Сейчас дроблю программу на bsp и логику, библиотеки беру
от вендора. Кривые, да, ну и хрен с ним. - evgeniy1294(12.01.2022 09:07)
- Вот смотрю я на это и возник такой вопрос - мне одному синтаксис
современного C++ кажется малопонятным и трудночитаемым? Кто
использует его альтернативы (Rust, Zig, D и т.п.) - их исходники
читать проще или это проблема всех современных языков из-за их
большого количества поддерживаемых фич? - arhiv6(12.01.2022 08:02)
- Синтаксис раста ещё более всрат. Остальное - что-то совсем
маргинальное. - evgeniy1294(12.01.2022 09:08)
- Наоборот, современный cpp позволяет сильно проще писать и
соответственно читать сложные программы. Во времена Александреску
код, делающий меньшее, вообще нечитаем был. А непонимание вызвано
всего лишь незнанием языка. Это только кажется, что зная С можно
С++ понимать. Это другой язык, его надо изучить, чтобы понимать
написанное. - VladislavS.(12.01.2022 08:17)
- Знать надо C++ или его стандартную библиотеку? Или Вы не делаете
различий между ними? VVB(529 знак., 12.01.2022 08:46 - 12:11)
- В основном сам язык. Стандартную библиотеку тоже, желательно. Вот в
данном примере применено два шаблона из std. На них построена
работа функции. Но вся синтаксическая сложность как раз не в них. А
в вариативном шаблоне и вариатвной шаблонной лямбде, а это
синтаксис языка, а не стандартной библиотеки. Давайте я поясню что
там написано, а вы скажете насколько просто это на С будет
написать. VladislavS.(2277 знак., 12.01.2022 09:23 - 09:29)
- Спасибо.
Я в ужасе. Ждем появления отладчиков, позволяющих выполнять компиляцию в пошаговом режиме. Cкpипaч(447 знак., 14.01.2022 11:35 - 11:47)
- С++ позволяет больше информации об объекте использовать на этапе
компиляции. Он позволяет, но не обязывает писать программы для
компилятора. Хочу показать простой пример, который можно запросто
реализовать на препроцессоре. VladislavS.(810 знак., 14.01.2022 22:27, ссылка)
- Ну и ржака-то в том, что шаблонное метапрограммирование C++ это как
раз, не "знание об объекте в одном месте", а порой разбросано по
файлу и даже ряду файлов. - RxTx(15.01.2022 00:38)
- Касаемо последней фразы - можно поспопорить. Напоминаю собравшимся
что термин "метапрограммирование" можно понимать как препроцессирование программ. Или что то же самое, программной манипуляцией фрагментами других
программ. (Если этим способен заниматься сам язык над собой же, то
это называется рефлексией). Представим, что препроцессированием,
оно же метапрограммированием занимается какой-то специально
созданный язык и соответственно, существует отдельная программа, RxTx(743 знак., 15.01.2022 00:22)
- Слово "инкаплулировано" означает "спрятано"? :) - Cкpипaч(14.01.2022 22:45)
- На меня давит опыт разработки на Модула-2. Без
метапрограммирования. Cкpипaч(237 знак., 14.01.2022 22:42)
- Не подсказывайте им ответы. Так они и make тоже запихнут внутрь
плюсов. Это чорная дыра, которая может только разрастаться и
поглощать всё вокруг себя. - SciFi(14.01.2022 11:37)
- Спасибо за терпение к столь разношерстному сообществу, как наше.
Почерпнул много нового из Ваших ответов! - VVB(14.01.2022 11:13)
- Сторонний человек может подумать о шизофрении. Извините. Как
минимум оверинжиниринг. Если я правильно понял задачу, то для её
решения напрашивается std::map. А на С можно сделать всё, как и на
асме, это чисто в теории. А на практике - через массив пинов. - Costic(12.01.2022 11:43)
- У меня напрашивается только один комментарий-вопль: "ДЕРЖИТЕ
НАРКОМАНА!" symbions(304 знак., 12.01.2022 10:48)
- Как уже сказали, размер шаблона никак не связан с размером
результирующего кода. Он может вычисляться в несколько констант и
наоборот сокращать выхлоп. Это будет работать даже на тиньке. - VladislavS.(12.01.2022 10:58)
- аттини надо программить в хексе, как полагается настоящим мущщинам! - SciFi(12.01.2022 10:52)
- Размер шаблона никак не связан с размером кода. Шаблоны мощная
штука, понять их сильно не просто. Я вот не шибко силен в
понимании. - Evgeny_CD(12.01.2022 10:51)
- Я объясню. RxTx(4409 знак., 14.01.2022 22:16 - 22:45)
- Верно лишь отчасти. Когда земля была ещё чуть тёплой, программисты
заметили, что автоматическим выведением типов с помощью шаблонов
можно управлять. Так же, можно управлять ходом компиляции с помощью
технологии SFINAE. Вместе они (template + SFINAE) начали порождать
монстров типа Loki. Но сапиенс на то и хомо, что решил с этим
бороться. В языке появились средства вычислений на этапе компиляции
без шаблонов. Заодно они фактически заменили препроцессор на более
качественном VladislavS.(813 знак., 14.01.2022 22:57, ссылка, ссылка)
- Страуструп Дизайн и Эволюция C++.djvu Довольно малоизвестная книга,
проливающая свет на происходяшее. RxTx(1 знак., 14.01.2022 22:21, ссылка)
- Вопрос, который уменя в голове не укладывается - как подобное
тестировать? - Evgeny_CD(12.01.2022 10:08)
- В embedded у меня с метапрограммированием не сложилось. VVB(663 знак., 12.01.2022 09:36)
- Это всё замечательно, но я так и не понял, как и для чего этот
шаблон использовать. - =AlexD=(12.01.2022 09:29)
- Я смотрю на это и понимаю, что Цэ — идеальный ЯП для МК. Возражения
не принимаются, есличо. - SciFi(12.01.2022 08:10)
- Ubuntu 22.04 LTS ждем 21.04.2022 Evgeny_CD(1 знак., 13.01.2022 00:05, dao, ссылка, полностью)
- Хабр. Про отбор C++ программистов Evgeny_CD(1 знак., 15.01.2022 18:33, dao, ссылка, полностью)
- Программист испортил разработанные им свободные библиотеки, чтобы
они не достались крупным ИТ-корпорациям Evgeny_CD(1 знак., 15.01.2022 18:17, dao, ссылка, полностью)
- Мир красноглазия. Переход с Linux на FreeBSD. Evgeny_CD(1 знак., 15.01.2022 18:35, dao, ссылка)
- Хабр. Как мы используем LLVM для ускорения формирования отчётов.
Использование JIT из инструментария LLVM Evgeny_CD(1 знак., 15.01.2022 18:26, dao, ссылка)
- NVMe over Transport. Эксперименты с Linux и вполне обычным Ethernet Evgeny_CD(1 знак., 15.01.2022 18:14, dao, ссылка)
- 18 бесплатных учебных курсов по C/C++ для новичков и профессионалов - Evgeny_CD(15.01.2022 18:04, dao, полностью)
- К вопросу о стоимости труда всяких разных программистов. Сделал
скриншот одного сайта Evgeny_CD(1 знак., 15.01.2022 18:02, dao, картинка)
- How To Dual Boot Your Raspberry Pi Evgeny_CD(1 знак., 15.01.2022 17:24, dao, ссылка)
- Общая папка VmWare В Linux Evgeny_CD(1 знак., 15.01.2022 17:16, dao, ссылка)
- Шикарная статья с критикой примитивных подходов к внедрению AI Evgeny_CD(1 знак., 15.01.2022 17:14, dao, ссылка)
- Использование трендовых уязвимостей сокращает время взлома до 45
минут Evgeny_CD(1 знак., 15.01.2022 17:03, dao, ссылка)