Программирование


Ответить в тред Ответить в тред

Check this out!
<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
184 14 59

Функциональное программирование – это критика Аноним 16/05/20 Суб 11:04:05 16899851
семь-черных-пар[...].jpeg (81Кб, 1279x717)
1279x717
Функциональное программирование – это критика структурного подхода к программированию, не выходящая за его пределы.

Вы критикуете спектакль, находясь на сцене театра. Вы и есть спектакль.
У функционального программирования есть три слабых места:
1) Истеричное отрицание простых структурных идей само стало большой идеей. Анти-императивщики, анти-объективщики и все другие «анти-» упороты не меньше своих противников.
2) Философия монадоебства и нигилизма не работает при столкновении с людьми иной парадигмы. Ты не объяснишь хачкелистам или пацанам с района, что ты ПРОСТО ПРОГРАММИРУЕШЬ, нет, они сами тебе всё объяснят. И объясняют, хуле, весь интернет в этих ебаных монадах с эндофункторами.
3) Если замаскировать серьёзный архитектурный шаблон под ебаную шутку, то спектакль заметит только шутку. На этом поприще наибольшего успеха добились Хикке и его друзья. Показательно, что перешагнуть первые два пункта они так и не смогли. Отсюда следует, что наиболее важными вопросами сейчас являются физическая слабость нашей с вами культуры структурного программирования перед лицом иноверцев и отсутствие каких-либо глобальных идей о том, что со всеми нами будет происходить дальше.
Если вы увязли в функциональном мышлении и хотите преодолеть его, то вы должны отталкиваться от этих трёх пунктов.

То есть вы должны перестать быть фунциями везде, иметь в голове и на практике какой-то глобальный структурный проект, направленный на улучшение настоящего и обеспечение будущего, а также обязаны уметь маскировать свои истинные планы от врагов, то есть от медиа вроде хабр/тинькофф/мфти и сопутствующих структур.
Картинка zipjpeg, как rarjpeg, только zip, ну, вы понели.
Аноним 16/05/20 Суб 12:54:42 16900392
>>1689985 (OP)
>Если вы увязли в функциональном мышлении и хотите преодолеть его, то вы должны отталкиваться от этих трёх пунктов.
И зачем ты всё это написал? Ты функцианальщик, который всеми силами пытается обсуждение поднять?

Всем похуй на это функциональное программирование, кроме десятка наркоманов-хаскелистов. Всем даже обсуждать это лень, эта тема ебёт не больше, чем итоги выборов в Демократической республике Конго.

16/05/20 Суб 14:56:35 16902063
ОП так и не понял, что такое ФП
Аноним 17/05/20 Вск 12:03:19 16913924
парень про Either не осилил вот и порвался
Аноним 17/05/20 Вск 20:16:23 16921565
15886603388250 [...].png (86Кб, 1077x421)
1077x421
>>1690039
>Всем похуй на это функциональное программирование
Подумай над своими словами, щенок
Аноним 17/05/20 Вск 20:18:31 16921636
>>1692156
>пик
>язык бога, на котором написана вселенная
Так это С++.
Аноним 17/05/20 Вск 22:41:39 16923427
>>1692163
поди ub пофикси маня
Аноним 17/05/20 Вск 23:09:08 16923628
>>1689985 (OP)
Напридумывали ебалы всякой, лишь бы 0 и 1 не писать.
Аноним 17/05/20 Вск 23:14:57 16923719
>>1692342
Пофиксил, получился C#. Это лучший язык эвар, мощный, как плюсы, но безопасный, как джава. На котором можно писать всё, от сайтов и приложений на мобилках до операционных систем. Можно писать сложные основанные на ООП архитектуры, сохраняя высокую абстрактность функционального программирования через LINQ. А какая там стандартная библиотека, это нечто. Воистину язык, на котором написана вселенная. Язык молодых богов.
Аноним 17/05/20 Вск 23:19:31 169237310
>>1692371
*без проблем работает только на Windows
Аноним 17/05/20 Вск 23:23:44 169237911
Аноним 17/05/20 Вск 23:50:15 169239812
>>1692379
Ага, я как раз про него, что нормально только на винде работает, несмотря на заявленную кроссплатформенность.
Аноним 18/05/20 Пнд 01:01:32 169246013
>>1692371
После котлина шарп смотрится как кусок говна.
Не то что я как малолетний долбаеб накидываю на вентилятор, просто реально такое императивное впечатление, как будто его снова дизайнер какой-то маня-мечтатель.

Ну, а еще это фундаментальная проблема и путаница - где кор, где не кор. Открываешь страницу с примером и хер пойми откуда это.
Аноним 18/05/20 Пнд 01:26:49 169247414
>>1692460
>котлин

Сравнивать поделку маняфантазирующих хипстеров, и продукт от одной из самых успешных и крупных компаний мира... Ты это серьезно или просто троллить пытаешься? Твой кокотлин обосрется при первой же серьезной задаче, а хипстеры-смузи хлебы заебуться пилить костыли, что кончится как и всегда - хипстеры уйдут пилить очередной язык, который решит все проблемы старых языков, даже не поставив памятника своему котлину, который будет нужен только долбоеба-кабанчикам, которые выбрали его как основной язык их продукта.

>Ну, а еще это фундаментальная проблема и путаница - где кор, где не кор.

Так это решают, как и все проблемы связанные с шарпом. Еще пара месяцев и .NET Core c .NET Framework заменят просто на .NET цифра. Первым будет .NET 5, который уже находится на стадии Preview 3
Аноним 18/05/20 Пнд 07:13:28 169255415
>>1692371
>мощный, как плюсы
Вы в своей секте совсем поехали
Аноним 18/05/20 Пнд 07:14:32 169255616
>>1692163
>>язык бога, на котором написана вселенная
>Так это С++.

так шо, он её каждые пару лет под новый стандарт рефакторит?
Аноним 18/05/20 Пнд 07:43:34 169256217
>>1692474
>Сравнивать поделку маняфантазирующих хипстеров
Ты сейчас о тех годах, когда слизали все с джавы и маня дизайнеры (или скорее всего один дизайнер языка) напердолили поверх такого неудобного сахара, что легче сейчас в С++ вкатиться??


Ты бы лучше бежал библиотеки писать на шарпе, а холиварить. Это куда бы больше пользы языку принесло, а то как шаром покати.
Аноним 18/05/20 Пнд 07:47:06 169256518
>>1692474
>Так это решают
Нужно только потерпеть. Понял.
Ты наверное из тех кто и джаву 2024 года ждет, когда туда добавят сахар из котлина?

Самое забавное, они играть попенсорс начали тогда, когда шарп стал уже и не нужен. Унылая попытка спасти комьюнити, ориентируясь на то коммьюнити, которое воспринимает МС в штыки.
Самый тупой маркетинговый ход, который я видел.
Аноним 18/05/20 Пнд 08:07:21 169257119
>>1692565

Они начали играть поенсорс когда неожиданно для мелкомягких из дотнет-клона для линукса (mono) выстрелили хамарин и школоюнити.
Аноним 18/05/20 Пнд 08:59:10 169258720
>>1692571
Скорее когда пошёл облачный тренд.
Аноним 18/05/20 Пнд 09:22:08 169259521
>>1692571
>выстрелили хамарин
Из пушки чтобы больше не видеть это поделие?
Аноним 18/05/20 Пнд 09:25:25 169259622
>>1692595
>>выстрелили хамарин
>Из пушки чтобы больше не видеть это поделие?

В начале десятых ничего другого для кросспермаведро не было кроме крестокультей. Так что да, выстрелил, и нехуёво так.
Аноним 18/05/20 Пнд 11:58:10 169270923
>>1692565
>Нужно только потерпеть.

Не нужно, месяц назад только .NET 5 Preview 1 был, а сейчас уже Preview 3. В этом и заключается главный плюс языка, который поддерживается крупным IT гигантом с налаженными процессами разработки. В отличие от твоей жабы, она поддерживает и развивает свой продукт, а не пытается удержаться на рынке за счёт легаси дерьма.

>на то коммьюнити, которое воспринимает МС в штыки
>на то коммьюнити

