Вариант для распечатки |
Пред. тема | След. тема | ||
| Форум Разговоры, обсуждение новостей | |||
|---|---|---|---|
| Изначальное сообщение | [ Отслеживать ] | ||
| "Реализация генераторов через макросы на C++" | +/– | |
| Сообщение от opennews (??), 26-Мрт-26, 15:56 | ||
Энтузиасты написали генераторы на C++, которые базируются на do-нотации, которая тоже сделана на макросах. Реализация открыта под лицензией MIT... | ||
| Ответить | Правка | Cообщить модератору | ||
| Оглавление |
| Сообщения | [Сортировка по ответам | RSS] |
| 1. Сообщение от Аноним (1), 26-Мрт-26, 15:56 Скрыто ботом-модератором | –1 +/– | |
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 4. Сообщение от Аноним (4), 26-Мрт-26, 16:15 | +/– | |
Если кому надо, то на Habr можно прочитать подробнее про эти генераторы. Про реализацию на лупхолах и реализацию без. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 6. Сообщение от Ананоним (?), 26-Мрт-26, 16:25 | +6 +/– | |
Эти лямбда-функции только уродуют язык. Для ленющих погромистов, которым влом было писать имена инлайновых функций по старому стилю. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #37, #41 | ||
| 7. Сообщение от Аноним (7), 26-Мрт-26, 16:45 | +11 +/– | |
Без do-нотации - набор заклинаний, с do-нотацией - тоже набор заклинаний. А какую задачу решают - неизвестно. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #13, #15, #20, #36 | ||
| 8. Сообщение от Аноним (8), 26-Мрт-26, 16:49 | +/– | |
Сначала был императивный язык, затем поверх навертели функциональный, затем уже поверх него накрутили опять императивный. Цикл замкнулся... | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 10. Сообщение от Аноним (10), 26-Мрт-26, 17:03 | +/– | |
Сабж в GNU g++ работает? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #11 | ||
| 11. Сообщение от Аноним (4), 26-Мрт-26, 17:05 | +/– | |
В гитхаб репозитории есть CI/CD. Там и показано, что на gcc оно работает. Да и в статье про это написано (нужен g++ 15.2.1 и выше) | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #10 | ||
| 13. Сообщение от Аноним (-), 26-Мрт-26, 17:11 | +/– | |
> А какую задачу решают - неизвестно. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #7 | ||
| 14. Сообщение от Мемоним (?), 26-Мрт-26, 17:22 | +1 +/– | |
Можно, а зачем? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #18 | ||
| 15. Сообщение от Аноним (15), 26-Мрт-26, 17:23 | +1 +/– | |
> А какую задачу решают - неизвестно. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #7 Ответы: #16, #27, #47 | ||
| 16. Сообщение от Аноним (4), 26-Мрт-26, 17:26 | –1 +/– | |
Так есть же статьи на хабр с объяснением работы. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #15 Ответы: #50 | ||
| 17. Сообщение от Аноним (17), 26-Мрт-26, 17:27 | +4 +/– | |
А говорят, что у раст уродливый синтаксис... | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #40, #45 | ||
| 18. Сообщение от Аноним (4), 26-Мрт-26, 18:36 | +/– | |
Потому что могут. Могут и делают. А на основе этого можно сделать ещё что-нибудь другое. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #14 Ответы: #46 | ||
| 20. Сообщение от Аноним (-), 26-Мрт-26, 18:47 | +/– | |
Чтобы вручную не выпиливать конечный автомат ты можешь воспользоваться генератором, написать вполне себе императивный код, который из цикла будет выплёвывать значения. Генератор выпилит тебе этот конечный автомат. Или это может быть реализовано как корутина. Но фишка в том, что конечный автомат выпиливать вручную требует заметно больше усилий. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #7 Ответы: #33 | ||
| 22. Сообщение от Обычный человек (?), 26-Мрт-26, 18:54 | +/– | |
Автор писал новость по принципу: "Посмотрите какой я умный, если интересуюсь такими вещами!" | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 24. Сообщение от Аноним (24), 26-Мрт-26, 19:23 | +1 +/– | |
Выглядит как неграмотная попытка студента в TMP. Велосипедов этих написано несчитанное количество. Штука запутывающая код, вызывающая удивление у анализаторов, IDE и сторонних разработчиков. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #26 | ||
| 25. Сообщение от Аноним (24), 26-Мрт-26, 19:59 | +2 +/– | |
Вот разбираешь легаси код в проекте которому больше 10 лет и такие вот "подарки" коллегам частенько попадаются от какого нибудь неумного студентика который давно свалил и вызывает это много негативных эмоций... приходится вычищать разумеется. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #29 | ||
| 26. Сообщение от Аноним (4), 26-Мрт-26, 20:02 | +/– | |
Так оно не для прода. В статье так и сказано, что в прод брать не стоит. В статье всё написано. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #24 Ответы: #43 | ||
| 27. Сообщение от Bottle (?), 26-Мрт-26, 20:55 | +1 +/– | |
Хорошо, а как возобновляемые функции помогут тебе на практике? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #15 Ответы: #30 | ||
| 28. Сообщение от Аноним (28), 26-Мрт-26, 21:53 Скрыто ботом-модератором | +/– | |
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 29. Сообщение от Аноним (29), 26-Мрт-26, 23:17 | +/– | |
В проектах 30+ лет по стилю кода чувствуешь когда какой функционал появился. Ну и само собой разумеется, стилевой выпендрёж вычищается. Потому что это сложно читать, сложно менять, да и в целом толку мало. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #25 | ||
| 30. Сообщение от Вася Пупкин (?), 26-Мрт-26, 23:58 | +/– | |
"возобновляемые функции" позволяют лаконично отдавать куски данных дальше в следующую часть логики - например обработать и раньше начинать отдавать ответ клиенту потоково. при этом затрачивая меньше оперативы, поскольку не нужно хранить весь итерируемый массив целиком. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #27 Ответы: #32, #39 | ||
| 31. Сообщение от Сусанин (?), 27-Мрт-26, 02:49 | +1 +/– | |
Я не понял, какую реальную проблему всё это решает? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #35, #38 | ||
| 32. Сообщение от Аноним (7), 27-Мрт-26, 02:53 | +1 +/– | |
> лаконично отдавать | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #30 | ||
| 33. Сообщение от Аноним (7), 27-Мрт-26, 02:59 | +1 +/– | |
Плохой пример. Лексер, которого дёрнули за next_token, не нуждается уже ни в каких "ду без ду с ду". Вы, наверно, никогда процедурный парсер плюсов не видели безо всякой такой канители. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #20 Ответы: #49 | ||
| 35. Сообщение от Аноним (7), 27-Мрт-26, 03:06 | +1 +/– | |
Проблему присутствия слишком большого объёма свободного времени, которое можно потратить на попытку переварить макроспагетти и создать вокруг него хоть какую-то удобоваримую оболочку. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #31 | ||
| 36. Сообщение от Смузихлеб забывший пароль (?), 27-Мрт-26, 07:28 | +/– | |
Максимально неподдерживаемый код ? ( всм, получить ) | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #7 | ||
| 37. Сообщение от Алоним (?), 27-Мрт-26, 07:39 | +1 +/– | |
Этот C++ только уродует язык C. Для ленющих погромистов, которым влом было писать грамотно структуры и функции. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #6 | ||
| 38. Сообщение от bOOster (ok), 27-Мрт-26, 08:11 | +1 +/– | |
Проблему абстрактного мышления студента перед зачетом. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #31 | ||
| 39. Сообщение от Аноним (39), 27-Мрт-26, 09:31 | +1 +/– | |
Как говорил ричард фейнман, если ты не можешь объяснить просто, то ты сам не понимаешь | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #30 | ||
| 40. Сообщение от Аноним (39), 27-Мрт-26, 09:33 | +/– | |
да | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #17 | ||
| 41. Сообщение от Аноним (41), 27-Мрт-26, 10:02 | +/– | |
А если инлайновую нужно вызвать всего лишь один раз, то зачем напрягать фантазию для придумываия ещё одного имени? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #6 | ||
| 43. Сообщение от Аноним (7), 27-Мрт-26, 10:12 | +/– | |
> оно не для прода | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #26 | ||
| 44. Сообщение от Аноним (45), 27-Мрт-26, 10:41 | +2 +/– | |
> auto result = ::bind(mx, [&](auto&& x) { | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 45. Сообщение от Аноним (45), 27-Мрт-26, 10:44 | –1 +/– | |
...и не только синтаксис! Сама идеология языка - "программистский урод". Вместо того, чтобы ОБЛЕГЧИТЬ программисту работу с такой тонкой штукой, как память, авторы сбросили весь груз на программиста, который сам должен танцевать на костылях и оформлять в коде то, что можно было просто вычислить. Молодцы, чо - слегка приподнялись над ассемблером! 😆 | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #17 | ||
| 46. Сообщение от Аноним (46), 27-Мрт-26, 12:35 | +/– | |
И сколько у тебя субличностей, которые это могут и делают? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #18 | ||
| 47. Сообщение от mumu (ok), 27-Мрт-26, 13:17 | +/– | |
> let records = getRecords(тут твои параметры) | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #15 | ||
| 49. Сообщение от Аноним (-), 27-Мрт-26, 13:35 | +/– | |
> Лексер, которого дёрнули за next_token, не нуждается уже ни в каких "ду без ду с ду". | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #33 | ||
| 50. Сообщение от Аноним (50), 27-Мрт-26, 14:13 | +/– | |
Прочитал, и всё ещё не понимаю, зачем всё это. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #16 | ||
|
Архив | Удалить |
Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема |
|
Закладки на сайте Проследить за страницей |
Created 1996-2026 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |