Сообщение Re[3]: Госспади, отправь на пенсию воспитанников фортрана! от 18.11.2025 15:32
Изменено 18.11.2025 15:49 rg45
Re[3]: Госспади, отправь на пенсию воспитанников фортрана!
Здравствуйте, Doom100500, Вы писали:
D>И это ещё не всё. Потом надо ещё в std-контейнеры переводить. (в шарпе ".ToList()", в плюсах опять begin(), end())
Я фигею, тётя Валя, с вашей телепередачи.
Во-первых, далеко не всегда финалом вычисления хочется иметь контейнер. А зачастую как раз наоборот — хочется, чтоб все эти контейнеры, коллекции и ренджи вычислились по-ленивому на промежуточных этапах и бесследно испарились в итоге.
Во-вторых, для того, кто хоть немного умеет в декомпозицию и способен отделить "ЧТО" от "КАК", тому совершенно пофиг все эти низкоуровневые подробности и программа у него на любом языке будет выглядеть чётко и компактно. А кто пишет код подобно пчеле, строящей соты, у того эти низкоуровневые сопли будут размазаны по всему коду и он будет всю дорогу жаловаться на плохой инструмент.
В-третьих, конструировать контейнеры сейчас уже можно и без begin() и end() и у всех стандартных контейнеров есть версии конструкторов, принимающие абстрактные рэнджи.
Ну и в-четвёртых, могу повторить то, что говорил выше
И сколько угодно наслаждаться результатами:
http://coliru.stacked-crooked.com/a/69dfe8880f64bfbb
D>Даже в шарпе приятнее. Haskel, конечно не догнать, но плюсы — это полный П++.
Ну или просто это твои программы на плюсах — полный П++.
D>И это ещё не всё. Потом надо ещё в std-контейнеры переводить. (в шарпе ".ToList()", в плюсах опять begin(), end())
Я фигею, тётя Валя, с вашей телепередачи.
Во-первых, далеко не всегда финалом вычисления хочется иметь контейнер. А зачастую как раз наоборот — хочется, чтоб все эти контейнеры, коллекции и ренджи вычислились по-ленивому на промежуточных этапах и бесследно испарились в итоге.
Во-вторых, для того, кто хоть немного умеет в декомпозицию и способен отделить "ЧТО" от "КАК", тому совершенно пофиг все эти низкоуровневые подробности и программа у него на любом языке будет выглядеть чётко и компактно. А кто пишет код подобно пчеле, строящей соты, у того эти низкоуровневые сопли будут размазаны по всему коду и он будет всю дорогу жаловаться на плохой инструмент.
В-третьих, конструировать контейнеры сейчас уже можно и без begin() и end() и у всех стандартных контейнеров есть версии конструкторов, принимающие абстрактные рэнджи.
Ну и в-четвёртых, могу повторить то, что говорил выше
Автор: rg45
Дата: 17.11 17:41
: В С++ ты можешь наопределять себе какого угодно синтаксического сахара самостоятельно:Дата: 17.11 17:41
template <template<typename...> class Container>
constexpr auto make = [](std::ranges::range auto&& r) { return Container(std::begin(r), std::end(r)); };И сколько угодно наслаждаться результатами:
http://coliru.stacked-crooked.com/a/69dfe8880f64bfbb
const std::list list = make<std::list>(nums | filter(even) | map(pow(2)));D>Даже в шарпе приятнее. Haskel, конечно не догнать, но плюсы — это полный П++.
Ну или просто это твои программы на плюсах — полный П++.
Re[3]: Госспади, отправь на пенсию воспитанников фортрана!
Здравствуйте, Doom100500, Вы писали:
D>И это ещё не всё. Потом надо ещё в std-контейнеры переводить. (в шарпе ".ToList()", в плюсах опять begin(), end())
Я фигею, тётя Валя, с вашей телепередачи.
Во-первых, далеко не всегда финалом вычисления хочется иметь контейнер. А зачастую как раз наоборот — хочется, чтоб все эти контейнеры, коллекции и ренджи вычислились по-ленивому на промежуточных этапах и бесследно испарились в итоге.
Во-вторых, для того, кто хоть немного умеет в декомпозицию и способен отделить "ЧТО" от "КАК", тому совершенно пофиг все эти низкоуровневые подробности и программа у него на любом языке будет выглядеть чётко и компактно. А кто пишет код подобно пчеле, строящей соты, у того эти низкоуровневые сопли будут размазаны по всему коду и он будет всю дорогу жаловаться на плохой инструмент.
В-третьих, конструировать контейнеры сейчас уже можно и без begin() и end() и у всех стандартных контейнеров есть версии конструкторов, принимающие абстрактные рэнджи.
Ну и в-четвёртых, могу повторить то, что говорил выше
И сколько угодно наслаждаться результатами:
http://coliru.stacked-crooked.com/a/69dfe8880f64bfbb
Здесь можно было спокойно использовать auto, но я специально явно написал std::list, чтоб у тебя не возникало сомнений в том, что сконструировался именно std::list.
D>Даже в шарпе приятнее. Haskel, конечно не догнать, но плюсы — это полный П++.
Ну или просто это твои программы на плюсах — полный П++.
D>И это ещё не всё. Потом надо ещё в std-контейнеры переводить. (в шарпе ".ToList()", в плюсах опять begin(), end())
Я фигею, тётя Валя, с вашей телепередачи.
Во-первых, далеко не всегда финалом вычисления хочется иметь контейнер. А зачастую как раз наоборот — хочется, чтоб все эти контейнеры, коллекции и ренджи вычислились по-ленивому на промежуточных этапах и бесследно испарились в итоге.
Во-вторых, для того, кто хоть немного умеет в декомпозицию и способен отделить "ЧТО" от "КАК", тому совершенно пофиг все эти низкоуровневые подробности и программа у него на любом языке будет выглядеть чётко и компактно. А кто пишет код подобно пчеле, строящей соты, у того эти низкоуровневые сопли будут размазаны по всему коду и он будет всю дорогу жаловаться на плохой инструмент.
В-третьих, конструировать контейнеры сейчас уже можно и без begin() и end() и у всех стандартных контейнеров есть версии конструкторов, принимающие абстрактные рэнджи.
Ну и в-четвёртых, могу повторить то, что говорил выше
Автор: rg45
Дата: 17.11 17:41
: В С++ ты можешь наопределять себе какого угодно синтаксического сахара самостоятельно:Дата: 17.11 17:41
template <template<typename...> class Container>
constexpr auto make = [](std::ranges::range auto&& r) { return Container(std::begin(r), std::end(r)); };И сколько угодно наслаждаться результатами:
http://coliru.stacked-crooked.com/a/69dfe8880f64bfbb
const std::list list = make<std::list>(nums | filter(even) | map(pow(2)));Здесь можно было спокойно использовать auto, но я специально явно написал std::list, чтоб у тебя не возникало сомнений в том, что сконструировался именно std::list.
D>Даже в шарпе приятнее. Haskel, конечно не догнать, но плюсы — это полный П++.
Ну или просто это твои программы на плюсах — полный П++.