Тебя и твоих одноклассников? Потому что тонны коммитов и помощи со стороны опенсорс комьюнити говорит об обратном.
Аноним 18/05/20 Пнд 13:21:43 169275224
>>1692709
> В этом и заключается главный плюс языка, который поддерживается крупным IT гигантом с налаженными процессами разработки.
Ты не забыл какой хохотач был когда твой ИТ гигант открыл код своего калькулятора?
Аноним 18/05/20 Пнд 13:32:00 169276025
>>1692752
Что там калькулятор - у них и в блокноте баги находили.
Аноним 18/05/20 Пнд 13:34:11 169276326
>>1692752
А судьи кто? Те самые писатели мувисерчеров и тудулистов? Почему другие крупные разработчики молчали? Потому что они понимали, что у них код не лучше. Добро пожаловать в реальность.
Можно еще сорсы .NET Core открыть и охуеть от говнокода, который нарушает все эти принципы солид, не следует каким-либо паттернам проектирования, использует не эффективные алгоритмы и т. п. Но вот к чему это, если мы понимаем, что в любом сорс коде творится тоже самое?
Аноним 18/05/20 Пнд 13:47:03 169277327
>>1692763
>который нарушает все эти принципы солид, не следует каким-либо паттернам
Мастерски жопой вертишь
Аноним 18/05/20 Пнд 22:11:38 169329628
image.png (101Кб, 638x334)
638x334
image.png (36Кб, 343x405)
343x405
Аноним 18/05/20 Пнд 22:27:57 169331329
139.jpg (55Кб, 500x414)
500x414
Аноним 19/05/20 Втр 06:08:09 169345530
>>1692709
Ты так слюной брызжешь потому, что шарп загибается и твоя защитная психологическая реакция (бомбит) сводиться к тому чтобы убедить всех (а точнее себя самого) что все хорошо? Не стоит. Шарп все. Будут там, конечно, еще твое легаси тянуть, но на этом история языка со странным сахаром закончится.

>В отличие от твоей жабы, она поддерживает и развивает свой продукт
Это ты про дополнительные отступы и фигурные скобки для неймспейса, или про необходимость javaDoc писать в xml?
Не, братюнь, такого развитие нам не надо.
Шарп очередной маня-язык с маня-фантазией автора, там полно WTF-решений и ненужного бойлерплейта.
Аноним 19/05/20 Втр 06:18:37 169345831
>>1692709
>Тебя и твоих одноклассников?
Как же ты быстро скатился до тухлой демагогии.

>Потому что тонны коммитов и помощи со стороны опенсорс комьюнити говорит об обратном.
Да, конечно, будет кто-то на этом говне писать, что за черно-белое мышление, даже на коболе или перле еще кто-то пишет. Тут речь именно про большинство.
Ты даже не представляешь сколько ресурсов тратилось чтобы это говно студентов накормить и некоторые до сих по едят же, в угоду синдрома утенка.

>NET 5 Preview 1 был, а сейчас уже Preview 3
Ну все, ждем теперь точно. Что ты хочешь с этим релизом для себя увидеть? Кроссразработку окон что-ли? Да хера тебе, а все остальное есть в кор.

А еще подожду когда МС захватит рынок мобильной разработки, и выпустят переиздание IE 6

>Потому что тонны коммитов
То-то я смотрю что нехрена никто либ на этом чуде не пишет. Посмотри статистику библиотек с 1000 и более звезд гитхабе и удивишься, что даже меньше чем за 10 лет, на говно Го написали больше топовых библиотек, чем на шарпе. Настолько он ненужен.
Аноним 19/05/20 Втр 06:19:45 169345932
>>1693458
Лол, да даже на прокси языке typescript написали уже больше около-топ либ.
Аноним 19/05/20 Втр 11:39:28 169357433
Даже не знаю, у кого тут больше писот, у противников шарпа или его защитников.
Аноним 19/05/20 Втр 11:54:11 169358734
>>1693574
У защитников. Противникам в целом похуй на шарп, поворчат и забудут. А вот шарпистам приходится самоутверждаться постоянно.
Аноним 19/05/20 Втр 16:32:02 169392835
Аноним 20/05/20 Срд 08:37:46 169456536
>>1692460
После свифта котлин смотрится как кусок говна. Шарп, конечно же, говно говен.
20/05/20 Срд 09:08:45 169459337
>>1689985 (OP)
Пиздец ты шиз, конечно. Тебя в детстве хаскеллист под одеялом трогал?
Аноним 20/05/20 Срд 10:53:57 169475338
>>1694565
Вот только котлин есть везде, а свифт только на ябломобилках и больше никому нигде не нужен.
Аноним 20/05/20 Срд 18:01:27 169533739
>>1692156
Ты какой-то псих. Ходишь с черным просмоленным мешком по ЖЖ и собираешь все функциональное говно, которое видишь. А потом приходишь и домой и ммм... выливаешь это дерьмо в ванную и тебя поглощает единый организм ФП. Для чего ты это делаешь? Ты безработный и у тебя нет личной жизни, поэтому ты тратишь свое драгоценное время на эту суету?
Аноним 21/05/20 Чтв 06:06:43 169591040
>>1695337
>ФП
>Ты безработный?
Вот зачем спрашивать?
Аноним 21/05/20 Чтв 13:30:56 169617641
>>1690039
>Всем похуй на это функциональное программирование,
Хуй знает, я уже лет 5 пять пишу в продакшн ФП-онли код, меня окружают только ФП-шники, одно время работал в конторе, где весь фронт (30 чел) и бэк (20 чел) был на ФЯ. Вообще забыл про ОО-быдло, я думал оно повымерло уже всё нахуй.

Хотя по местной подмывальне не стоит судить, тут >50% аудитории - вкатуны, что не писали коммерческий код ни разу в жизни. Ещё 30% студентов с laba2.cpp, среди которых есть воннаби хакиры и особо активные шизики, рассказывающие, что "мир императивен" и прочее говно. Ещё есть особо вонючая кучка дененератов, сующихся в каждый тред, рассказывающие охуенные истории про смерть того или иного языка, но вместо технической экспертизы, которую дать они не могут ввиду отсутствия опыта, толкают низкопробный маркетинговый булщит уровня дешёвой журнашлюшки. Ну и оставшиеся - обычное быдло, что когда-то успешно вкатилось на мейнстримовой параше в локальный бадишоп и нихуя за его пределами не видело.
То есть да, в такой клоаке про ФП тут почти никто нихуя не знает, и оно никому не нужно, вполне обоснованно не нужно бтв.

Позорище! А ведь когда-то тут сидел Стасик, ФП-элита шурша фраками, попивая марочный коньяк, обсуждала зигохистоморфные препроморфизмы наконец...
Аноним 21/05/20 Чтв 13:40:54 169618842
Я считаю вы долбоёбы со своими компиляторами, высокоуровневыми языками и виртуальными машинами совсем забыли, что такое регистроёбство и не-проеби-указатель- стека-вство.
Аноним 21/05/20 Чтв 13:56:40 169620843
>>1696176
Ты жжёшь
>где весь фронт (30 чел)
Сколько нужно функцианальщиков, чтобы реализовать фронт?

Запустите проект среднего размера на ФП-онли языках, и все выпускники университетов мира надолго будут обеспечены работой.

Глянул ХХ, в 77 только одна контора хантит хасклеров, предлагает от 40 до 80 тр., ещё пара контор ищет кого-нибудь на другой язык, но просит знание чего-нибудь функционального.

Я так и думал, что фунциональщики забиваются в какой-нибудь подвал, забивают на контакты с остальным миром, и сообща в 30 человек реализовывают какую-нибудь веб-морду.
Аноним 21/05/20 Чтв 13:59:01 169621344
>>1696188
Это ты зря. Если плюсовик не может сказать глядя на код, через регистры будут переданы переменные в функцию реализованную на STL или через стек, то это не плюсовик. Его в жизни на работу не возьмут.

Аноним 21/05/20 Чтв 14:09:48 169622045
>>1696176
>А ведь когда-то тут сидел Стасик, ФП-элита шурша фраками, попивая марочный коньяк, обсуждала зигохистоморфные препроморфизмы наконец...
А потом пришёл пиэм и погнал вас мудаков прод вилкой чистить, чтобы pixel perfect было!
"я уже лет 5 пять пишу в продакшн ФП-онли код" - так и скажи, что React-макака
Аноним 21/05/20 Чтв 14:18:34 169622846
>>1696176
>Позорище! А ведь когда-то тут сидел Стасик, ФП-элита шурша фраками, попивая марочный коньяк, обсуждала зигохистоморфные препроморфизмы наконец...
Напоминаю, типичный адепт функциональщины это Золотце из /c/
Аноним 21/05/20 Чтв 14:38:39 169626047
>>1696208
Под "функциональщиной" некоторые подразумевают скалу, на которой вакансии-таки есть.
Аноним 21/05/20 Чтв 14:42:33 169626548
>>1696260
>скалу, на которой вакансии-таки есть
правда там скакалку применяют как DSL, без функциональной говнины
но это мелочи
21/05/20 Чтв 15:39:06 169633249
>>1689985 (OP)
Напиши powerset для массива на любом императивном ЯП хотя бы в пару строчек. Вот на Haskell:
powerset = filterM (\x -> [False, True])

