-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Lesson 4. Checkpoint questions #4
Comments
|
ООП:
|
Иммутабельность — это определенной свойство, объект имеющий это свойство не может уже изменяться после создания, при изменениях это уже будет новый объект. |
|
|
|
|
|
|
|
|
Пример 1 (+ псевдокод на Python): строки (они же String)
При выводе получим ошибку, потому что строки иммутабельны. Питон позволяет нам считать строку из символов и только потом производить изменения, но напрямую работать с символами в строке он не даст Пример 2: формулы в математике (х²)
В выводе получим:
Пример 2: стиральная машинка
Пример 1: умножение числа 1 на само себя
|
|
|
1 Неизменяемость в программировании означает, что данные, как только они были созданы, не могут быть изменены. Например, в функциональном программировании переменные являются неизменяемыми. |
Примером может служить иммутабельность hash-ей паролей, хранящихся в базе данных и защищённых от изменений, чаще всего их просто заменяют другим hash-ем при смене паролей, но отдельная сущность не изменяется по понятным причинам. Вычисляемые блоки блокчейна по факту тоже являются иммутабельными, сам блокчейн не может быть изменён без изменения всех звеньев цепочки, соответственно происходит перевычисление и сами блоки по существу становятся новой сущностью, то есть конкретно взятый блок или вся цепочка являются иммутабельными.
Хорошим примером может служить калькулятор, хранящий в себе полный набор возможных операций и производящий их в зависимости от задачи в разной последовательности. В моём понимании монады чем-то напоминают switch case. Примером может служить приготовление завтрака по утрам в зависимости от входных параметров (уровень голода, нехватка микроэлементов, вкусовые предпочтения и прочее), когда мы по итогу можем менять состав того же бутерброда или просто порядок ингридиентов в нём, а в каких-то случаях совершать полную замену блюда на другой вариант. Автомат Миля-Мура как математический пример.
|
|
1. What's immutability? Provide a few examples. 2. Describe the monad. Provide a few examples. 3. Provide a few examples for endless machines. 4. What's difference between OOP and FP? 5. Provide examples for tasks that can be solved only with FP 6. How do you understand carrying? 7. Example of idempotency in real life 8. What's daemon in *unix systems? |
|
|
|
|
Неизменность-объект/данные или что-то ещё, которое не поддаётся изменениям. Примером может послужить строка в книге, набор хромосом у здорового человека и тд). |
|
|
|
1.What's immutability? Provide a few examples. 2.Describe the monad. Provide a few examples. 3.Provide a few examples for endless machines. 4.What's difference between OOP and FP? 5.Provide examples for tasks that can be solved only with FP. 6.How do you understand carrying? 7.Example of idempotency in real life 8.What's daemon in *nix systems? |
1.What's immutability? Provide a few examples. 2.Describe the monad. Provide a few examples. 3.Provide a few examples for endless machines. 4.What's difference between OOP and FP? 5.Provide examples for tasks that can be solved only with FP. 6.How do you understand carrying? 7.Example of idempotency in real life 8.What's daemon in *nix systems? |
|
1.Иммутабельность - это свойство/состояние данных(или чего-либо другого), которое означает их неизменяемость после создания. В пример из реальной жизни можно привести любые события, произошедшие в прошлом. События, произошедшие с человеком вчера - иммутабельны, однако они могут влиять на будущее этого человека, оставаясь неизменными. |
|
|
|
The text was updated successfully, but these errors were encountered: