
Ilia
06.08.2018
11:48:04

isnullxbh
06.08.2018
11:50:59
> Я вот например функциональные языки совсем за другое люблю...
Ну и скажем так, не совсем все люблю и не совсем фукнциональные.
> не совсем все люблю и не совсем фукнциональные
Или это был сарказм?

Google

Ilia
06.08.2018
11:54:39
Понятие "функциональный язык" странное, оно в общем каждым трактуется по-своему. Одни думают, что функциональный язык -- это фукнционально чистый, без побочных эффектов. Другие думают, что по определению, что достаточно чтобы функции в языке были объектами первого рода (т.е. можно было бы грубо говоря манипулировать функциями как данными).
Я всё же придерживаюсь второго подхода.
Ну и мне лично фукнциональные нравятся больше за их высокоуровневость, а не за чистое фукнциональное программирование

Alexander Alprog
06.08.2018
11:56:29
луа - фунциональный язык получается
ну такое себе

Ilia
06.08.2018
11:58:24
Да и С получается фукнциональный язык, да.
Да, я понимаю скепсис, но тем не менее.

Alexander Alprog
06.08.2018
12:00:26
да не, это всего лишь термин
кто как хочет, так и понимает. но думаю, большинство склоняются к первому варианту

Ilia
06.08.2018
12:03:57
Но это глупо.

isnullxbh
06.08.2018
12:06:57
Тут, кажется, пруфы с вики подходят, поэтому https://ru.m.wikipedia.org/wiki/Функциональное_программирование
Про операторы там тоже сказано, но не выделяют это как концепцию

Ilia
06.08.2018
12:10:12
Ну ладно давайте завяжем тему...

Google

Aidar
06.08.2018
12:38:38

Alex
06.08.2018
12:40:26
Указатель
Если ты имеешь ввиде вот так:
template<const char* val> void func() { std::cout << val << std::endl; } - то это работать не будет (в том виде, как я написал), только если в качестве аргумента передать глобальный const char[] = "...";

Aidar
06.08.2018
12:40:50
Вы по дефолту должны думать что там может что-то выпасть а не наоборот

Andrei
06.08.2018
12:53:01

Antony
06.08.2018
13:01:54
Императивный стиль приятнее. Намного веселее машине приказывать, чем передавать калькулятору функции для вычислений :)

Ilia
06.08.2018
13:02:17

Matwey
06.08.2018
13:08:41

Александр
06.08.2018
13:09:44

Chiveson
06.08.2018
13:10:17
Подскажите, random_device является csprng, но если им генерить числа, то энтропия падает, говорят использовать mt19937, но он не криптостойкий, как мне в c++ сделать csrng?

Alex
06.08.2018
13:13:22

Combot
06.08.2018
13:13:22
Alex Ushanov (0) увеличил репутацию Александр Караев (1)

Antony
06.08.2018
13:35:06

Дед Пегас
06.08.2018
13:37:00

Antony
06.08.2018
13:37:41

Alexander
06.08.2018
13:37:44
а пропорции откуда взяты?

Дед Пегас
06.08.2018
13:38:08

Antony
06.08.2018
13:40:03

Google

Александр
06.08.2018
13:41:06
Ну вот, я все пропустил ?

Ilia
06.08.2018
13:41:33
А и не было ничего

Sergey
06.08.2018
13:42:13
народ, я правильно понимаю, что присваивание shared_ptr самому себе не должно вызывать проблем? Это вроде как один из принципов реализации operator=

Ilia
06.08.2018
13:42:40
Ну да

Anatoly
06.08.2018
13:43:06
Вы по дефолту должны думать что там может что-то выпасть а не наоборот
Я уже отказался у себя от эксепшенов в пользу аналогов Either.
Больше всего раздражает, что есть какая-то функция какой-то библиотеки и она может бросить эксепшен и может так произойти, что автор не указал список возможных. Тот кто поумнее - описывает бросаемые эксепшены в доксигене.