Ты обосрешься, и начнешь распинаться про то, что под всё уже написаны библиотеки. Но в твоей куцой стандартной библиотеке этого нет, и тебе предстоит интересный квест поиска нужного кода на гитхабе/пакмане, а затем прописывание инклюдов, которые занимают больше места, чем реализация этой функции на хацкеле. Это я уже молчу про то, что тащить тяжелую библиотеку ради одной функции считается плохой манерой.

А разгадка проста: ЯП - это инструмент, и задача программиста - правильный выбор инструмента. А ты, макака, будешь писать на чём скажут, восхваляя любое дерьмо в попытках оправдать его поедание.
Аноним 21/05/20 Чтв 17:04:53 169644150
>>1696176
>попивая марочный коньяк
То есть функциональщики это обычные алкаши? Неудивительно, без работы и самореализации - только спиваться.

>обсуждала зигохистоморфные препроморфизмы
Написать-то на ФП-языках никакой продукт невозможно, остается только обсуждать.
21/05/20 Чтв 17:09:19 169644851
Аноним 21/05/20 Чтв 17:19:51 169646952
>>1696448
Ну вот, очередной ФПшники в ответ на правду смог выдать только
>пук
На работу вас не берут, из /math вас прогоняют фундаменталисты, остается только в ЖЖ срать, искать виноватых и пить портвешок.
21/05/20 Чтв 17:25:06 169648053
>>1696469
>пить портвешок

маня проецирует
Аноним 21/05/20 Чтв 17:30:06 169648654
>>1696332
> Напиши powerset для массива.
И часто тебе приходится это делать при написании прикладных программ?
Хаскелль только для задач типа этой или факториальчиков и годится. Большинство реальных задач так не решается, и хаскелль там только хуже сделает.
Это как задрачивать матан и диффуры, а потом увидеть, что большинство задач решается только численно, а не красивой формулкой
> в пару строчек
Аноним 21/05/20 Чтв 17:31:55 169649055
1589573956559.png (322Кб, 750x669)
750x669
>>1696332
двачну ещё, что яп под предметную область, не по под яп
Аноним 21/05/20 Чтв 17:32:30 169649156
>>1696469
>На работу вас не берут
Твои фантазии.

>из /math вас прогоняют фундаменталисты
Там одна студентота и околоматематические шизики сидят, нахуй туда вообще ходить?

>остается только в ЖЖ срать
>ЖЖ
Он ещё жив хоть?

>и пить портвешок
Не портвешок, а марочный коньяк, одна бутылка которого стоит, как месячный доход владельца галеры, где ты будешь чавкать на своём пыхапе до конца жизни.
Аноним 21/05/20 Чтв 17:34:12 169649757
Алкаши ИТТ
Аноним 21/05/20 Чтв 17:35:14 169650258
>>1696491
Что пишешь на ФП и каком языку конкретно?
Аноним 21/05/20 Чтв 17:48:41 169651959
>>1696491
В реальности ты просто необразованный тупой ублюдок, которому не достает самореализации. Скорее всего, ты еще и несчастлив в личной жизни и поэтому сбегаешь от реальности в свой ФП манямирок, чтобы избежать необходимости решать проблемы. Ты всего лишь жалкое трусливое чмо как 95% ИТшников.
Аноним 21/05/20 Чтв 17:51:25 169652560
>>1696519
Психоанализ по постам на мейлаче пошёл, найс.
Аноним 21/05/20 Чтв 17:52:20 169652861
>>1696519
Буквы на оранжевой доске так мучают эго, что молчать нету сил?
Аноним 21/05/20 Чтв 17:53:48 169653162
>>1696491
+ судя по тому, как ты напираешь на употребление портвешка, ты не поднялся выше первого уровня потребностей (пить, есть, спать, дрочить) и самоактуализироваться и заниматься творчеством ты не способен. Поэтому ты представляешься мне обычным быдланом и дегенератом как большинство посетителей этой доски. Ты подохнешь шавкой, которой нужно признание такого же тупого быдла, потому что не способен развить свой огрызок личности до третьего уровня потребностей - в творчестве.
Аноним 21/05/20 Чтв 17:55:42 169653563
>>1696528
Это твоя проекция, так как твой огрызок личности почти не развит, ты можешь строить примитивные суждения только предполагая, как бы ты сам поступил в некой ситуации. Так что ты в своем посте выдал лишь то, что в ИТ очень мучается твое эго, так как ты шавка и выше написания говнокода развиться не способен.
Аноним 21/05/20 Чтв 17:56:38 169653764
>>1696531
Уел, чем же такой творческий человек занимается?
Аноним 21/05/20 Чтв 18:22:01 169658665
>>1696531
Хуя разрыв. Иди тушись, порватка.
Аноним 21/05/20 Чтв 18:48:05 169662566
>>1689985 (OP)
>Истеричное отрицание простых структурных идей
В каких месте структурные идеи в ФП отрицаются? Наоборот, структурность повышается за счёт системы типов и контролем над сайд-эффектами. Напоминаю, что структурное программирование - это был первый шаг к снижению неконтролируемой мутабельности, до этого было принято пердолить глобальные переменные.

>Анти-императивщики
Нет никакого "анти-", есть когда удобно и когда нет. В хаскеле do-нотация читается так же, как обычный императивный код, и используется там где нужна. Но очевидно, что она нужна не всегда, а там где идёт работа с IO и стейтом, например. А вот бизнес-правила по своей природе чисто декларативны и писать/читать их в виде отношений удобнее, чем в виде пошаговых инструкций, мутирующих стейт.

>Философия монадоебства и нигилизма
Шта?

>И объясняют, хуле, весь интернет в этих ебаных монадах с эндофункторами.
По-моему это всё давно не актуально и осталось где-то в 2015. Самое смешное, что новыми баззвордами в 90% случаев тогда сверкали всякие пхп-ники, которые на хаскеле ничего сложнее факториала не писали. Все эти "монады в картинках" и прочие дегенеративные высеры для хабробыдла - как раз их рук дело. Те кто что-то реально писал на хаскеле крутились в весьма закрытой тусовке.

>Если замаскировать серьёзный архитектурный шаблон под ебаную шутку, то спектакль заметит только шутку. На
Дальше твои шизоидный пост не читал, ты как будто недавно прочитал высер это долбоёба (а гидебор именно долбоёб) и пытаешь пришить этот к бред ко всему подряд, в данном случае к программированию, то есть занимаешься типичным гуманитарным словоблудием, вместо написания чего-то по существу.
Мой совет, читай поменьше ситуиционистов и других долбоёбов типа гидербора, маркузе и т.д. и побольше изучай тему о которой хочешь что-то сказать.
22/05/20 Птн 01:51:47 169715067
>>1696486
>при написании прикладных программ?
Для тебя всё, кроме GUIшек для CRUDов - не прикладное и, соответственно, не нужно? Или ты просто обосрался и не смог даже простую функцию над массивом написать?

Powerset (булеан) - одна из базовых операций над множеством. Основы теории множеств сейчас изучают, кажется, ещё в школьной программе. Более прикладное вычисление сложно представить. Haskell - не для CRUDов, а для прикладных вычислений. Но ты предлагаешь полностью выбросить ФП, и вместо одной компактной строчки писать это в 10 при помощи двойного лупа.

Нравится формочки шлепать - пожалуйста, шлепай. Но оставь продвинутые ЯП для программистов, которые подбирают инструмент под задачу, а не как ты - задачу под инструмент.

Перестань орать "Ненужно!" на всё то, что ты не можешь понять.
Аноним 23/05/20 Суб 02:58:34 169859268
>>1696332
Пусть нам известна формула мощности всех подмножеств.
Тогда можно сказать, что единица бита в номере некоторого подмножества, это информация, принадлежит ли данный элемент данному подмножеству.
Из чего следует решение:

((array) => {
const result = [[]];

const arrayPower = Math.pow(2, array.length);
for (let index = 1; index < arrayPower; ++index){
const subset = [];
for (let i = 0; i < array.length; ++i){
const subsetPower = Math.pow(2, i);

if (index & subsetPower){
subset.push(array);
}
}

result.push(subset);
}

return result;
})([1,2,3])
// в консоле браузера

