What are pure features?

  Рет қаралды 19,791

Senior Software Vlogger

Senior Software Vlogger

Күн бұрын

Пікірлер: 152
@boom10201
@boom10201 5 жыл бұрын
Может делать такие мини уроки постоянно? (про фундаментальные вещи)
@katyakravchenkouslife8804
@katyakravchenkouslife8804 5 жыл бұрын
согласна, было полезно послушать
@qazyhn94
@qazyhn94 5 жыл бұрын
Да и не только, больше научных вещей для нас тупеньких, такого контента в сети практически нет, все синтаксис языка рассказывают и тд
@amerlantokhtarov3943
@amerlantokhtarov3943 5 жыл бұрын
Поддерживаю. Мало кто может рассказать об общих вещах применимых для всех языков.
@Карим-в2д
@Карим-в2д 5 жыл бұрын
Amerlan Tokhtarov это все есть в инете , просто надо ввести в Гугле концепции функционального программирования
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 5 жыл бұрын
Как быть если ты не знаешь, что функциональное программирование есть?
@92OopSs
@92OopSs 5 жыл бұрын
Вот это годнота. Побольше такого контента.
@IceKorm
@IceKorm 5 жыл бұрын
Топовый контент. На опыте.
@zakiro4277
@zakiro4277 2 жыл бұрын
лучшее видео по данной теме
@vasilys9776
@vasilys9776 5 жыл бұрын
Годнота, если бы я был новичком, для меня бы это было очень полезно. Короткое объяснение важных концептов то что нужно.
@GloriousJenya
@GloriousJenya 5 жыл бұрын
Очень крутой подкаст, побольше таких пожалуста
@sdavidk84
@sdavidk84 5 жыл бұрын
Спасибо за ваше старание! Очень хороший и важный контент!
@Th_VOID
@Th_VOID 5 жыл бұрын
Понравилось, мне как начинающему инфа показалась крайне полезной.
@ВладБирюков-е7г
@ВладБирюков-е7г 4 жыл бұрын
Очень интересно было посмотреть про такие детали языка js, спасибо
@ПодушечкаМягкая
@ПодушечкаМягкая 5 жыл бұрын
Огонь! Очень нужный формат
@downloadfils
@downloadfils 5 жыл бұрын
Спасибо за материал, этот жест на 5:43 - "четко, знаете ли, получилось". :)
@КостянЕрмаков-е9ю
@КостянЕрмаков-е9ю 5 жыл бұрын
Во, привет Дима!, возник вопрос во время просмотра видео. Можешь ли рассказать про тестирование (именно про тестирование своего кода, на каком этапу обучения лучше всего стоит обращать внимание на тестирование и осваивать его, и какие сейчас инструменты для этого лучше всего подходят (библиотеки и т.п))? Думаю, что тема должна быть интересной.
@danilamakarov798
@danilamakarov798 4 жыл бұрын
Хорошее видео.
@cobwowcobwow6331
@cobwowcobwow6331 5 жыл бұрын
Коротко но полезно! Спасибо!
@outsider2140
@outsider2140 5 жыл бұрын
Все гуд. Но момент, когда ты смотрел в ноутбук и говорил на камеру был странным.
@Александр-р4и2з
@Александр-р4и2з 4 жыл бұрын
коротко и ясно, большое спасибо
@LxndrKrchvtsv
@LxndrKrchvtsv 5 жыл бұрын
Благодарю за видео, было полезным.)
@eugzubv4336
@eugzubv4336 5 жыл бұрын
Господин Сеньор, делайте новые видосики пожалуйста!
@stillwinner8631
@stillwinner8631 5 жыл бұрын
Я Джуниор Фронтенд и мне познавательно разбираться в семантике языка. Плюсую из Украины)
@МаксГончарук-г6м
@МаксГончарук-г6м 5 жыл бұрын
Спасибо Вам за труд! Очень познавательно.
@myvin2887
@myvin2887 7 ай бұрын
Интересно разве что для общего развития, из серии проблемы выбора правильного корма для сферического коня в вакууме😂
@annabeauty7084
@annabeauty7084 5 жыл бұрын
Спасибо за видео!
@serjiokin
@serjiokin 5 жыл бұрын
Думаю что чем больше подписчиков у него на Patrion тем больше мотивации делать подобную годноту
@tmdan91
@tmdan91 5 жыл бұрын
Спасибо полезное видео
@MegaARTUR1998
@MegaARTUR1998 5 жыл бұрын
Вероятно еще можно было сказать про возможность мемоизации
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 5 жыл бұрын
и про многопоточность
@dbmb1298
@dbmb1298 5 жыл бұрын
@@SeniorSoftwareVlogger мемоизация очень интересная тема
@eroero5225
@eroero5225 5 жыл бұрын
действительно мемемизация очень интересная тема,осветите такие популярные мемы,как флекс рикардо милоса.
@СергейАлексеев-ж9ц6н
@СергейАлексеев-ж9ц6н 5 жыл бұрын
Не совсем понятна фраза "Грязный функции - плохо". А как тогда без них обойтись? К примеру те же функции форматирования даты, логирования, записи в базу и др. Разве использование их является плохим?
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 5 жыл бұрын
Нет не является. Да, можно обойтись в других языках
@joma0305
@joma0305 5 жыл бұрын
Senior Software Vlogger то есть можно обходиться только чистыми функциями?
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 5 жыл бұрын
Можно, например в Haskell
@yurim7756
@yurim7756 4 жыл бұрын
Так, не всё, что плохо, нельзя никогда использовать. Это вопрос стремления. Надо стремиться к хорошо и избегать плохо. Если код нельзя весь написать на чистых функциях, то все таки лучше разделить код, и как можно бОльшую часть писать на чистых, а на грязных необходимый минимум. (конечно, смотря как вы решили моделировать задачу. Если ООП, объекты с состояниями, ну значит так).
@AlbertBikeev
@AlbertBikeev 5 жыл бұрын
Интересно, спасибо! Но очень важное преимущество не упомянули - композабельность. Намного проще переиспользовать чистые функции на уровне конкретных типов, чем те, что помимо одной задачи ещё пишут в файл, бросают исключения и подобное.
@bigenough2122
@bigenough2122 4 жыл бұрын
круто, спасибо)
@karrmannov
@karrmannov 5 жыл бұрын
Годное объяснение👍
@romanmotovilov129
@romanmotovilov129 2 жыл бұрын
Спасибо за отличный урок! Вопрос к знатокам. Я думаю автор урока оговорился, на 4:21 автор говорит, что можно поменять значение константы. Это оговорка или в JS есть какой-то способ это сделать? Не умничаю, мне просто интересно.
@izvarzone
@izvarzone 2 жыл бұрын
В Unreal Engine в блюпринтах чистые функции зеленого цвета, а не чистые - синего. У зеленых нет input/output execution pin-ов, только input/output для данных.
@jasurkurbanov5274
@jasurkurbanov5274 3 жыл бұрын
Спасибо, можно ваш пример изпользовать для написании статии ? Пишу на английском
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 3 жыл бұрын
Можно
@AShahabov
@AShahabov 3 жыл бұрын
Я так пологаю, что если метод MyClass1.Foo() использует у себя внутри ServiceClass.Foo(), то такой метод (MyClass1.Foo()) автоматом не есть чистая функция?
@vladimirmironov5022
@vladimirmironov5022 5 жыл бұрын
Спасибо
@freedomplayer2388
@freedomplayer2388 5 жыл бұрын
Спасибо за видео! Но как написать чистую функцию randomize(x), если предполагается, что она должна вернуть случайное число, учитывая какой-то параметр? Или мы просто не называем её "чистой" и всё?
@vladimir0rus
@vladimir0rus 5 жыл бұрын
Чистые функции еще хороши для автоматической оптимизации кода компилятором.
@PavelKoryagin
@PavelKoryagin 5 жыл бұрын
Пример с константой выглядит ошибочным. С таким определением чистых функций не существует вообще. Пример: Возьмём, например, чистую функцию (x) => x * x. Она использует очень много внешних определений, например сам интерпретатор. Если мы изменим код интерпретатора, чтобы звёздочка начала вычитать числа, то результат функции изменится. Значит, она не чистая. Другими словами у нас есть базис доверия. Частью базиса являются константы и другие чистые функции, в т.ч. из библиотек и ОС. Да, они могут меняться в ходе эволюции экосистемы, но это лучшее на что мы можем рассчитывать. Пример с внешней штукой имеет смысл если она переменная. Но не константа!
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 5 жыл бұрын
Нет, даже константы я бы в базис доверия не относил. Интерпретатор и операторы - да, но константу ты своими собственными руками в своей программе можешь поменять. В некоторых языках даже во время исполнения программы.
@PavelKoryagin
@PavelKoryagin 5 жыл бұрын
​@@SeniorSoftwareVlogger > даже константы я бы в базис доверия не относил Ну да, если на конкретном проекте мы договорились так, то это должно быть норм. Но в общем случае на таком договоре мы теряем. >В некоторых языках даже во время исполнения программы. Это уже не константа. В некоторых и тело функции изменять можно. Но если зашла речь про теорию, то это территория на которой люди договариваются принципиально не использовать те или иные возможности реализации, чтобы иметь возможность эту самую теорию заэксплуатировать. Константа - это элемент семантики, языка предметной области. Если мне нужен код, для классификации некоторого входного значения, как холодный/тёплый/горячий, то разве же у меня стоит выбор между использованием констант-литералов и отказом от чистых функций? Нет, я определю глобальные константы, как язык общения модулей, и буду их использовать. И функции с ними можно уверенно считать чистыми - все ништяки чистых функций остаются в наличии. Но начать нам, вероятно, стоило с преимуществ чистах функций. Ведь если мы не договорились, *зачем* мы выделяем понятие чистой функции, то и "очевидные" нюансы её определения будут разными для разных людей.
@IvanDymkov
@IvanDymkov 5 жыл бұрын
Соглашусь с Павлом. Использование базовых констант проекта в функциях никак не мешает тестированию и другим преимуществам чистых функций. Вот используешь ты в функции Math.PI: function calculateCircumference(radius) { return 2 * Math.PI * radius; } Ты, наверняка, этой константе доверяешь и можешь назвать эту функцию чистой. К своим константам можно относиться так же, когда это действительно константы по смыслу, а не курс рубля, закинутый джуном в const, например. И это не испортит ни одного плюса чистых функций, которые ты перечислил.
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 5 жыл бұрын
Не мешает, но функция уже не чистая. Никто вас за это не убьет конечно и не уволит :)
@PavelKoryagin
@PavelKoryagin 5 жыл бұрын
Недостаточно чистая функция :)
@itbeard
@itbeard 5 жыл бұрын
Лойс!
@vladimir0rus
@vladimir0rus 5 жыл бұрын
В Си нет ссылок, ссылки появились только в С++. В Си есть указатели. Указатель это переменная, которая хранит адрес в памяти. Ссылки это не указатели, ссылки это вообще не переменные, они ничего не хранят. При "передаче" по ссылке по факту ничего не передается в функцию - физически на уровне машинного кода никакой передачи аргумента не произойдет при вызове функции. Более того, иногда даже вызова функции может не произойти, если компилятор решит ее встроить (inline).
@toooldtobejunior
@toooldtobejunior 5 жыл бұрын
А по сути топика можете что-то сказать?
@vladimir0rus
@vladimir0rus 5 жыл бұрын
​@@toooldtobejunior Автор в ролике допустил фактическую ошибку, я его поправил.
@toooldtobejunior
@toooldtobejunior 5 жыл бұрын
Мне просто было интересно: меняет ли отсутствие ссылок и наличие указателей в С суть дела?
@vladimir0rus
@vladimir0rus 5 жыл бұрын
@@toooldtobejunior Для описания сферических чистых функций в вакууме вообще не требовалось упомянать ни Си, ни указатели. Но автор зачем то упомянул и допустил грубую ошибку, которая режет слух. Непонимание отличия ссылки от указателя не имеет никакого отношения к чистым функциям, но является техническим ляпом, который лучше не допускать Senior разработчику. Я надеюсь, что теперь автор разберется в этом вопросе и перестанет путать указатели и ссылки.
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 5 жыл бұрын
Автор писал на Си в последний раз в универе (и слава богу). Ну да, перепутал. Опять же как inline решает проблему чистоты функции? Даже если нет вызова функции, то этот код все равно не чистый.
@Bork_In_Volcanic
@Bork_In_Volcanic 5 жыл бұрын
В нотации вверху справа битая ссылка на патреон
@nikgym
@nikgym 4 жыл бұрын
Т.е. запись в файл не реализовать ввиде чистой функции?
@izvarzone
@izvarzone 2 жыл бұрын
запись файла и не должна быть чистой.
@44whale
@44whale 5 жыл бұрын
Про блокировку потока. Это тоже вроде не чистота
@buridansass916
@buridansass916 5 жыл бұрын
Спс
@BohdanVR666
@BohdanVR666 4 жыл бұрын
Тоесть чистая функция в программировании это линейная функция в алгебре?
@izvarzone
@izvarzone 2 жыл бұрын
в математике вообще все чистые функции
@disconnect7
@disconnect7 2 жыл бұрын
Иными словами обычные функции, которые претендуют быть не говнокодом.
@alexxx4434
@alexxx4434 4 жыл бұрын
Функциональные пуритане ))
@Rih4rd_dota
@Rih4rd_dota 5 жыл бұрын
запись в файл - не чистая функция. а вывод на экран?
@vladkorobkov6540
@vladkorobkov6540 5 жыл бұрын
уже много твоих видосов посмотрел, но так и не понял, ты веб программист или "software"?
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 5 жыл бұрын
То есть веб - это не софт? Я пол года как менеджер. Начинал с фулстека, потом на бекенд, потом на фронтенд. Все про веб, да.
@vladkorobkov6540
@vladkorobkov6540 5 жыл бұрын
@@SeniorSoftwareVlogger Извиняюсь, просто я еще новичок в этом деле, выразился не так. За ответ огромное спасибо.
@igorboldysh
@igorboldysh 5 жыл бұрын
Имхо грязные функции тоже нужны. например, я не хочу писать new Date() Б потом плюсовать пару дней/часов/минут каждый раз в коде. Я хочу функцию getTodaysDatePlusDays(daysCount). Я её пишу и использую когда мне надо. Какой аналог может быть в чистой функции?
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 5 жыл бұрын
Передаешь new Date() в качестве аргумента
@izvarzone
@izvarzone 2 жыл бұрын
Но поинтеры весят меньше, чем новая копия Date.
@whitew
@whitew 5 жыл бұрын
А если объекты, которые были переданы в функцию были довольно громоздкими, не повлияет ли обязательное полное копирование на производительность?
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 5 жыл бұрын
Повлияет
@MrThreeda
@MrThreeda 5 жыл бұрын
Это один из примеров модных трендов, который имеет довольно ограниченную область применения....
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 5 жыл бұрын
Функциональное программирование имеет совершенно такую же область применения.
@izvarzone
@izvarzone 2 жыл бұрын
повлияет, для этого и существуют поинтеры и референсы (хотя int, bool и float можно без поинтеров)
@figaro2440
@figaro2440 5 жыл бұрын
Да чистые функции очень сильно упрощают анализ программы, но это уж как то сильно надо извратиться чтобы все сделать чистыми, появляется такое ощущение, что мы пишем код ради кода, а не ради функционала, ну вот чем вам, например, помешает функция писателя в файл, только тем что вы придумали что она якобы не чистая?
@watchbotzz
@watchbotzz 5 жыл бұрын
Чертовски круто
@agimgal
@agimgal 5 жыл бұрын
если бы можно было без грязи, мы наверное давно бы все на функциональных ЯП писали.
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 5 жыл бұрын
Там просто матан знать надо
@aslanaslan4394
@aslanaslan4394 4 жыл бұрын
Вопрос (я новичок) кроме функциональных какие есть еще?
@andriimakarenko7152
@andriimakarenko7152 5 жыл бұрын
Существует ли тогда способ записи в файл чистой функцией?
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 5 жыл бұрын
Да, для этого есть монада
@izvarzone
@izvarzone 2 жыл бұрын
а зачем?
@Argon-X
@Argon-X 5 жыл бұрын
PHP передаёт объекты по ссылке, как в js, и их никак не передать по значению, только клонировать можно
@alexpan4987
@alexpan4987 5 жыл бұрын
Даешь больше функциональщины!
@davidkain9046
@davidkain9046 5 жыл бұрын
"кашерная функция" ))
@my_code
@my_code 5 жыл бұрын
А где ссылка на статью ?
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 5 жыл бұрын
github.com/papers-we-love/papers-we-love/blob/master/design/out-of-the-tar-pit.pdf
@VasilenkoYaroslav
@VasilenkoYaroslav 5 жыл бұрын
Касательно изменения обьекта в функции, ссылка на который передана в качестве аргумента. Если объект имеет сложную структуру и заполнение его стоит разделить на несколько функций, например какой нибудь мапинг, где актуально переопределение метода, который мапит одно свойство. Везде возвращать значение и присваивать его в основной функции/методе? Иногда это выглядит очень неаккуратно. Мало того, для чего то же существуют процедуры и методы которые не возвращают значение, наверное не только для того что бы выводить в консоль 'hello world'. Что ели фунцию корректно назвать, что бы было ясно, что она изменяет состояние обьекта или вы считаете недопустимым это в любом случае? Спасибо за контент, очень интересно)
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 5 жыл бұрын
Это просто два разных подхода. Чистые функции лучше, но не в каждом языке можно их использовать для всех задач.
@VasilenkoYaroslav
@VasilenkoYaroslav 5 жыл бұрын
@@SeniorSoftwareVlogger ясно, спасибо за ответ.
@MrEliasGreen
@MrEliasGreen 5 жыл бұрын
Футболка четкая))))
@stepbystep8525
@stepbystep8525 5 жыл бұрын
Я только прочитал ты никог
@MrThreeda
@MrThreeda 5 жыл бұрын
Писать в файл - "грязная" функция. "Грязные" функции это плохо. Вывод: писать в файл это плохо. Хмм.....
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 5 жыл бұрын
Ты сделал неправильный вывод
@MasterSergius
@MasterSergius 5 жыл бұрын
За такое можно и помочь каналу деньгами, но "тыжайтишник", вроде и так хватает ) Поэтому, напомните пожалуйста зачем вы ведете этот канал? Или это многоходовочка на будущее? В любом случае, Я смотрю ваш канал, подписан, хоть и сам являюсь разработчиком уже много лет :)
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 5 жыл бұрын
Спасибо, что посчитал мои деньги! А то я все думаю хватает или нет.
@MasterSergius
@MasterSergius 5 жыл бұрын
@@SeniorSoftwareVlogger Всегда рад помочь хорошему человеку )
@sergeygusarov3309
@sergeygusarov3309 5 жыл бұрын
где такую футбу купить?
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 5 жыл бұрын
teespring.com/stores/senior-software-vlogger но я ее еще не пробовал стирать
@sergeygusarov3309
@sergeygusarov3309 5 жыл бұрын
@@SeniorSoftwareVlogger да, нашел, выбор цветов бы еще пополнить)
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 5 жыл бұрын
Для тебя все что угодно! Какой цвет добавить? :)
@OlehL
@OlehL 5 жыл бұрын
lois
@IlyaTkachev-hs8cb
@IlyaTkachev-hs8cb 5 жыл бұрын
Про научную работу так и не рассказал)
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 5 жыл бұрын
В этом видео и не собирался
@kriskaruzo1398
@kriskaruzo1398 5 жыл бұрын
у меня у одного низа у мониторов вырываются?? гул
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 5 жыл бұрын
У тебя одного есть мониторы :D
@dystopia2142
@dystopia2142 5 жыл бұрын
Футболку у дочки спер?
@igorbond2823
@igorbond2823 4 жыл бұрын
Не совсем понятно зачем таким функция дали отдельное определение - разве что для того что бы запутать на собесе. А по факту выходит так - знаю я про чистые функции или не знаю - мой код или подход к тестированию не изменится. С таким успехом можно целый словарь определений дать: Голодная функция - это функция которая принимает 2 или больше аргументов. Сытая функция - меньше двух. Нулевая функция - без аргументов. Жадная функция - не возвращает ничего. Щедрая функция - возвращает результат и мега-щедрая - возвращает много результатов. Строковая функция - функция которая возвращает строку Числовая возвращает число, массивная - массив, объектная - объект, наглая меняет окружение без спроса, скромная ничего не меняет.
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 4 жыл бұрын
Чистые функции, как электромагнитное поле. Существуют вне зависимости наших знаний о них. Но конечно это все злые собесуны придумали, чтобы честных программистов запутывать :)
@igorbond2823
@igorbond2823 4 жыл бұрын
@@SeniorSoftwareVlogger про собес шутка конечно, а то мировым заговором попахивает ))
@izvarzone
@izvarzone 2 жыл бұрын
В Unreal Engine они точно нужны, в блюпринтах. Они немного быстее (хотя C++ всё равно быстрее будет) и занимают меньше места в графе, т.к. нет i/o pin-ов, которые надо коннектить, чистые функции работают без них (их могут призывать другие ноды) На собеседовании это был бы легкий вопрос.
@golubevvictor
@golubevvictor 5 жыл бұрын
Это касается только функциональной парадигмы разработки. В ООП немного иначе. Например, объект: квадрат. Функция, выводящая его площадь считается чистой или плохой? И ещё, по поводу плохой/хорошей. Функция вывода значения на экран считается плохой? Ведь она же изменяет отображение пикселей на экране. Но всё равно, плюсую, так как таких уроков должно быть больше, а хэйтэры всегда найдутся=)
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 5 жыл бұрын
Я не говорил плохая/хорошая. Чистая и "с эффектами" :) ООП довольно плохо помогает со сложностью программ и научная работа как раз об этом.
@_dekinci
@_dekinci 5 жыл бұрын
Классы ООП можно представить в виде структуры и функций, принимающих эту структуру и еще какие-то аргументы. Поэтому функция, выводящая его на экран будет выглядеть так: print(Square square). Теперь посмотрим, что происходит внутри. Вывод на экран в большинстве языков - передача в поток. Как минимум, идет изменение состояния потока. Также стандартый поток вывода, обычно, глобальная / статическая переменная и результат функции зависит от нее. Так что "вывод на экран" - грязная функция. Про пиксели - невозможно создать компьютер, в привычном его представлении, без состояний (компьютер - автомат), поэтому и использовать только чистые функции невозможно. Однако предлагается вынести всю грязь в какую-нибудь высокоуровневую фию, а все, что она вызывает сделать чистым.
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 5 жыл бұрын
Никита - молодец! :)
@golubevvictor
@golubevvictor 5 жыл бұрын
@@SeniorSoftwareVlogger Было сказано, что чистые функции - это хорошо, а грязные - плохо (4:52). И как сказал Никита, использовать только чистые функции невозможно. Того же мнения придерживаются все, потому это как-то и застряло в мозгу. И да, я тоже молодец=)
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 5 жыл бұрын
Можно обойтись, только это уже другие языки.
@Nikita-yt5ml
@Nikita-yt5ml 5 жыл бұрын
0:57 "И не изменяет как либо окружающую среду в которой она вызывается". Моё мнение, что было бы проще сказать "Не изменяет состояние приложения". Больше конкретики, понятнее, привычные слова для многих.
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 5 жыл бұрын
Запись в файл не изменяет состояния приложения, но тем не менее такая функция не является чистой.
@apdgslfhsodbna
@apdgslfhsodbna 5 жыл бұрын
объект io не создан наверное
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 5 жыл бұрын
неа, я его вообще придумал :)
@apdgslfhsodbna
@apdgslfhsodbna 5 жыл бұрын
@@SeniorSoftwareVlogger )
@jaygreen1181
@jaygreen1181 5 жыл бұрын
какой JS все таки убогий...
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 5 жыл бұрын
Ой, да ладно
@izvarzone
@izvarzone 2 жыл бұрын
зато компилить не надо.
14 признаков плохого кода
17:11
Senior Software Vlogger
Рет қаралды 39 М.
2 reasons, why your programs are complex, part 1
14:45
Senior Software Vlogger
Рет қаралды 16 М.
когда не обедаешь в школе // EVA mash
00:51
This mother's baby is too unreliable.
00:13
FUNNY XIAOTING 666
Рет қаралды 22 МЛН
Когда отец одевает ребёнка @JaySharon
00:16
История одного вокалиста
Рет қаралды 8 МЛН
9 минут про чистые функции
10:48
WebDev с нуля. Канал Алекса Лущенко
Рет қаралды 13 М.
JavaScript Функции высшего порядка - практическое применение
10:59
WebDev с нуля. Канал Алекса Лущенко
Рет қаралды 13 М.
Pure, impure функции JavaScript. Функции высшего порядка. Side эффекты
39:15
WebDev с нуля. Канал Алекса Лущенко
Рет қаралды 13 М.
JavaScript - Set
14:34
CodeDojo
Рет қаралды 23 М.
ТОП 5 Ошибок в написании функций Python
12:46
Выучить язык или научиться программировать
12:49
Замыкания в JavaScript
18:50
WebDev с нуля. Канал Алекса Лущенко
Рет қаралды 53 М.
когда не обедаешь в школе // EVA mash
00:51