-
- Вы должны понимать, что в статье вам показали около 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, ссылка)
- Ну ничего, с опытом придёт. - VladislavS.(15.01.2022 12:09)
- о const перед массивом статью на Хабр написать сложнее - AlexG(15.01.2022 12:15)
- Ну ничего, с опытом придёт. - VladislavS.(15.01.2022 12:09)
- возникает вопрос, а сколько там этих сущностей? если всего
десяток-другой - то смысл городить такой страшный код? а если их
тыща - они что, будут все в коде прописаны? ну, чтобы их компилятор
мог отсортировать. - 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)
- Отвечать буду не на все пункты. Cкpипaч(1070 знак., 15.01.2022 16:13)
- 1) весь зоопарк того что вы перечислили можно выкинуть и не иметь
геморроя по его развёртыванию и поддержанию. Просто скомпилируйте
программу и она будет работать. VladislavS.(230 знак., 15.01.2022 16:19)
- 1) За поддержание "этого зоопарка" в работе нам платят больше трети
нашего годового бюджета 2) А какая разница? Можем намертво, можем
нет - совсем другие критерии влияют на наш выбор. Cкpипaч(110 знак., 15.01.2022 16:30)
- Я бы даже обобщил, не вижу смысла воообще плодить инструменты. - VladislavS.(15.01.2022 16:31)
- SQL-базу тоже макросами на этапе компиляции С++ инитить? Вы
экстримист :) - Cкpипaч(15.01.2022 16:36)
- Вы подменяете понятия. Данные это данные, программа это программа.
Делайте поправку на то, что я пишу об эмбедде. Схема устройства в
процессе работы поменяться не может. Это и будет одна инстанциация
шаблона. В другом устройстве она будет другая. - VladislavS.(15.01.2022 16:54)
- Согласен, SQL пока в эмбедде редкость. А направленные графы - отнюдь. - Cкpипaч(15.01.2022 16:57)
ТелевидениеПлюсы. Будут одни сплошные плюсы. SciFi(1 знак., 15.01.2022 16:40, картинка)
- Вы подменяете понятия. Данные это данные, программа это программа.
Делайте поправку на то, что я пишу об эмбедде. Схема устройства в
процессе работы поменяться не может. Это и будет одна инстанциация
шаблона. В другом устройстве она будет другая. - VladislavS.(15.01.2022 16:54)
- SQL-базу тоже макросами на этапе компиляции С++ инитить? Вы
экстримист :) - Cкpипaч(15.01.2022 16:36)
- Я бы даже обобщил, не вижу смысла воообще плодить инструменты. - VladislavS.(15.01.2022 16:31)
- 1) За поддержание "этого зоопарка" в работе нам платят больше трети
нашего годового бюджета 2) А какая разница? Можем намертво, можем
нет - совсем другие критерии влияют на наш выбор. Cкpипaч(110 знак., 15.01.2022 16:30)
- 1) весь зоопарк того что вы перечислили можно выкинуть и не иметь
геморроя по его развёртыванию и поддержанию. Просто скомпилируйте
программу и она будет работать. VladislavS.(230 знак., 15.01.2022 16:19)
- Отвечать буду не на все пункты. Cкpипaч(1070 знак., 15.01.2022 16:13)
- Вы всё с ног на голову поставили. Не заставляют втаскивать внутрь,
зато заставляют вытаскивать наружу. Не могут быть отдельные файлы,
а должны быть отдельные файлы. Приблуду надо написать, сделать
чтобы она везде работала и таскать с кодом, иначе не взлетит. А
компилятор С++, в отличии от приблуды, работает везде. Ошибки в
данных проверяются и там, и там. Получается, законченный код,
который нужно просто скомпилировать, против какого-то конструктора,
который ещё надо VladislavS.(371 знак., 15.01.2022 15:59)
- расписать все те шаблоны и классы - ручная работа и дополнительное
время. замечу - оплачиваемое. и источник ошибок. - Mahagam(15.01.2022 13:31)
- Да не демонизируйте вы шаблоны и тем белее классы. Написание класса
это даже проще, чем структуру тайпдефнуть - class MyClass { public:
}; Да по сути класс и структура это одно и то же. Шаблон появляется
не с бухты барахты, а когда понимаешь зачем он нужен. А если
понимаешь что он должен делать, то и написать его раз плюнуть. О
какой дополнительрой трате времени идёт речь вообще непонятно. Да в
любом случае, время на написание сложного библиотечного класса
потом с лихвой VladislavS.(29 знак., 15.01.2022 13:55)
- Оппонирую. Цитата: "время на написание сложного библиотечного
класса потом с лихвой отбивается в других проектах". Cкpипaч(297 знак., 15.01.2022 15:32)
- Не знаю, что у вас там постоянно отнимает время. По такой логике
библиотеки вообще не писать что-ли? У меня библиотеки всегда только
сокращают время. - VladislavS.(15.01.2022 16:10)
- Это потому что вы не сопровождаете системы.
Выстрелил и забыл. Любые крайности вредны. - Cкpипaч(15.01.2022 16:14)- На чём основано данное утверждение? Не помню, чтобы я вам показывал
свои разработки? - VladislavS.(15.01.2022 16:22)
- Вы упорно не говорите слово "сопровождение ПО". Только "написание".
Из этого вывод что сопровождение out of your scope of interest. Cкpипaч(60 знак., 15.01.2022 16:28)
- Я эмбеддер. Мне не надо обновлять ПО каждую неделю. Более того, заказчику вообще не понравится идея платить пожизненный гонорар за железку, которую он купил. А если она ещё и поставлена на вооружение, то там вообще табу. Я не слежу за судьбой всего разработанного мной железа, но держу всё в архиве и в любой момент могу найти и пересобрать любую прошивку. Хотя, при современной скорости смены элементной базы необходимость в этом чере 5-7 лет отпадает. - VladislavS.(15.01.2022 16:46)
- Вы упорно не говорите слово "сопровождение ПО". Только "написание".
Из этого вывод что сопровождение out of your scope of interest. Cкpипaч(60 знак., 15.01.2022 16:28)
- На чём основано данное утверждение? Не помню, чтобы я вам показывал
свои разработки? - VladislavS.(15.01.2022 16:22)
- Это потому что вы не сопровождаете системы.
- Не знаю, что у вас там постоянно отнимает время. По такой логике
библиотеки вообще не писать что-ли? У меня библиотеки всегда только
сокращают время. - VladislavS.(15.01.2022 16:10)
- Оппонирую. Цитата: "время на написание сложного библиотечного
класса потом с лихвой отбивается в других проектах". Cкpипaч(297 знак., 15.01.2022 15:32)
- Да не демонизируйте вы шаблоны и тем белее классы. Написание класса
это даже проще, чем структуру тайпдефнуть - class MyClass { public:
}; Да по сути класс и структура это одно и то же. Шаблон появляется
не с бухты барахты, а когда понимаешь зачем он нужен. А если
понимаешь что он должен делать, то и написать его раз плюнуть. О
какой дополнительрой трате времени идёт речь вообще непонятно. Да в
любом случае, время на написание сложного библиотечного класса
потом с лихвой VladislavS.(29 знак., 15.01.2022 13:55)
- Никто не заставляет втаскивать исходные данные внутрь кода. Это
могут быть отдельные файлы (сюрприз, даже на однокристалках),
сформированные самописной приблудой, выявляющей (еще один сюрприз!)
ошибки в этих данных. - Cкpипaч(15.01.2022 15:34)
- Да даже если меньше десятка, программист просто описывает сущности,
а компилятор делает с ними то что надо. Любая ручная работа это и
дополнительное время, и источник ошибок. А действия могут быть как
просто муторные, так и вычислительно сложные. Компилятор не устаёт
и не ошибается. - VladislavS.(15.01.2022 12:12)
- Сам он написал "Также к своему стыду признаюсь, что так и не понял,
можно ли статический массив разместить во Flash, а доступ к нему
получать в runtime?" AlexG(7 знак., 15.01.2022 12:08, ссылка)
- Ну вы же опять ничего не поняли! Автор как раз знает как это
расположить в памяти, но сделал так, что этим будет занимается
компилятор. Он лишь в удобном для себя порядке определит сущности,
а компилятор их отсортирует, построит дерево, разместит во флэшь. - VladislavS.(15.01.2022 09:16)
- Глянул его TypeList. Слабовато. Уже не Loki, но ещё не С++17. VladislavS.(367 знак., 13.01.2022 15:54)
- там пока один комментарий с хорошим вопросом. можете ответить? - Mahagam(13.01.2022 13:57)
- Я - не могу. Я туп в C++ - Evgeny_CD(13.01.2022 18:16)
- И все это только потому, что автор не знает как положить данные в
нужную область памяти. - AlexG(15.01.2022 05:58)