Твоя ебанина с powerset, это надо знать эту функцию. Как она себя ведет. Что выдает.
То есть можно сделать и так:
>lib.getAllSubsets(array)
Разница в том, что если getAllSubsets выполнена в структурном стиле, можно понять как она работает. Поведению powerset придется учиться. Скольким еще функциям нужно учиться, чтобы понимать, что у тебя происходит в программе, в плоть до того самого бита?
Ответ очевиден.
Аноним 23/05/20 Суб 07:30:14 169864069
Annotation 2020[...].png (21Кб, 774x209)
774x209
result.png (22Кб, 252x1937)
252x1937
>>1696332
На шарпике, две строчки
Аноним 23/05/20 Суб 08:06:58 169865270
>>1696332
> А ты, макака, будешь писать на чём скажут, восхваляя любое дерьмо в попытках оправдать его поедание.
Ты тоже, когда съедешь от мамки с борщами и устроишься на работу
Аноним 23/05/20 Суб 08:12:08 169865471
>>1692709
Как поддержала так и убьёт.
Проблема с мс в том, что всё что они делают служит цели анально вендорлокнуть тебя.
Им бы стоило .нет продвигать как стандартную платформу для виндовс программ, думаю Балмер так и задумовал.
Вместо этого они считай что убили платформу.

>>1692562
C# вдохновлялся делфями и это видно невооружённым глазом. И это есть круто.
Часто вижу заблуждение будто бы шарп жаву копирует. Идёт оно от маркетинга мс нацеленного на менеджеров и жавп макак, чтобы те не пугались.

По тому же принципу многие яп(включая шарп) заявляют что они на Си похожи. Видимо интелект среднего погромиста где-то между картошечкой и хлебушком.

>>1693455
Всё что угодно лучше джавы.
Джава была слишком современна для своего времени(изначально создавалась под "интернет вещей") но в 2009 уже безвозвратно устарела. Чего только стоит пердолинг для самых простых вещей вроде подключения библиотеки. И сторонние средства управления проэктом сборкой отладкой. Да ну нахуй.
Это такой расжиревший умственно отсталый кобол С++ получается.
Аноним 23/05/20 Суб 08:18:11 169865572
>>1696490
Двачну ещё предметно ориентированным подходом и лиспом для простого создания DSL
Аноним 23/05/20 Суб 08:38:21 169866173
Аноним 23/05/20 Суб 10:17:23 169869774
>>1698654
>Им бы стоило .нет продвигать как стандартную платформу для виндовс программ, думаю Балмер так и задумовал.
Ну так она и есть, разве нет?
Аноним 23/05/20 Суб 10:45:05 169870875
>>1698697
Нет.
По моему даже не предустановленно в виндовс.
И маркетинга соответствующего нет от слова совсем.
Аноним 23/05/20 Суб 11:28:57 169872876
>>1694753
>Вот только котлин есть везде, а свифт только на ябломобилках и больше никому нигде не нужен
Тем временем в котлинтреде лул

>>1698698 →
>котлин - ондроид онли и то с обязательным знанием жавы
Аноним 23/05/20 Суб 11:40:20 169873377
>>1698708
Предустановлена конечно же. И даже вместе с компилятором шарпов.
Не знаю, какой тебе маркетинг нужен. Ты документацию вообще пробовал открывать?
https://docs.microsoft.com/en-us/windows/apps/desktop/ - там на выбор, как правило, либо .NET, либо кресты.
23/05/20 Суб 13:46:57 169881178
>>1698592
>Скольким еще функциям нужно учиться, чтобы понимать, что у тебя происходит в программе, в плоть до того самого бита?
Давай посмотрим. Вот функция:
powerset a = filterM (\x -> [False, True]) a

Я упростил для императиво-макак, добавив две буквы a, т.к. каррирование им не знакомо. Идем дальше - filterM принимает функцию для сравнения (True - оставляет, False - выбрасывает) и список (монада). (\x -> [False, True]) это анонимная функция (лямбда), в ней мы берем элемент списка, и создаем список, где этот элемент есть, и где его нет. Т.к. эта анонимная функция применяется к каждому элементу, мы имеем список списков, где в каждом элемент либо выброшен, либо оставлен.

Вообщем, простой пример недетерминированного вычисления. А скомпилируется это, конечно, в простой перебор. Неужели тебе так сложно представить луп, который проходится по первому элементу, создавая два списка - где элемент есть, и где элемента нет; второй проход берет результаты первого, и ещё раз их раздваивает на список, где второй элемент есть, и где его нет; и так каждый последующий проход. Можешь себе это представить в виде разветвлений, которые компьютер создает на каждом этапе - в итоге получится красивое фрактальное дерево.

Алсо, твой пердимонокль на JS у меня почему-то не заработал. Тестировал на лисах. Нужен хром? Или ноду поднять?
23/05/20 Суб 14:01:57 169882379
>>1698640
По-твоему это читабельнее того однострочника? Алсо проиграл с этих битхаков умножения на 2, которые компилятор шарфика до сих пор не умеет оптимизировать сам (т.к. оптимизация переложена на рантайм, а в рантайме cmp с 2 при каждом умножении слишком дорого).

Я уже не говорю о том, что функция на Haskell - это generic, и будет работать с любыми типами данных в списке (хоть тульпами). Но про производительность я не умолчу: все эти Where и Select - это вызовы в рантайме, а Join на иммутабельных стрингах это вообще O(n^2) ад.
Аноним 23/05/20 Суб 16:27:01 169896380
>>1698823
Хотел две строчки, получил две строчки. А для читабельности можно в функцию обернуть.

> битхаков умножения на 2
ващет это битхак возведения двойки в степень

> Я уже не говорю о том, что функция на Haskell - это generic, и будет работать с любыми типами данных в списке
В шарпе тоже. Эти две строчки даже в генерик-функцию оборачиваются без изменений.

> все эти Where и Select - это вызовы в рантайме
Ну а где же ещё? Или ты планируешь, что список будет всегда один и тот же?

> а Join на иммутабельных стрингах это вообще O(n^2) ад
Поэтому чтобы они не был адом, придумали StringBuilder — который, насколько я знаю, используется внутри string.Join хотя я сам лично не проверял

Впрочем, это всё меркнет на фоне I/O внутри Console.WriteLine, который в этой программе, скорее всего, тормозит больше всех.
Аноним 23/05/20 Суб 17:23:05 169904281
>>1698823
> читабельнее того однострочника
И то, и это - одинаковое нечитаемое говнище. Даже если записывается компактнее, нихуя это читабельнее не становится. Это как регекспы vs строковые функции.
23/05/20 Суб 17:27:34 169904582
>>1698963
>получил две строчки
А почему не в одну? Там ведь можно перенос удалить. А по официальным стайлгайдам там перед каждой лямбдой перенос будет.

>А для читабельности можно в функцию обернуть
А, ты из этих, которые насрали говнокода, размазали тоненьким слоем по функциям и думают, что он говнокодом от этого перестал быть.

>Ну а где же ещё?
Компайл-тайм, т.к. массив известен заранее. Кресто-, D- и Nim-господа смотрят на тебя неодобрительно. А если серьезно, реализация всей это дрисни в .NET максимально неэффективна, foreach от 2 до 5 раз проигрывает обычному for без указателей, Where и Select делают целые деревья вызовов и являются медленее даже самой наивной их реализации.

>это всё меркнет на фоне I/O внутри Console.WriteLine
Нет. Это всё меркнет на фоне подгрузки библиотек .NET для вызова любой из функций.
23/05/20 Суб 17:35:38 169905883
>>1699042
>одинаковое нечитаемое говнище
Для тебя - да. Но я вон на пару постов выше объяснял, как оно работает. Недетерминированные вычисления достаточно понять один раз, зато дальше ты сможешь в пару строчек уделывать простыни соответствующего кода на любом императивном языке.
Аноним 23/05/20 Суб 17:43:44 169906784
>>1699058
> достаточно понять один раз
И всё равно это требует куда большей квалификации, иначе к каждой строчке придётся писать по 10 строчек комментариев, чтобы понял не только автор, но и все, кто будет читать. Ты вот пытался читать исходники GHC? Сильно понятно, что там происходит?