Aidar
06.08.2018
13:43:36

Sergey
06.08.2018
13:43:49

Aidar
06.08.2018
13:43:51
А как вы память выделяете?
nothrow?
И вы ваще не пользуетесь внешним кодом?

Ilia
06.08.2018
13:44:44

Дед Пегас
06.08.2018
13:45:06
Императивно из своей практики. Пока щаслев.
Ваще, выбирать выбирать стиль ФП или ИП (или их смешение) в каждом конкретном случае нужно. Это как выбор любовных практик между партнёрами. Только партнёры тут программист и машина. ?

Ilia
06.08.2018
13:45:40

Azoyan
06.08.2018
13:45:43

Дед Пегас
06.08.2018
13:45:55

Aidar
06.08.2018
13:46:38

Azoyan
06.08.2018
13:46:38
Она нижний.
в смысле, машина не партнёр. Партнёрство предполагает равенство прав и обязанностей.

Александр
06.08.2018
13:46:59
А почему рассматривается только _автоматическая параллелизация_? Ведь в ФП есть много всего, что делает параллельное программирование проще и приятнее, и это не автоматическое

Дед Пегас
06.08.2018
13:46:59

Google

Anatoly
06.08.2018
13:47:18

Aidar
06.08.2018
13:47:25
И ваще хз кто юзает доксигены

Дед Пегас
06.08.2018
13:47:36
Я юзаю.

Azoyan
06.08.2018
13:47:44

Aidar
06.08.2018
13:47:44
Какая разница какой

Дед Пегас
06.08.2018
13:48:00

Anatoly
06.08.2018
13:48:01

Aidar
06.08.2018
13:48:13

Anatoly
06.08.2018
13:48:20

Александр
06.08.2018
13:48:28
Например: монада Par. Или Software Transactional Memory (тоже может быть монадой, хе-хе). Или MVar-ы. Это все, в принципе, реализуемо в императивных языках с достаточной поддержкой ФП

Aidar
06.08.2018
13:48:38
Ты не должен отлавливать, ты должен сохранить консистентность
Другими способами
Например порядок поменять
Или написать гарды

Anatoly
06.08.2018
13:49:07
я не должен делать кордамп на любой чих

Shidfar
06.08.2018
13:49:17
/stat@combot

Combot
06.08.2018
13:49:17
combot.org/c/-1001031904034

Aidar
06.08.2018
13:49:25
Ты не должен бросать эксепшны на любой чих
Они не для этого

Google

Aidar
06.08.2018
13:49:44
Но все их может бросить

Anatoly
06.08.2018
13:49:53
Скажитете это nlohmann

Aidar
06.08.2018
13:50:05
Кто это?

Anatoly
06.08.2018
13:50:08
У него ошибка парсинга - исключительная ситуация

Ilia
06.08.2018
13:50:43

Anatoly
06.08.2018
13:51:11

Дед Пегас
06.08.2018
13:51:15

Ilia
06.08.2018
13:51:37

Aidar
06.08.2018
13:51:44

Anatoly
06.08.2018
13:52:11
я должен отловить

Aidar
06.08.2018
13:52:46
Почему? Это метод построить дерево говна, вроде невалидный синтаксис это нестандартно

Ilia
06.08.2018
13:52:52

Anatoly
06.08.2018
13:53:34

Aidar
06.08.2018
13:53:45
Проверить валидность синтаксиса вот не должен кидать эксепшн очевидно

Ilia
06.08.2018
13:54:00
Опыт
Выброси в зад свой Java-опыт...

Anatoly
06.08.2018
13:54:15
При чём здесь жаба?

Azoyan
06.08.2018
13:54:17
что вы такие дерзкие

Aidar
06.08.2018
13:54:27
<Шутка про эксепшн на закрытие файла>

Ilia
06.08.2018
13:54:46