Отличная подача, прям Дроздов - "В мире функционального программирования"
@jojomajo4 жыл бұрын
ору) спс)
@maksimzolotoi33793 жыл бұрын
Тоже подумал что чисто дроздов 👍🏾😁
@hamzarylan78953 жыл бұрын
I dont mean to be so off topic but does someone know of a method to get back into an Instagram account?? I was dumb forgot the password. I would love any assistance you can offer me
@jonathangraham6893 жыл бұрын
@Hamza Rylan instablaster :)
@hamzarylan78953 жыл бұрын
@Jonathan Graham I really appreciate your reply. I found the site thru google and im waiting for the hacking stuff now. Seems to take quite some time so I will reply here later with my results.
@maksimsergeevich59394 жыл бұрын
С этим челом нельзя курить, а то залипнешь до старости)))
@dmitriymedvedev703 жыл бұрын
Лекция супер! Такого лектора ещё не встречал! Спасибо!
@granmini4 жыл бұрын
Очень классный! Волшебный лектор! Подумал о том как подать, и очень доходчиво, крутые метафоры, всё легко принимается. Не знаю, как на счет актуальности знаний, у меня тут не пригорело как у кое-кого, и я только-только начал учиться...) но слушать и понимать было легко и здорово. Спасибо.
@slimnino4 жыл бұрын
лектор от бога!!! вся лекция на одном дыхании!!! супер!!! спасибо!!!
@TheBakdag3 жыл бұрын
Можно пожалуйста еще лекций с ним раздобыть, очень круто рассказывает, тяжело оторваться!!!
@phat804 жыл бұрын
Не знаю, кому как, но мне императивный стиль всегда понятнее, так как он наиболее близок к работе самого железа. Любая функциональщина уводит тебя от понимания того, как это на самом деле работает. Никогда не понимал, в чем же тогда простота функционального подхода. Код короче? Да. Проще ли для понимания? Большой вопрос.
@Iaxls3 жыл бұрын
пиши тогда на ассемблере) без обид, но как процедурщина может быть понятнее нежели декларативный подход
@МаксимСидоров-й5ц3 жыл бұрын
@@Iaxls слишком декларативно, только машинные коды, они ближе к работе железа
@theban25172 жыл бұрын
Если обобщить все статьи по фп, которые я читал, то вывод такой: фп это не про понятность и не про удобство. Фп это просто ряд жестких требований, которые (по идее) должны увеличить эффективность работы программы. За счет чистых функций и декларативного подхода мы получаем не понятность, а возможность их вызова в любом порядке и, как следствие, распараллеливание.
@shalidor16192 жыл бұрын
Если твой код раздувается, и возвращаешься ты к нему через долгое время, то чтобы не читать тонны дерьма, ты просто смотришь на сигнатуру функций и их названия и клепаешь новые функции из старых. Если же твой код процедурный, то в тот момент, когда ты вернулся к нему, тебе проще переписать его заново, чем разбираться, как он работает.
@AlexeyNeklesa4 жыл бұрын
Просто шикарный спикер ) Очень классный доклад!
@phat804 жыл бұрын
Композэ - это пять! )))))
@kookaburru3 жыл бұрын
Материал грамотный, без воды и хотя все это я уже знал, но всеравно удовольствием посмотрел :)
@VYuhim4 жыл бұрын
Это было ахеренно! Аплодировал, когда он сказал: "Эпизод первый. Композиция" =)
@liz2k2 жыл бұрын
Я с большим удовольствием посмотрел (премьеру несколько недель назад) и блин насколько все доступно и интересно рассказано. А самое главное понятно! Прям плюсую!
@AlexanderBukhtatyy4 жыл бұрын
Спасибо за доклад!
@ancoopa4 жыл бұрын
Офигенный докладчик. Спасибо. :)
@orucqarayev4759 Жыл бұрын
Блин. какой классный диктор) какая страсть)
@artemsites9 ай бұрын
Спасибо за лекцию!!!
@dielectric72654 жыл бұрын
10/10 отличная подача материала)
@АлександрНеизвестный-б9й3 жыл бұрын
Чувак бомба, красавчик, все доходчиво, смотришь лекцию как кино :)
@onlytryhard80 Жыл бұрын
Велеколепный доклад
@АлексейКузьмичев-м5я3 жыл бұрын
16:20 "Сейчас я выпью водички, потому что дальше будет интересно." ))))
@vladislavsnijko16694 жыл бұрын
он такой сказочный.. ))) И коалы грустят.. и код сложно отлаживать...
@boycovclub3 ай бұрын
Очень крутая лекция
@АндрійРак-я8у3 жыл бұрын
Дуже цікаво слухати, я в захваті.
@ryskin823 жыл бұрын
Когда лекция о программировании превращается в философию не теряя контекста.
@uM9nOJIb3OBATEJI94 жыл бұрын
Галат обучает ФП на JS. Смотреть без регистрации и смс.
@trustlang_ua4 жыл бұрын
как найти его?
@AbasovIT2 жыл бұрын
Отличное выступление
@swave2720 Жыл бұрын
Лайк за параметры и аргументы. сейм шит)
@feschenkoalex7544 жыл бұрын
Классный лектор. Продуманно подошел к делу. Лайк
@sergiy06413 жыл бұрын
Не понял, сначала сказал, что код должен быть понятным, а потом начал объяснять всякие извращения/костыли про каррирование и пр., что только усложняет написание и понимание.
@Iaxls3 жыл бұрын
функцию карри или композ, вы пишете один раз, или вообще берете из готовой библиотеки, важно просто понимать как она работает и какой профит дает. В хаскеле каррирование идет вообще из коробки. Но благодаря этим инструментам вы можете писать понятный, декларативный код, который очень легко отлаживать и дополнять.
@АндрейГобан4 жыл бұрын
"Пойти пораньше домой, и любоваться на звёзды!" - Хорошо сказано!
@alexkol68144 жыл бұрын
Супер. 661 лайк уже. Еще 5 лайков и сам Сатана будет смотреть ету лекцию!
@myrichstory4 жыл бұрын
я 665-й поставил. Кто следующий?))
@kirillpavlovskii83424 жыл бұрын
славный парень)) берем функцию кампазе))))
@ЭдгарЕдигарян-ц3ъ4 жыл бұрын
Здравствуйте всем, где можно найти слайды ?
@pavell534 жыл бұрын
ссылки бы еще из лекции прикрепили.
@ruslanm.11209 ай бұрын
Подскажите где ссылка на презентацию?
@Антон-ю2п6е2 жыл бұрын
Рассказано о ФП в декларативном стиле - увеличивая скорость воспроизведения массив данных не теряет длину...
@rusmemes3 жыл бұрын
это какая-то реинкаранация Дроздова??
@me2beats3134 жыл бұрын
очень грамотная речь, единственный момент - английский бы получить:) но в любом случае выдающийся лектор!
@НиколайЛарионов-г5г4 жыл бұрын
Спасибо!) Очень круто!
@warcraft.mp48892 жыл бұрын
Не знал что галат на jse пишет
@yourbadapple3 жыл бұрын
было полезно, очень круто объяснил, респект
@Алексей-ю8я7т4 жыл бұрын
Хорошая подготовка. Мне бы столько текста наизусть не выучить.
так в почему не написал функцию curry как она выглядит-то? смысл тогда от этой болтовни
@павелюшин-с2и Жыл бұрын
function curry(func) { return function curried(...args) { if (args.length >= func.length) { return func.apply(this, args); } else { return function(...args2) { return curried.apply(this, args.concat(args2)); } } }; } вот это говно
@AquaDiskoteque3 жыл бұрын
45:37 ({a, b, ...rest} = {a:1, b:2, c:3, d:4}); это деструктуризация объекта. А он spread показывает и делает иммутабильную копию, однако деструктуризация это вытягивания из объектов, функций и создания поля переменных или MDN YDKJS и Фелиган врёт?
@kotyarix Жыл бұрын
Послушать рассказ - пойдет, понять тему - ни в коем случае, все эти абстрактные аналогии с "приматыванием" только путают информацию в голове и отдаляют от понимания механизма и синтаксиса.
@beyond65963 жыл бұрын
Про бабашку и порше было очень эпично)))
@kriskaruzo13984 жыл бұрын
я так понял будет продолжение
@valentynratov71044 жыл бұрын
Подскажите, как зовут лектора? Есть ли у него еще видео?
@oleg_andrianov2 жыл бұрын
Очень круто. Но ничего не понятно.
@49323 жыл бұрын
Дядюшка Ау)
@ТарасКлімарчук2-12ФІТ4 жыл бұрын
vjlink уже программист
@pantafive4 жыл бұрын
Спикер - боженька!
@НиколайСладкий-н4к4 жыл бұрын
Лектор просто супер!)
@Gans_Kitchen4 жыл бұрын
Смотреть на скорости 1.25!!!
@phat804 жыл бұрын
1,5 минимум!
@sense32473 жыл бұрын
я смотрел на скорости 2.0
@nickpravda32493 жыл бұрын
Функции это кубики лего из которых мы конструируем легаси
@MrElchenkov4 жыл бұрын
Как зовут этого чувака?) это просто лучший it спикер в мире)
@martovskyy4 жыл бұрын
Сказочная атмосфера)
@ElenaElena-st1mg9 ай бұрын
зачем учить функциональное программирование , работают же на другом виде?
@yomo1abh586Ай бұрын
Доклад интересный, но вызывает дежавю. Как буд-то перечитываю книгу "Функционально простой Js"
@lamer79053 жыл бұрын
Почему он так смешно говорит? Шабанул чтоли
@Mathemat1cs-13 жыл бұрын
а вот мой друг говорит что программирование без матем возможно )) эх жалко мне его
@BlindPewRus2 жыл бұрын
Похоже я тут один не в восторге от подачи.
@phat804 жыл бұрын
Наверное первый лектор, который пьет воду во время выступления прилично, не хлебая и не глотая звучно прямо в микрофон, транслируя свою физиологию на слушателей.
@pnlabs3 жыл бұрын
Чёрт, у меня табак и уголь закончились, надо пойти купить, иначе слушать невозможно :)
@HelloGoodbye-f6q4 жыл бұрын
20 лет жил, 20 лет не верил в любовь а тут...
@whiteguards432 жыл бұрын
Болтун! Какие то сравнения приводит с внешним миром, вместо 5 минут, на 50 минут продлил
@palyanytsia10 ай бұрын
композэ, кьюайкью
@nikitaosadchuk14673 жыл бұрын
компазЭ)
@alexdang23574 жыл бұрын
лучший!
@vladimir22894 жыл бұрын
Лектор топ!
@mikhaildevichensky64074 жыл бұрын
Хочу к нему в падаваны
@radislaw3 жыл бұрын
Вернуть сразу булево выражение - НЕЕЕТ. Использовать тернарник, чтобы вернуть true или false - ДААА
@ИльяЛуковицын-ш2м2 жыл бұрын
Какое-то днище честно говоря. Очень много воды, минимум конкретики, тупые приколы не по делу. Автор хотел сделать интересно и в принципе получилось интересно, но это не про программирование, это видео получилось про тупые шутки, про отвлеченные темы
@sashasagan25104 жыл бұрын
А что за умные ребята придумали лямбда-исчисление? Всегда думал что её Алонзо Чёрч разработал.
@rustonelove4 жыл бұрын
У тебя проблемы с методичкой - чини. Придумали имеет контекст "сейчас", т.е. говорится о теории в её текущем состоянии и тех, кто её до этого состояния продвинул. Так же, о лямбда-исчислениях говорится именно в контексте данной области. Тот, кто их придумал и развивал в рамках другой области мало кого волнует.
@graezzywormz14383 жыл бұрын
Блядь а в Яндексе все такие душные? Куча ненужной воды. Программисты котики, смотреть на звёзды? Это на кого направлено? На маленьких девочек?
@hino24 жыл бұрын
Без обид, но лекция херня. Подача материала рваная, перескакивает туда сюда, уследить сложно, понять еще сложнее, воспринять - невозможно. Не представляю ЧТО вынесут из аудитории у себя в головах все слушающие.
@rustonelove4 жыл бұрын
Каждый раз эти сектанты повторяют одну и ту же мантру. В целом, если кто-то начинает заливать про "декларативно" - сразу нужно понимать - в профессию пациент попал чисто случайно. Для тех, кто не понимает - объясняю. Во-первых пациент подменяет понятия не осилив семантику языка. ЯП описывает какой-то процесс, не важно как и что сектант называет - это никогда не изменится. И в данном случае процесс - это просьба к мамке, который должен быть описан. Сектант ни от какого императивного не ушел. Это банальная манипуляция. Во-вторых сектант сам себя загнал в ловушку следующей потугой. "мука" уже декларативное понятие. "возьми пеперони" - здесь тоже самое. По-сути сектант взял то, что он выше выдавал за декларативно уже выдаёт за императивно. А что такое мука? А почему её кто-то должен брать? Это базовые вопросы, которые поломают данного пропагандиста. На самом же деле всё очень просто. Процессы уплотняются. Вначале есть "замеси тесто" и процесс описывается в рамках одних примитивов. Далее происходит уплотнение и тесто само становится примитивом. Так же существует разделение труда и каждый занимается созданием примитивов на своём уровне - на этом сектант изначально и попался. Поэтому как только сектант возьмёт любое декларатитивно - он будет описывать императивно новый примитив, который уже для пользователя этого примитива будет декларативен. Т.е. никакого разделения нет и быть не может. Это попросту разных взгляд на одно и тоже с разных уровней.
@alexpipin36934 жыл бұрын
чувак ты ноунейм который говорит всем, что земля плоская, хотя уже все доказали и объехали землю 10 раз, если ты действительно настолько умен, так докажи делом, если нет, ты обычный забитый тролль
@rustonelove4 жыл бұрын
Кстати, ещё кое что важное. Сектант начала рассказывать про каринг/частичное применение. Правда он не рассказал зачем и почему, но это норма для сектантов. А важное тут то, что вся эта теория прорабатывалась ещё до привычных в скриптухе лямбд. arg => f(arg, const); - написать быстрее и проще, чем пердолинг с базовой методичкой. Здесь можно рассказать о "а если у меня много аргументов - все перечислять?" - нет. Потому как базовая методичка на самом деле ни о чего не спасает(на самом деле то, о чём говорит сектант протухло лет на 30. И там уже давно пытаются закостылить решения, но сейчас я не об этом). Причина проста - методичка позволяет либо добавлять аргументы к функции последовательно. Я не могу передать средний аргумент. Там, конечно же, сектанты сразу начнут орать "Да твоё api говно", но это лишь попытка снять с себя ответственность. Все эти показанные вам фокусы - работают только потому, что заранее созданы под методичку. Созданы такими, что-бы работать. В реальности же это работать не будет и не работает. За примерами можно сходить в любой код сектантов. Там будет либо прикрученные аргументы через объект, либо через лямбду.
@АнимусАнанимус4 жыл бұрын
От тебя возлюбленная ушла к ФП-шнику? Откуда такая озабоченность функциональщиной?😅 Больше года назад видел твои простыни ругательств под другими видео про ФП. Ну точно что-то личное 😂
@rustonelove4 жыл бұрын
@@АнимусАнанимус Кто вообще может уйти к подобным опущенцам? Я в окно выйду, если даже такая вероятность появится. >Откуда такая озабоченность функциональщиной? Чини методичку. Озабоченность есть у убогих - засирать эфир своими бездарными потугами. Ну и так уж получилось, что эфир общий. Это не моя вина, а их. Сами убогие меня не заботят - меня заботит то, что они каким-то образом вылезли из своих помоек туда, где их вижу я. И то, что они пытаются нападать на детей, которые по-сути беззащитны. К тому же, причём тут ФП? Я не разделяю сорта поехавших. И для меня первично то, что сектант врёт, а уже как и о чём конкретное и какой секты он является адептов - это уже после. В любом случае - хочешь со мною поспорить - пытайся. Не можешь? Зачем приходишь со своей нелепой шаблонной хернёй? Она не работала и работать не будет.
@AquaDiskoteque3 жыл бұрын
Я если честно тоже из доклада яндексойда нихуя не понял. Так, а если в js фун-ии это спец объекты с внутренними методами тогда о какой чистой Фп говорим, я тоже нихуя не понял.
@redhook7772 жыл бұрын
@@AquaDiskoteque а какая разница что под капотом? В js все объекты(кроме примитивов). Это не отменяет функциональных возможностей js
@AquaDiskoteque2 жыл бұрын
@@redhook777 или всё примитивы, кроме объектов. ебашьте в хаскель и будет вам счастье
@rustonelove4 жыл бұрын
46:00 - вот она, вся сила пропаганды. "немножно упадёт". Во-первых начнём с того, что если в вашей программе есть ФП - производительности там нету в принципе. Во-вторых сектант сам себе противоречит. Если упадёт "немножно" - зачем заморачиваться и делать специальные либы? Ой. оказывается множно и пропагандист попытался всех обмануть? Ну это уже норма. И самое интересное. Сектант рассказывает про преимущества иммутабельности показывая мутабельные либы, которые лишь дают маня-иммутабельный интерфейс. И теперь угадайте - что будет, если мы попытаемся расспаралеллить код использующий эту либу? Ой, у нас появляется глобальное состояние, которое постоянно мутируется.
@daedaliusX4 жыл бұрын
Что думаешь о www.npmjs.com/package/object-path-immutable ? На проекте мы его успешно применяли с Redux как компромисс между иммутабельностью и использованием библиотек вроде ImmutableJs. > что будет, если мы попытаемся расспаралеллить код использующий эту либу? Можно пример для реалий JS?
@AbraKadabra0004 жыл бұрын
Мне кажется эти пропагандоны ФП, набежавшие в наш уютный жс из своих говноязыков, сильно лажают с жс, и поэтому предполагают, что будут лажать меньше. если заюзают ФП внутри. Они таким образом пытаются заявить о своей нужности.
@rustonelove4 жыл бұрын
14:40 - сектант решил зайти с козырей. Никаких проблем с этим в строгой типизации нет - меньше слушай херни. И в том и проблема, что в жс"е с этим проблем нет, потому как жс скриптуха. Это базовые свойства скриптухи. На уровне реализации функция и не-функция ничем не отличается друг от друга. По этой причине она и не отличается и на уровне языка.
@Renton14284 жыл бұрын
Из вас двоих на сектанта здесь больше похоже вы
@rustonelove4 жыл бұрын
@@Renton1428 Обосновывай потуги.
@maksimka070319974 жыл бұрын
@@rustonelove подача твоих комментариев за тебя говорит. Вместо того, чтобы адекватно расписать, где автор неправ, ты агрессивно критикуешь, как типичный ПГМ, когда кто-то говорит, что бога нет.
@rustonelove4 жыл бұрын
@@maksimka07031997 Меня не интересуют потуги опущенных сектантов. К тому же, именно это можно применить к тебе, ведь именно ты и автор ПГМнутый сектант. Потому как это базовая защита сектантов "ты меня обижаешь, окорбляешь, а не критикуешь". Никакой ПГМ замечен в агрессивной критике не был. Как раз таки всё наоборот. Агрессивно критикуют ПГМ. К тому же я адекватно написал где автор не прав. А далее прибежал дошколёнок, который ничего не смог на мою критику ответить и начал ретранслировать дефолтную херню "да ты не прав, потому не прав", "да ты не прав, потому что такой" и прочее. Заметим, что отличии от этого убого я называю сектантов сектантами, но при этом я объясняю и доказываю почему это так. Данное убожество прибежало, назвало меня сектантом и всё. Т.е. оно сделало то в чём меня обвинило, но при этом я сам указанного в обвинение не делал и сектант не смог этого продемонстрировать. И самое важное - сектант даже в своих потугах запутался.
@maksimka070319974 жыл бұрын
@@rustonelove хорошо, как скажешь. Но по количеству комментариев и их объему не похоже, что тебе все равно, что "сектанты" скажут. Брехливого пса не перелаешь, я и не буду пытаться.
@ЮрийДумов3 жыл бұрын
Полный писец подачи. Пример зас... мозгов
@rustonelove4 жыл бұрын
40:00 - опять можно заметить шизофрению сектанта. Лозунги вида "это плохо потому что плохо". Какое отношение глобальные переменные имеют к сайд-эффектам я не знаю. Да и сектант сам не знает. Он взял это из базовой методичке, но ему не рассказали, что он сел в лужу. Потому как современная фп-методичка не считает глобальные переменные за сайд-эффекты. Причина проста и сектант опять сел в лужу. Да, в первых методичках были параметры и аргументы, но потом сектанты поняли, что это слишком говно и нужно внешнее состояние. И оно уже было в скриптухе - замыкания. Т.е. захват внешних переменных в тело локальной функции. Захват глобалов был всегда. И по-сути глобальные переменные и являются теми самыми замыканиями. Таким образом внешнее состояние является легитимным, если оно иммутабельно. На самом деле сектанты и здесь селе в лужу. Иммутабельность не состоятельна. Поэтому сейчас глобальное состояние может быть мутабельным - главное обеспечить семантическую иммутабельность. Каждая секта трактует это по своему и объяснить где начинается и где заканчивается эта семантика - невозможно. Но для простоты можно сказать так "с большей долей вероятности внешнее состояние не может влиять на результат исполнения функции, а функция на внешнее состояние".
@daedaliusX4 жыл бұрын
Он про это чуть позже рассказал на примере числа PI 41:45
@rustonelove4 жыл бұрын
41:50 - сектант врёт. Чистые функции не используют исключений - это самое основное. Но сектант вам об этом не сообщил. По-сути в контексте жабаскрипта не может быть чистых функций. Когда кто-то вам говорит об обратном - это клоун. Самое смешное, что та функция, которую пропагандист выдавал за чистую - не чистая. Причём на фундаментальном уровне. Но не понимать очевидных вещей - норма для залётных пропагандистов. Почти всегда в жабаскрипте эта функция будет возвращать nan, а nan != nan. sqr("a") === sqr("a") === false. Поломалась чистота. Причём никакие разговоры про "а вот у нас тайпскрипт" не работают - нан - это number и может получиться из двух не-нанов. Про исключения я уже сказал. Почти любая функция, даже (a, b) => a + b - имеет побочный эффект.
@johnstrayk52083 жыл бұрын
А какой побочный эффект?
@rustonelove3 жыл бұрын
@@johnstrayk5208 to_string
@johnstrayk52083 жыл бұрын
@@rustonelove можете подробней пояснить?
@rustonelove3 жыл бұрын
@@johnstrayk5208 + может триггерить to_string. const a = {toString() {throw new Error(); } }; const b = 123; a + b;
@johnstrayk52083 жыл бұрын
@Printer я тоже нихера не понял)
@rustonelove4 жыл бұрын
43:30 - каждая минута повышает накал шизофазии. Мало того, что сектант как преимущество чистых функций назвал мемоизацию, которая не-чистая и ломает эту чистоту для функции. Дак ещё он обманул аудиторию. Дело в том, что моизация - это та самая несотоятельность чистоты и иммутабельности о которой я говорил. Это говно не может быть быстрым, поэтому что делают сектанты? Они берут своё говно, которое тормозит и прикручивают к нему мутабельные хаки. Дело в том, что вне ФП никто и никогда эту функцию бы не вызывал от одних и тех же аргументов 10 раз. И эти функции не тормозили бы, как тормозит ФП. Т.е. по-сути сектант вам за преимущество сектанта то, что в комплекте с ним идёт чистилка для дерьма, которым он всё обмажет в твоём доме. Но подожди. Если у меня бы не было сектанта - у меня бы не было дерьма и мне бы не нужно было ничего чистить. В общем такое оно - ФП. Просто нелепые потоки шизофазии и невежества.
@daedaliusX4 жыл бұрын
Но погоди, никто же не заставляет использовать мемоизацию на каждый чих. Это раз. Два - как и в случае с sort что плохого использовать любые хаки под капотом, получая на выходе сущности, которыми ты хочешь оперировать?
@rustonelove4 жыл бұрын
3:30 - пошла невероятная шизофазия. Первая проблема сектант - он жертва пропаганды. Т.е. такое понятие как "создаём новый массив" - это уже требование его секты. В "императивном стиле"(который существует только в фантазиях адепта данной секты) так никто не пишет. Ну и да, массивов не существует в ФП - пусть сектант изучит базовые методички. Вторая проблема - сектант не может мыслить. У него в голове каша. Он не понимает разницу между функцией, функциональным и прочим. Самое смешное тут то, что это не функция в контексте ФП и вообще никаких методов в ФП нет и быть не может. Третья проблема - сектант запутался. Он берёт лоулевел логику и сравнивает с хайлевел. Причём никаким образом сектант не объясняет - почему одно декларативно(и фп), а другое нет. Ведь там есть метод push - чем он отличается от filter? Очень просто это понять на примере for. Здесь сектант использует for, а не for of. Т.е. наличие здесь переменной - это следствие использование более общей, более лоулевел конструкции. И императивно точно так же можно использовать for of и переменной не будет. Т.е. сектант наврал. Тоже самое со всем остальным. Был бы сектант не залётный, а более компетентный - он бы зашел по нормальной методичке. Типа filter является функцией высшего порядка и такое свойственно и исходит из ФП. И какие-то неофиты зелёные в это даже поверят. Но, по очевидным причинам, это полная чушь. В императивщине всё это было тогда, когда у ФП была голая жопа и лисп(не особо от голой жопы отличается).
@AbraKadabra0004 жыл бұрын
аплодирую стоя
@HOTBOY99614 жыл бұрын
та в яндексе одни бездари, тебе на голере где то в воронеже виднее оно и понятно
@rustonelove3 жыл бұрын
@Printer t me proriv_zaparti
@rustonelove3 жыл бұрын
@Printer - мне лень что-либо писать очередному дошколёнку в этой помойке.
@rustonelove4 жыл бұрын
11:00 - какую же херню несёт этот пропагандист. Функция в программировании никакого отношения к функции вне программирования не имеет. Когда кто-то начинает нести херню про "процедуру", про "не возвращает" - это уже клоун по определению. Достаточно посмотреть на то как он начал мямлить про какие-то бабкины вместо ответа на вопрос "почему?". Какой-то идиот эту херню написал в википедии и теперь сектанты её повторяют. Понятия "процедура" вообще никогда не существовало как антипод функции. Это просто где-то кто-то родил новый базворд, который сдох тут же по причине простой - унификация. Уже существовал базворд "функция" и он использовался и в академической среде и в программировании. В основном всё это засилие каких-то процедур после 60х - результат засилия паскаля и древних базвордов в 90/00 годах. В императивщине ещё с фортратна и уж тем более с си - функции были и возвращали значения. И если до си ещё были какие-то разночтения в базвордах в мейнстриме, то после уже нет. В конечном итоге - функция без return существует и такой она всегда была. Никакого разделения на функции/процедуры нет - сектант выдумал эту херню. И function в js значит именно то, что значит.
@rustonelove4 жыл бұрын
42:30 - ой, а тут у нас пропагандист запутался в показаниях. Глобальная переменная же делает функцию нечистой, а теперь вдруг какая-то константность появилась? Ну и в целом как-то быстро он убежал от сайд-эффектов. Просто лозунг вкинул и в кусты.
@rustonelove4 жыл бұрын
40:00 - здесь сам сектант показывает то, о чём я говорил. Здесь можно сказать, что он умножил свои потуги на ноль, но это норма для сектантов. Ведь он мутирует копию и нарушает своё же условие. Здесь остаётся уповать на то, что "здесь copy точно никто не использует, а вот с fruits не всё так однозначно" - только это обман. Опять же здесь спасёт только заинлайненный в выражение объект. Но это не является общим решением. В конечном итоге в реальности никакого явного разделения нет. И хрен ты разберёшься кто и где и что использует. По этому в том же хаскеле и другой минимально следующей методичке фп-дристне - подобного кода быть не может. sort() как функция с сайд-эффектом не может возвращать массив. По определению. На самом деле эта концепция так же не состоятельная. Она начиналась как какой-то контроль сайд-эффектов. Ситуация там примерна та же, что в жабаскрипте с промисами. Далее там прикрутили всякого сахара типа async/await и теперь уже всех похрен. Там пол программы в этих монадах, либо ансейф-кастах. И никакого контроля не получилось.
@rustonelove4 жыл бұрын
Композиция не имеет никакого отношения к ФП. Действительно в математике была "линейная" обратная запись, но никакой практико-применительной теории за ней не стояло и чейнинг в том же хаскеле не является наследием той записи. Вся теория была проработана в юниксе, ооп и прочем. В первом пайпы, а во втором чейнинг. Причём и то куда более состоятельная концепция, потому как позволяет не только выход объединять со входом, но и конфигурировать каждую стадию дополнительно. У сектантов есть попытки решить эти проблемы через частичное применение/каринг. Но в любом случае это костыли прикрученные сверху после того, как натягивание базовой концепции провалилось. Само частичное применение и каринг во многом противоречат базовой фп-методичке и являются просто альтернативными сектантскими названиями того, что было везде и всюду. Единственное, что там во многом путает людей - это именно скриптушная природа ФП. Поэтому когда сравнивается ФП и императивщина - нужно сравнивать одно и другое. А люди в основном склонны сравнивать скриптуху и статические языки. Так делать ненужно.
@alexanderkartavtsev88654 жыл бұрын
надеюсь, ты доволен собой?
@daedaliusX4 жыл бұрын
@@alexanderkartavtsev8865 А вы собой довольны? К чему вопрос? Предлагаю вести конструктивный диалог. Twinkle где-то нас обманывает, не договаривает?
@alexanderkartavtsev88654 жыл бұрын
@@daedaliusX конструктивный диалог с человеком, который использует слова "опущенный", "поехавшие", "завывания сектантов"? Позвольте отказаться от такого диалога
@danzankekshaev57424 жыл бұрын
Я прекратил просмотр, когда он сказал "берем функцию композе..." 20:35
@danzankekshaev57424 жыл бұрын
как человек может работать в яндексе и говорить КОМПОЗЕ!
@MaxLimas4 жыл бұрын
@@danzankekshaev5742 От этого человек становится менее программист? Или может методы перестают работать? Пофиг кто как называет, ибо всё равно ясно о чём речь.
@danzankekshaev57424 жыл бұрын
@@MaxLimas это показатель его общего образования, английский язык имеет огромное значение для программиста, сегодня он говорит кампазе, а завтра не так прочтёт документацию
@Chpokman414 жыл бұрын
@@danzankekshaev5742 как "композе" показал тебе "показатель общего образования"?
@phat804 жыл бұрын
@@Chpokman41 я тут не занимаю чью-то сторону, так не знаю, может чел хорошо знает немецкий или испанский, но знание хотя бы одного иностранного языка это показатель образованности все-таки. Если человек считает себя образованным, то иностранный язык неплохо бы знать, хотя бы один и хотя бы на базовом уровне. Ну не может просто такого быть, что у него в школе или институте не было иняза, особенно учитывая его возраст. Для меня всегда странно видеть в современном мире человека, который не знает никакого языка кроме родного. Ведь программа любого учебного заведения включает иняз, что было стандартом еще при СССР.
@rustonelove4 жыл бұрын
Открою ещё одну тайну - адептам пропаганда рассказывает, что типизация имеет какое-то отношение к ФП. Но нет, опять обманули. Когда ФП сидело с голой жопой и лиспом(без всяких там сигнатур, типизаций, массивов, функций) - в императивнище уже была типизация. ФП всегда относилось к классу скриптухи. Т.е. к динамической типизации, к gc и прочим прелестям. От того там и взялись все эти функции высшего порядка и прочее. На самом же деле это просто свойства скриптухи. Когда у тебя gc и динамическая типизация - у тебя никаких не проблем с замыканиями, локальными функциями и прочим. И уже из скриптухи всё это перекочевало в ФП.
@rustonelove4 жыл бұрын
44:00 - очередной сеанс шизофрении. Пропагандист вбрасывает лозунги даже не пытаясь в какое-либо обоснование. Кешируемость никаким образом не зависит от чистоты. Та херня с момизацией - убогий костыль для самой чистоты. Вне чистоты этой проблемы нет. Сама момоизация лишает функцию чистоты. Любой кеш мутабельный. Опять же простота - основания? А нет оснований. Ссылочная прозрачность. Тут нас сектант зачитывает первую строчку из википедии, которая ничего не значит. Она не является преимуществом сама по себе и сектант не учитывает то какими затратами она достигается. Легко тестировать - это полная херня. Это всё работало давно, когда глобальное состояние в любом виде не было легитимным. Сейчас это не так. И любая функция зависит от глобального состояния. Т.е. нельзя протестировать отдельную функцию, потому как она объявлена в контексте другой функции и на явно захватывает состояние оттуда. К тому же, никаких чистых функций в принципе не существует.
@daedaliusX4 жыл бұрын
> Кешируемость никаким образом не зависит от чистоты. Но ведь кеширование в это виде элементарно реализовывать, не? > Мемоизация - убогий костыль для самой чистоты Смотрел на кеширование как на средство повышения производительности. То что под капотом юзаются хаки как раз может волновать только фанатиков. > Не учитывает то какими затратами достигается ссылочная прозрачность. Ой, всем пофиг пока оно не тормозит. Возьми тот же Redux который большинство использует просто по причине наличия React в проекте. ИЧСХ нормально работает даже на мобилках если совсем уже голову не отключать при написании кода (например триггерить Redux с валидацией на каждый onChange). > Легко тестировать - это полная херня. Приведи пример что тестируется легче чем чистая функция. > Нельзя протестировать отдельную функцию, потому как она объявлена в контексте другой функции и на явно захватывает состояние оттуда. Ты имеешь ввиду, что сложно доказать корректность работы программы (чем никто не занимается если речь не идет от отправке людей за пределы Этой Планеты). А вот тестировать как раз очень легко. Достаточно программу составлять из модулей, а не писать всё в одной простыне.
@rustonelove4 жыл бұрын
@@daedaliusX >Но ведь кеширование в это виде элементарно реализовывать, не? Не. Оно здесь и ненужно. >Смотрел на кеширование как на средство повышения производительности. ФП, чистота и прочий мусор не способны к производительности. Зачем делать говно, что-бы потом его исправлять? К тому же, никакого повышения производительности нет. Изучи букварь. Мутация сама по себе кеширование. Ты читаешь значение, которое обработчик мутирует. В фп обработчик не может мутировать и обязан вызываться на запрос значения. А далее путём костылей это пытаются вернуть. >То что под капотом юзаются хаки как раз может волновать только фанатиков. Нет, просто ты нихрена не понимаешь. >Ой, всем пофиг пока оно не тормозит. Ты бы так не позорился. Напомню контекст данному гению "у нас тормозит - мы добавили говнолибу, что-бы она не тормозила и которая решает проблему" и далее ответ "не решает - это обман". И тут мамкин гений в комментах мне отвечает "пока оно не тормозит". Ты осознаешь несколько нелепую херню несут боты типа тебя? >Возьми тот же Redux который большинство использует просто по причине наличия React в проекте. Нет, это говно используется потому, что пропаганда внушила адептам его использовать. Потому что в реакте существует фатальный недостаток. А говнукс прикрученный добавляет к нему сайд-эффекты. >ИЧСХ нормально работает даже на мобилках Нет, очевидно. >если совсем уже голову не отключать при написании кода (например триггерить Redux с валидацией на каждый onChange). И тут же оказывается, что всё что было выше сказано - ложь. Уровень. Твои познания крайне скудны. >Приведи пример что тестируется легче чем чистая функция. Тебя поимела пропаганда. Никакой чистой функции там нет. Почему вы, бездарные сектанты, все настолько тупая? Сектанту внушили какой-то лозунг и он повторяет, ведь он бот. >Ты имеешь ввиду, что сложно доказать корректность работы программы (чем никто не занимается если речь не идет от отправке людей за пределы Этой Планеты). А вот тестировать как раз очень легко. Достаточно программу составлять из модулей, а не писать всё в одной простыне. Ты опять опозорился. Вначале были функции, а теперь уже каике-то модули. Уровень шизофазии просто поражает. Тебе сообщают о том, что в рамках базовый методички захваченные переменные не нарушают чистоты. Давай попроще. У тебя есть функция (a, b) => f(a, b, c, d, f) - это самое простое. Как мне протестировать функцию f? Она же чистая. Ой, ты обделался. Потому как жертва пропаганды. Для того, что-бы протестировать функцию f - нужно его получить, для этого нужно сгенерировать аргументы для порождающей её функции, а так же обеспечить ей необходимой контекст(в котором существуют переменные c d f и с необходимыми данными). Поэтому для тестирования любой чистой функици нужно так же поднимать её окружение. Единственное, где не нужно - это для функции верхнего либо без аргументов(что не имеет смысла), либо с примитивными аргументами. Потому как любой аргумент - это такое же окружение, которое нужно поднимать.
@rustonelove4 жыл бұрын
8:40 - пациент опять запутался в пропаганде. Опять же - он сравнивает css/sql и ЯП. Даже забудем о том, что sql он потрогал зря и это его похоронит. Это уже какая-то шиза, но дело не в этом. Возвращается к тому, что я писал ранее. Сектант показывает button и что же реально он показывает? Он показывает именно императивное описание того как кнопка должна выглядеть. На уровне свойства ширина мы действительно говорим "ширина столько же". Но на этом уровне не это наша задача. И вот никак декларативно сказать "это кнопка" мы не можем. Точно так же как на уровне sql - мы чётко описывает то, каким образом получить нужные нам данные. Описываем всё императивно. Где же тут "мамка дай пиццу?" А нету. И в этом проблема сектантов залётных - они несут откровенную херню. Несут в той области, где ЦА крайне слаба. Это веб, это js, это фротенд.
@aksenoff4 жыл бұрын
Назвать SQL полностью императивным языком может только неуч, либо тролль. Ты сеешь терминами направо и налево, так что я больше склоняюсь ко второму варианту. Спешу огорчить: твои многобуквенные простыни прочтут полтора землекопа, и это даже хорошо, потому что та их часть, которую я осилил, состоит на 75% из спорных и субъективных суждений. Докладчик же, "сектант", нарочито примитивизирует свой рассказ, чтобы сделать его максимально доступным. Да, фронтендеры часто не блещут эрудированностью, в этом и смысл такого подхода. Но это не значит, что им не нужны удобные примы из ФП, которые и в JS были привинчены с подобной целью. Обычно я не пишу ответы к троллингу, но объем натролленного вызывает смесь уважения, кринжа и сожаления о потраченном тобой времени. Давай по-новой, Миша, все херня.
@TDmitry4124 жыл бұрын
Завязывайте курить Ролтон, иначе совсем подсядете на майонез )