Императивный код пишут максимально тупо и понятно не от хорошей жизни, а от того, что чем код сложнее, тем сложнее найти тех, кто сможет его потом поддерживать. Да, тупо. Но понятно. Поэтому чистое ФП никогда не взлетит.
23/05/20 Суб 17:53:50 169907985
>>1699067
>чтобы понял не только автор, но и все, кто будет читать
Такие функции пишутся людьми, способными понять недетерминированные вычисления; обычными пользователями только используются. Но даже так в ФЯП есть гарантии чистоты (что функция не вернет сначала одно, потом другое для одних и тех же аргументов), и ошибки в 3 словах допустить сложнее, чем в 33.

>Но понятно
Тебе та дрисня понятнее? Код на хацкеле требует понимания чуть более сложных концептов. Но за это ты получаешь кучу ништяков в виде быстрого, краткого и читабельного (при наличии соответствующих знаний) кода. Но, опять же, каждый осиливает то, что может - макаке ты концепты сложнее лупов объяснить не сможешь.
Аноним 24/05/20 Вск 03:35:14 169964286
image.png (43Кб, 572x533)
572x533
>>1698811
>не заработал
https://ideone.com/imAZp1

>Неужели тебе так сложно представить луп, который проходится по первому элементу, создавая два списка - где элемент есть, и где элемента нет;
Так это не сложно, однако требуется некоторое обучение поведению монад и функции filterM. Обучение стоит дорого. Держать в память головы поведение всех функций еще дороже. Скорее всего даже дороже, чем все что ты можешь написать функционально.
Аноним 24/05/20 Вск 04:26:31 169964587
>>1699045
1. Ты не понимаешь ООП.
2. Дрочиш на микрооптемизации, что уже оче плохой знак.
3. Ты не понимаешь зачем вообще нужен рантайм.

В общем ты выдрочил очень узкое и абскурное знание и терь надуваешь щеки.
Аноним 24/05/20 Вск 04:40:15 169964688
>>1699045
>А почему не в одну? Там ведь можно перенос удалить.
Можно и одну, но любители перфокарт будут недовольны — за 80 символов вылезет.

>А, ты из этих, которые насрали говнокода
Какая задача, такой и код.

>Компайл-тайм, т.к. массив известен заранее.
А компилятор хаскелля на эфире что ли работает, ему процессорное время не нужно, чтобы развернуть эту залупу?

>реализация всей это дрисни в .NET максимально неэффективна
Алло, мы говорим об алгоритме со сложностью O(2^n) ну или что-то типа того, кого вообще при этом ебёт эффективность конкретных Select-ов

>Это всё меркнет на фоне подгрузки библиотек .NET
Нет, это всё меркнет на фоне времени, которое нужно программисту, чтобы поднять палец, и нажать Run
Аноним 24/05/20 Вск 10:30:29 169971089
>>1698592
>>1698640
Паскалисты-алгольщики, у вас int переполнится при большом массиве.
Аноним 24/05/20 Вск 10:37:57 169971290
>>1698811
>А скомпилируется это, конечно, в простой перебор.
Простой не значит быстрый. Вот покажи, какой машинный код у filterM.
24/05/20 Вск 13:13:02 169983391
>>1699645
>1. Ты не понимаешь ООП.
Ну-ну. Я уверен, что на шарфике кода больше, чем ты, написал. Правда, не на модных версиях; писал на C# 5.0, сейчас уже 8.0 вышел (я кучу добавлений пропустил вроде паттерн матчинга; но LINQ уебищный, если мне надо будет под .NET функциональщины понаписывать - я лучше F# выберу).

>2. Дрочиш на микрооптемизации, что уже оче плохой знак.
Просто потому, что шарперы обычно любят рассказывать, какой у них быстрый ЯП. Они не учитывают, что говнокод будет медленный на любом языке.

>3. Ты не понимаешь зачем вообще нужен рантайм.
Для интерпретации байткода CIL.
Аноним 24/05/20 Вск 13:16:33 169983792
15753113904740.png (887Кб, 794x798)
794x798
>>1699710
>большой массив
>powerset
Аноним 24/05/20 Вск 17:46:14 170029693
>>1696332
Справедливости ради, это красивый, но очень неочевидный код, говорю как человек использующий ФП в разных видах уже лет шесть. И это еще хорошо что filterM - известная функция из стандартной библиотеки. Я бы хотел в таких местах видеть комментарий объясняющий принцип работы. Кроме того, подобный код очень редко переживает изменения требований, когда они начинают не настолько хорошо ложиться на уже имеющиеся функции. В этом случае приходится вручную писать что-то вроде >>1698640, что кстати вполне себе ФП-стиль и читается намного лучше императивного решения. Но он тоже не абсолютно очевиден и я бы все равно добавил комментарий.
>>1699045
>насрали говнокода, размазали тоненьким слоем по функциям и думают, что он говнокодом от этого перестал быть
Вообще-то инкапсуляция говнокода или просто сложного кода вроде этого самого powerset действительно облегчает жизнь в разы.
>>1698811
>filterM принимает функцию для сравнения (True - оставляет, False - выбрасывает)
>в ней мы берем элемент списка, и создаем список, где этот элемент есть, и где его нет
>мы имеем список списков, где в каждом элемент либо выброшен, либо оставлен.
Ты уверен что сам понимаешь как это работает? Из твоего объяснения я бы ничего не понял, если бы сам не знал что filterM делает.
>А скомпилируется это, конечно, в простой перебор.
Какой именно перебор? Там будет битовая арифметика с индексами? Очень сомневаюсь.
Аноним 24/05/20 Вск 19:50:28 170045294
>>1699833
>я лучше F# выберу
Ты явно на том мертворожденном говне писать не пробовал
24/05/20 Вск 20:16:56 170048595
>>1700452
Вполне себе пробовал. Для небольших программ всё ещё лучше C# с его уебищным LINQ и тоннами бойлерплейта. Ясно, что для матана и остальных чисто функциональных задач F# будет куда хуже Haskell, но определенные задачи решать можно.
Аноним 24/05/20 Вск 20:35:50 170050996
>>1700485
И какие же задачи можно решать на этом дите ML, ну, кроме laba1 и laba2?
24/05/20 Вск 21:08:32 170052897
>>1700509
Очевидно, наговнокодить модулей под .NET, потом склеить все вместе в одну программу. F# ощущается приятнее C# - гораздо слаще и меньше бойлерплейта. Как инструмент он лучше, и хоть шарперы и жалуются, что там нельзя байтоёбствовать, unsafe с указателями я видел всего в полутора проектах. Туда, где важна скорость, я .NET тащить точно не буду, так что остаются только всякие utility-модули для шарповских UIшек.
Аноним 24/05/20 Вск 23:19:20 170073998
>>1700528
>Туда, где важна скорость, я .NET тащить точно не буду
Говнокодер неосилятор детектед.

Ну зачем тебе ФП когда ты на шарпе не можешь производительный код писать?
24/05/20 Вск 23:33:43 170077499
>>1700739
>когда ты на шарпе не можешь производительный код писать
Писать-то я могу. Вот только сама по себе транспиляция в байткод, сборщик мусора и линкование с библиотеками .NET не предполагает максимальной скорости. А если придется выкинуть эксепшены, ручками выделять память через stackalloc и отказаться от модных фишек по типу LINQ - то не вижу причин не делать это на чистом C (там хотя бы макросы есть и человеческий interop без тонн бойлерплейта).

C# - не silver bullet, у него есть свои области применения. Не стоит лезть туда, где язык слаб - в time-critical приложения.
Аноним 24/05/20 Вск 23:39:13 1700789100
>>1700774
> то не вижу причин не делать это на чистом C
Чувак, по-моему, ты сильно лурка перечитал. То ты на F# пишешь, то на чистом си. Расскажи хоть про свои проекты кроме laba1 и laba2, где ты использовал что-то из своего манястека, кроме C#.
25/05/20 Пнд 00:07:02 1700859101
>>1700789
Сомневаешься в моих знаниях? Проверь их для любого из этих языков: ассемблер x86, C, C#, Nim. Могу и по-хаскелевски чего-то спиздануть, но это скорее хобби, как и всякая экзотика вроде APL.

>где ты использовал что-то из своего манястека
Я учился не конкретному ЯП и даже не конкретному стеку, а абстрактному программированию в вакууме. Освоить синтаксис конкретного языка не так сложно, когда ты уже попробовал все парадигмы.

Программирование для меня - средство решения проблем, а ЯП - инструменты.
Аноним 25/05/20 Пнд 00:25:58 1700900102
>>1700859
>Сомневаешься в моих знаниях?
Ещё как.
> Программирование для меня - средство решения проблем, а ЯП - инструменты.
Так я не понял, и где ты использовал что-то кроме шарпа из своего манястека? Какие, так сказать, проблемы уже решил?
Аноним 25/05/20 Пнд 00:50:34 1700918103
>>1700774
>не предполагает максимальной скорости
Что такое "максимальная скорость программы"?
Как её измерить, и как узнать среднюю и минимальную?

>Не стоит лезть туда, где язык слаб - в time-critical приложения.
На шарпе пишут хайлод очень даже успешно.
Что у тебя там за блядь тайм критикал приложения такие?

>то не вижу причин не делать это на чистом C (там хотя бы макросы есть и человеческий interop без тонн бойлерплейта)
Ты бредишь.

> ручками выделять память через stackalloc
Ты шарпа не знаешь.
Чтобы писать высокопроизводительные решения ненужно унсейв во все поля.
А stackalloc используют чаще для обеспечения постоянства времени аллокации чем какой-то мифической скорости.

> на чистом C
Пытаясь создать сложное ПО на С ты закончишь построением костыльных С++, после чего на их основе создашь костыльный рунтайм и сборщик мусора, по типу шарпа, только в миллион раз говнокоже и гаже.
25/05/20 Пнд 01:07:02 1700933104
>>1700918
>Что такое "максимальная скорость программы"?
Открой benchmarksgame. Видишь его хоть где-то в первой десятке? Или бенчмарки не бенчмарки, а нативщики говна в жопу залили?

>На шарпе пишут хайлод очень даже успешно.
Хайлоад на ЯП со сборщиком мусора. Молодец, хорошо пошутил. Давай ещё пасту про "хайлоад на питоне" притащи.

>А stackalloc используют чаще для обеспечения постоянства времени аллокации чем какой-то мифической скорости.
По-твоему вызов функции ядра через несколько прокладок абстракций дороже отнятия нужного количества байт от указателя на стек? Ты идиот?

>Пытаясь создать сложное ПО на С
По-твоему я буду писать всю программу на C, а не просто вынесу хотспоты в либу, написав остальное на чем-то неспешном вроде твоего C#?
Аноним 25/05/20 Пнд 01:25:10 1700959105
>>1700933
>Открой benchmarksgame. Видишь его хоть где-то в первой десятке? Или бенчмарки не бенчмарки, а нативщики говна в жопу залили?
Я тебя спросил, что такое "максимальная скорость приложения", а ты на говно изошелся с какими-то бенчмарк играми.
Ты меня напугать "спортивным программированием" хочешь?
Еще раз, что такое "максимальная скорость приложения"?

>Хайлоад на ЯП со сборщиком мусора. Молодец, хорошо пошутил. Давай ещё пасту про "хайлоад на питоне" притащи.
Ты не разбираешься в вопросе. Не понимаешь зачем нужно правление памятью и как это влияет на производительность.

>По-твоему вызов функции ядра через несколько прокладок абстракций дороже отнятия нужного количества байт от указателя на стек?
1. Я такого не писал. Ты на чей пост вообще отвечаешь?
2. Почему тебя так волнует деалокация?
3. Без абстракций невозможно писать ПО.

>По-твоему я буду писать всю программу на C, а не просто вынесу хотспоты в либу, написав остальное на чем-то неспешном вроде твоего C#?
По моему ты молодой и горячий, считаешь что уже всё знаешь. Лет через 5-10 пройдет.
Или конечно шиза и графомания.
Аноним 25/05/20 Пнд 01:42:25 1700975106
>>1700959
Ой, этот шиз еще жив. Не тратьте на него время
мимо
25/05/20 Пнд 01:44:48 1700976107
>>1700959
>Еще раз, что такое "максимальная скорость приложения"?
Скорость выполнения, очевидно. Максимальная - у рукописного машинного кода (ассемблер) с многопоточностью по возможности. В реальности почти всегда будет достаточно и C/++/Rust с интринсиками для хотспотов.

>как это влияет на производительность
Негативно. Отслеживание числа ссылок (reference count) не бесплатно. Сборщик мусора вообще достаточно дорогая абстракция.

>Почему тебя так волнует деалокация?
Потому что если на стеке, то она бесплатна - mov esp, ebp. А на хипе это вызов функции из kernel32 через пару слоев абстракции .NET.

>Без абстракций невозможно писать ПО.
Возможно, но не нужно в случае, если тебе не важна скорость. Если скорость таки важна - используешь меньше абстракций (вроде C#) для тех частей, где она важна.
Аноним 25/05/20 Пнд 02:05:04 1700990108
>>1700975
Да, походу человек болен.
Аноним 25/05/20 Пнд 08:37:04 1701141109
>>1699067
>императивка понятнее фп
Мань, ты про хуелловорлды, что ли?
Без нормальных доков любой проект нечитаемый.
Аноним 25/05/20 Пнд 08:39:43 1701143110
293949212442192[...].png (412Кб, 750x669)
750x669
Пикча в тему треда
Аноним 25/05/20 Пнд 09:17:18 1701159111
>>1700976
>Отслеживание числа ссылок (reference count) не бесплатно.
В шарпе не отслеживается число ссылок.
Аноним 25/05/20 Пнд 09:51:55 1701199112
>>1700976
> на хипе это вызов функции из kernel32 через пару слоев абстракции .NET.
Проснись, хип обращается к ядру очень редко. Большинство alloc/dealloc выполняются из локального кэша, даже без взятия блокировок.
Аноним 25/05/20 Пнд 09:57:57 1701211113
Аноним 25/05/20 Пнд 10:00:22 1701214114
Аноним 25/05/20 Пнд 10:06:08 1701223115
>>1701214

Ща чет орнул с подливой в голосину:

> Burst does not support :
> string as this is a managed type
> catch
> try/finally (which will come at some point)
> foreach as it is requiring try/finally (This should be
> supported in a future version)
> Storing to static fields except via Shared Static
> Any methods related to managed objects (e.g string methods...etc.)




Аноним 25/05/20 Пнд 10:09:12 1701228116
>>1701223
Для даунов вроде шиза с сажей сойдёт
Аноним 25/05/20 Пнд 10:11:15 1701234117
>>1701228
>Для даунов вроде шиза с сажей сойдёт

Ну как бы он для отдельных горячих кишочков какой-нибудь дрочильной ебы, да, всю игру на нем писать не нужно.
Аноним 25/05/20 Пнд 10:48:39 1701266118
!!laugh.jpg (2497Кб, 2000x2000)
2000x2000
>>1701211
> Популярнейший фреймворк для геймдева
> Хост-язык сирешётка настолько хуёвый, что в него притащили LLVM
> Моё лицо, когда
Аноним 25/05/20 Пнд 10:58:06 1701273119
Пора переписывать юнити на F# и хаскелль.
Аноним 25/05/20 Пнд 11:48:18 1701372120
>эти реализации poweset в треде

Ребят, вы ебу дали?

powerset([]) -> [[]];
powerset([H | T]) -> Rest = powerset(T), [[H | Subset] || Subset <- Rest] ++ Rest.
Аноним 25/05/20 Пнд 11:53:45 1701381121
>>1701266

Вот кстати юнитигеи обходит запрет на жит на яблоке? У них сисярп аотом компилируется в натив?
Аноним 25/05/20 Пнд 12:04:58 1701402122
>>1701273

Вы сначала вашему клону квейку 3 сделайте системки как у хотя бы ioquake, а не как у круйзиса 3.
Аноним 25/05/20 Пнд 12:13:17 1701421123
Пора клону квейка 3 сделать системки как у хотя бы ioquake, а не как у круйзиса 3.
Аноним 25/05/20 Пнд 12:15:01 1701426124
Аноним 25/05/20 Пнд 12:16:09 1701432125
>>1701372
Прологобоярин вваливается:
pset([], []).
pset([H|T], P) :- pset(T,S), (P=S ; P=[H|S]).

Аноним 26/05/20 Втр 01:37:31 1702656126
>>1701141
>Без нормальных доков любой проект нечитаемый.
Померить бы как-нибудь, читаемость компонентов, написанных на чистом фп и на чистом сп. Например, насколько та или иная библиотека становится популярной. Стабильной. Используемой. Расширяемой. То есть люди, помимо автора, которые что-то с этими компонентами делают, очевидно поняли, как эти компоненты работают.
Аноним 26/05/20 Втр 04:51:01 1702708127
>>1702656
Если к автору доки для фс библиотеки добавить ещё исследователя читаемости и гугл бота то получим матожидание читаемости любой доки к фп либе равное 3 трём.

Тоже касается и кода, только без гугл бота.
Аноним 26/05/20 Втр 05:02:01 1702711128
>>1702708
Мне бы хотелось что-то вроде:
Смотрим функциональные компоненты.
Смотрим структурные компоненты.

Смотрим количество различных людей, сделавших форк+коммит по этим компонентам.
(форк+коммит значит что человек понял что делает компонент и изменил его в нужную ему сторону).
Я смотрел на гитхабе несколько чисто фп проектов, они почти все писались в одно ебало. Рыть/смотреть больше, как-то не особо хочется, может есть какая-то визуализация по этому животрепещущему вопросу.
The original .net garbage collector was written in Common Lisp Аноним 27/05/20 Срд 03:09:58 1704000129
15897203073850.gif (45Кб, 499x499)
499x499
Аноним 27/05/20 Срд 03:47:06 1704006130
>>1704000
И причем тут ФП? Lisp - ЯП общего назначения, императивный по большей части.
Аноним 27/05/20 Срд 04:41:46 1704014131
>>1704006
>Язык в мат аппарате которого кроме функции вообще ничего нет
>Язык в котором кроме функции есть только атом который можно представить как функцию
>И причем тут ФП?
Да вот хуй его знает.

>Lisp - ЯП общего назначения
Ты путаешь элитарное борщехлебство и функциональное программирование.
В первом случае получается троллинг тупостью на двачах.
Во втором готовые промышленные решения.
Аноним 27/05/20 Срд 06:33:21 1704030132
>>1704014
Ты еще про скобочки расскажи. И что special forms, коих много, это никакой не синтаксис, например, а атомы такие, или функции. У Лиспа же "нет синтаксиса" 'лэть.
А промышленно чего же не использовать. ЯП общего назначения, гибкий, богатый, с отличными коммерческими реализациями (аж две), стабильным стандартом языка и качественными библиотеками в оных.
Аноним 27/05/20 Срд 09:16:45 1704064133
>>1704014
>Язык в мат аппарате которого кроме функции вообще ничего нет
>Язык в котором кроме функции есть только атом который можно представить как функцию
С разморозкой! Там коммон лисп, помойка всех концепций программирования.
Аноним 27/05/20 Срд 09:29:22 1704068134
Аноним 27/05/20 Срд 10:09:34 1704091135
Необразованный тут только оп-хуй, противопоставляющие СП и ФП, это реально индикатор нюба, причём даже по теоретической базе.
Аноним 27/05/20 Срд 12:47:05 1704216136
>>1704068
Ты стандарт хотя бы почитай. Как и что разные специальные формы биндят и эвалуэйтят. И как оно в Лисп прибито что не оторвешь.
Аноним 27/05/20 Срд 16:51:10 1704439137
>>1704216
Семантика важнее синтаксиса.
Прибитость ни на что не влияет.
Аноним 27/05/20 Срд 18:16:15 1704539138
Аноним 27/05/20 Срд 18:36:34 1704568139
Такое ощущение, что этот тред пришел судя из периода 2012 - 2016. Вон даже пасты в духе пост-общения на месте.
Аноним 27/05/20 Срд 18:51:13 1704580140
>>1704568
Не надо распространять тут мифы, что борщехлёбство осталось в 2015. Это не так. Оно никуда никогда не уходило.
Аноним 27/05/20 Срд 21:04:19 1704739141
Для чего нужен powerset?
Аноним 28/05/20 Чтв 08:21:14 1705106142
>>1704091
А где противопоставляет?
>...не выходящая за его пределы
Помоему очень точно.
Аноним 28/05/20 Чтв 08:52:44 1705114143
>>1704739
Перебор всех возможных сочетаний, как при решении задачки про миссионеров и каннибалов.
Аноним 28/05/20 Чтв 10:01:50 1705139144
>>1704739
Чтобы выёбываться на двачах, что на одних языках он записывается короче, чем на других.
Аноним 28/05/20 Чтв 10:12:41 1705148145
>>1704739
Для перебора всех возможных случаев в конечном множестве.
Например у нас есть список предпочтений в фильмах.
Нам надо перебрать все возможные подмножества этих предпочтений.
Чтобы потом разбить множество людей на множества предпочитающих одинаковое.
Делал такое. Только использовал библиотеку.
Аноним 28/05/20 Чтв 19:22:04 1706026146
>>1704539
У тебя с ним какие-то проблемы, ты и обосновывай.
Аноним 28/05/20 Чтв 20:16:06 1706061147
>>1705114
>>1705148
Но ведь если в массиве 32 элемента (всего!), то наборов получится уже больше 4 миллиардов! Их нереально отфильтровать без хаков типа sql-ных индексов. Или такие хаки есть?
Аноним 28/05/20 Чтв 20:24:20 1706066148
>>1706061
Варианты можно генерировать и обрабатывать по одному.
Памяти для этого достаточно, грубо говоря, 32 бита, чтобы хранить номер текущего варианта.
Аноним 28/05/20 Чтв 20:35:37 1706078149
>>1704030
>И что special forms, коих много
Тэкс, давай по памяти
quote cons car cdr lambda eq
Аноним 28/05/20 Чтв 20:43:52 1706090150
>>1706078
Тадам! Ты угадал quote и lambda.
Аноним 28/05/20 Чтв 20:45:08 1706091151
>>1706090
Так, тогда расскажи-ка мне что ты понимаешь под особой формой.
Аноним 28/05/20 Чтв 20:46:46 1706093152
Всё, не надо.
Иными словами, особых форм ещё меньше, чем девять, так что...
Аноним 28/05/20 Чтв 20:51:08 1706102153
>>1706091
Особая форма = встроенный макрос.
При вычислении особой формы она "сама решает", вычислять или нет аргументы, и как именно.
Перед вычислением обычных функций eval вычисляет им все аргументы.
Аноним 28/05/20 Чтв 20:53:17 1706108154
>>1706093
Тадам! Опять не угадал.
28/05/20 Чтв 20:57:27 1706110155
Lisp не нужен.
Haskell не нужен.
F# не нужен.
Ruby не нужен.
C# не нужен.
Rust не нужен.
Prolog не нужен.
Аноним 29/05/20 Птн 02:55:42 1706372156
>>1706061
>то наборов получится уже больше 4 миллиардов! Их нереально отфильтровать
Пф.
А ты на Цп запусти а не на утюге. Ты представляешь вообще скорости современных ЦП? Там миллиарды герц тактовые частоты и супер оптимизированные инструкции.
Аноним 29/05/20 Птн 08:54:27 1706437157
Аноним 29/05/20 Птн 10:41:22 1706537158
>>1706110
Всё так.
Нужны только Idris, Ponylang и Mercury.
Аноним 29/05/20 Птн 17:53:55 1707081159
>>1706437
Что-то не могу понять, почему специфичный диалект лиспа выдаются за сам лисп.
Аноним 29/05/20 Птн 17:55:00 1707083160
>>1706108
Угадал. Речь не о конкретном диалекте, а о лиспе.
Аноним 29/05/20 Птн 19:18:52 1707164161
>>1707081
Потому что этот диалект - результат унификации дюжины диалектов, ответвившихся непосредственно от LISP 1.5 Маккарти.
Аноним 29/05/20 Птн 20:03:05 1707220162
>>1707083
Уноси свой сферический лисп.
Срач начался с упоминания CL.
/срач
Аноним 29/05/20 Птн 21:21:01 1707361163
>>1707220
Вижу.
Я не читал нить сначала, прочитал только >>1704030 , и в нём и в предыдущем было написано лисп, а не CL, так что сами виноваты.
Аноним 29/05/20 Птн 22:23:46 1707468164
ФП ненужнл. Js и ООП наше всё.
Аноним 30/05/20 Суб 03:49:53 1707650165
1347053714e16b.jpg (70Кб, 680x392)
680x392
100 злых прогеров, противоречащих друг другу в каждом сообщении... А где правда-то? В чём все друг с другом согласны??

Я, например, даже парадигмы друг от друга не отличаю в языках. Это весьма трудно для понимания. Разве функцию нельзя свести к процедуре и наоборот? Всё очень близко друг к другу. Как мне кажется, функциональщина ближе к математике, а процедурщина - к информатике. В таком разрезе языки просто решают либо разные задачи, либо просто удобны людям с разным складом мышления. И о чём тогда спор?
Аноним 30/05/20 Суб 04:02:26 1707659166
>>1707650
Процедура это такая функция, у которой всегда void в результате. Функция более общее понятие. Так что нет, просто так нельзя свести.
30/05/20 Суб 09:02:22 1707733167
>>1707650
>функциональщина ближе к математике
Функциональщина - срез математики и информатики, зачастую с поправками на среднюю архитектуру компьютера.

>процедурщина - к информатике
Императивщина - набор инструкций для абстрактной (или реальной) машины. ТруЪ-императивщина - ассемблер/машкод, остальное - абстракции поверх, т.к. большинство ЯП не дают чёткой гарантии исполнения, только результата (а это уже элементы декларативщины).
Аноним 30/05/20 Суб 09:33:29 1707738168
>>1707659
>Процедура это такая функция, у которой всегда void в результате
Плюсопетушок закукарекал.
Аноним 30/05/20 Суб 21:41:24 1708582169
>>1707650
Никто ни с кем не согласен. Думаешь, сотни языков по десятку подходов в каждом просто так придумали?

И всё же есть сочетания, за знание которых платят бабло прямо сейчас, и если ищешь работу, на них стоит поставить в первую очередь. Через несколько лет эти сочетания будут другие, и несколько лет назад тоже были другими. Наконец, есть и такие, которые, вероятно, не взлетят никогда, в их защиту тут выступает анон, пишущий с сажей. Но это не потому, что он правда так считает, а потому что он очень жирный тролль.

Ну а если учишь язык не для работы, то изучай что угодно, хоть декларативное программирование на коболе.
Аноним 30/05/20 Суб 23:08:32 1708680170
>>1706372
Вы какие-то странные. 32 элемента множества я взял просто как размер int, если это делать на C. Пусть будет 100 элементов, это тоже очень мало, но полного перебора никто из нас уже не переживет. Тут нужны какие-то способы одним ударом срезать сразу много лишних вариантов без их проверки и показать, как эти способы красиво реализуются в ФП.
Аноним 31/05/20 Вск 09:30:38 1708868171
>>1708680
Тут не powerset нужен, а интеллектуальный генератор вариантов.
Аноним 31/05/20 Вск 15:11:04 1709048172
>>1689985 (OP)
Давайте устроим батл. Пишем программу шашки на языке с вашей любимой парадигмой. Требования:
- минимизировать зависимости от жирных фреймворков, в идеале использовать простую библиотечку для рисования графики и обработки ввода
- соблюдение правил русских шашек
- отображение допустимых ходов
- режим игры с человеком и ИИ (ИИ просто делает случайный допустимый ход)
- анимация движения (шашки не должны перемещаться скачками)
-
Аноним 31/05/20 Вск 15:13:08 1709051173
>>1709048
Слишком сложно, здесь только маняоднострочники на хаскелле умеют писать.
Аноним 31/05/20 Вск 16:36:17 1709153174
РезультатыТестов.jpg (9Кб, 245x69)
245x69
>>1707650
СП - программирование без прямой передачи управления.
ООП - программирование без косвенной передачи управления.
ФП - программирование без присваивания.

СП самая молодая парадигма. Если брать математику, то разработка программ похожа в ней на решение задач в рамках теории множеств. Ты создаешь массивы. Ты создаешь структуры. Ты накладываешь на них ограничения. Ты косвенно передаешь управление с помощью указателей на функции.

ООП появился где-то между. Если брать математику, то разработка программ похожа на решение задач в рамках теории графов. Ты мыслишь объектами и диаграммами, компонентами, твоя задача правильно выбрать узкие места в архитектуре, чтобы приложение было гибким там где надо( используешь интерфейс) и жестким там где не надо. Все что тебе нужно для ООП это представление графа связей различных компонентов приложения, ты уже не мыслишь множествами, ты мыслишь графами.

ФП самая старая из парадигм. Если брать математику, то это похоже на то, что пытается сделать с математикой маняматик Николя Бурбаки. Это попытка уместить в абстракциях реальность. Попытка программировать наиболее общими вещами: функциями. В функциональном программировании ты не решаешь задачу, ты не мыслишь ни графами ни множествами. Ты мыслишь абстракциями. Ты не знаешь что может скрываться за конкретным математическим преобразованием. Ты не сможешь выразить то, что не выражается композицией известных твоей голове функций. Программируя функционально, ты собираешь лего.
Аноним 31/05/20 Вск 17:11:09 1709212175
Парадигмы-хуигмы, а на деле пишешь еще один ублюдочный парсер XML.
31/05/20 Вск 18:50:21 1709310176
>>1709153
>СП самая молодая парадигма.
Дальше не читал.
Аноним 01/06/20 Пнд 09:54:07 1709724177
image.png (31Кб, 757x349)
757x349
>>1709310
И правильно. Зачем знать историю? Это все для быдла. Книги там. Парадигмы какие-то.
Аноним 01/06/20 Пнд 10:56:10 1709759178
>>1709724
ну как обычно, тупо хронология без малейшего погружения в тему

функциональное программирование идёт параллельно процедурной параше, в то время как структурное, затем модульное и наконец ОО программирование - это надстройки над процедурной парашей

я много уёбков повидал, что спорили где раньше появилось оопе в симуле или в смолтоке, но ты со своим алголом прямо бьёшь все рекорды
мань, мейнстримовое ООПе, которое используется по сей день появилось с крестов и окончательно закрепилось в обероне джаве, а высеры глубокой старины никого не ебут
важно как шло реальное развитие индустрии, а не кто и когда из академических пидарасов раньше пукнул очередным базвордом, поэтому даже этот полушуточный высер https://lurkmore.to/_/118731#mws_RUfeJmg намного точнее передаёт реальных ход развития парадигм, чем твоя энциклопедичная хуита
Аноним 01/06/20 Пнд 12:34:11 1709837179
Аноним 01/06/20 Пнд 13:17:37 1709858180
>>1709759
>ну как обычно, тупо хронология без малейшего погружения в тему
Без малейшего погружения, это думать что появление какой-то парадигмы равняется времени, когда оно стало популярно среди разработчиков ПО.
>но ты со своим алголом прямо бьёшь все рекорды мань
Так это не я. Это Оле Йохан. Ему наверное надо было делать открытие тогда, когда все стали работать в рамках ООП?
>важно как шло реальное развитие индустрии, а не кто и когда из академических пидарасов раньше пукнул очередным базвордом
>lurkmore.to
В голос с информационной цыганщины.
Аноним 01/06/20 Пнд 15:22:29 1710010181
>>1709051
Пять минут на однострочник это максимум времени, которое разумный человек готов потратить, чтобы доказать что-то дебилам с двача.
Аноним 01/06/20 Пнд 17:02:45 1710157182
>>1710010
>чтобы доказать
Что могут доказать эти сферические кони в вакууме? Чтобы нарисовать треугольник на опенгл, надо 100 строчек кода, а на вулкане - 1000 строк. И что, это доказывает, что вулкан хуже опенгля?
01/06/20 Пнд 17:11:34 1710183183
>>1710157
>на опенгл, надо 100 строчек кода, а на вулкане - 1000 строк
>И что, это доказывает, что вулкан хуже опенгля?
Да, вполне исчерпывающее доказательство, что Vulcan хуже OpenGL для рисования треугольников.
Аноним 01/06/20 Пнд 19:48:42 1710368184
>>1710183
Если стоит задача нарисовать один треугольник, то да, опенгл победил. Но это тот самый конь в вакууме, никому не надо рисовать один треугольник. Надо эффективно использовать возможности современных видеокарт и тут очевидно побеждает вулкан.
01/06/20 Пнд 20:10:06 1710373185
>>1710368
>Если стоит задача
Так в этом и прикол специальной олимпиады, что есть конкретная задача. А дальше сравниваются инструменты под эту задачу - т.е. языки программирования.

>никому не надо рисовать один треугольник
Один треугольник - не надо, а вот условные фигуры из квадратов (тетрис) вполне кто-то может захотеть нарисовать (хотя бы в качестве практики). И сюда нет смысла тащить вулкан, т.к. под эту задачу данный инструмент подходит хуже.

>Надо эффективно использовать возможности современных видеокарт
В эффективность железа никто (кроме эмбеддеров) не упирается с начала нулевых. Vulcan - очередная абстракция поверх железа. Упираются только в стоимость разработки - чем ниже уровень, тем она экспоненциально выше; самых нижних уровней игровая индустрия уже лет 20 не достигает никто даже на хотспотах. Кроме разработчиков таких вот абстракций, конечно.
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов