Функциональное программирование: мифы и реальность
DESCRIPTION
Открытый семинар для студентов в компании custis (24 октября 2012). Лектор: Андрей Моисеев, ведущий разработчик .net. Аннотация: На семинаре будут рассмотрены основополагающие идеи функционального программирования, разобраны распространенные мифы и показано, в чем заключается коренное отличие функционального подхода от объектно-ориентированного. Также будут рассмотрены вопросы архитектуры ПО и возможности, которые открываются при использовании данной парадигмы. Видеозапись семинара: https://vimeo.com/56034871TRANSCRIPT
![Page 1: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/1.jpg)
x.x Functional programming
Andrew Moiseev Senior Software Developer
![Page 2: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/2.jpg)
![Page 3: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/3.jpg)
![Page 4: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/4.jpg)
![Page 5: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/5.jpg)
380 B.C.
![Page 6: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/6.jpg)
![Page 7: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/7.jpg)
![Page 8: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/8.jpg)
“Formal System”
![Page 9: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/9.jpg)
![Page 10: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/10.jpg)
![Page 11: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/11.jpg)
![Page 12: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/12.jpg)
![Page 13: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/13.jpg)
1930s A.C.
![Page 14: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/14.jpg)
![Page 15: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/15.jpg)
![Page 16: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/16.jpg)
![Page 17: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/17.jpg)
![Page 18: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/18.jpg)
![Page 19: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/19.jpg)
![Page 20: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/20.jpg)
λ
![Page 21: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/21.jpg)
λ
![Page 22: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/22.jpg)
λ
![Page 23: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/23.jpg)
![Page 24: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/24.jpg)
DATA
![Page 25: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/25.jpg)
![Page 26: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/26.jpg)
![Page 27: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/27.jpg)
fun
![Page 28: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/28.jpg)
![Page 29: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/29.jpg)
![Page 30: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/30.jpg)
![Page 31: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/31.jpg)
Data
![Page 32: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/32.jpg)
![Page 33: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/33.jpg)
![Page 34: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/34.jpg)
![Page 35: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/35.jpg)
![Page 36: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/36.jpg)
![Page 37: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/37.jpg)
![Page 38: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/38.jpg)
![Page 39: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/39.jpg)
![Page 40: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/40.jpg)
![Page 41: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/41.jpg)
![Page 42: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/42.jpg)
1 2 3 4
![Page 43: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/43.jpg)
[1 2] :: [3 4]
![Page 44: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/44.jpg)
![Page 45: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/45.jpg)
![Page 46: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/46.jpg)
![Page 47: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/47.jpg)
![Page 48: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/48.jpg)
![Page 49: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/49.jpg)
![Page 50: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/50.jpg)
![Page 51: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/51.jpg)
![Page 52: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/52.jpg)
![Page 53: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/53.jpg)
![Page 54: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/54.jpg)
![Page 55: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/55.jpg)
![Page 56: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/56.jpg)
![Page 57: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/57.jpg)
![Page 58: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/58.jpg)
Summary.
![Page 59: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/59.jpg)
![Page 60: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/60.jpg)
![Page 61: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/61.jpg)
![Page 62: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/62.jpg)
![Page 63: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/63.jpg)
![Page 64: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/64.jpg)
![Page 65: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/65.jpg)
![Page 66: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/66.jpg)
![Page 67: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/67.jpg)
![Page 68: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/68.jpg)
![Page 69: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/69.jpg)
![Page 70: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/70.jpg)
![Page 71: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/71.jpg)
![Page 72: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/72.jpg)
![Page 73: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/73.jpg)
![Page 74: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/74.jpg)
![Page 75: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/75.jpg)
![Page 76: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/76.jpg)
OOP
![Page 77: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/77.jpg)
![Page 78: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/78.jpg)
![Page 79: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/79.jpg)
Common Belief
![Page 80: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/80.jpg)
Tale
![Page 81: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/81.jpg)
![Page 82: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/82.jpg)
![Page 83: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/83.jpg)
![Page 84: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/84.jpg)
![Page 85: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/85.jpg)
![Page 86: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/86.jpg)
![Page 87: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/87.jpg)
![Page 88: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/88.jpg)
![Page 89: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/89.jpg)
![Page 90: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/90.jpg)
![Page 91: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/91.jpg)
![Page 92: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/92.jpg)
![Page 93: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/93.jpg)
![Page 94: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/94.jpg)
Summary.
![Page 95: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/95.jpg)
100% Pure
Functional
Programming
Is Not Possible!
![Page 96: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/96.jpg)
Even 98% Pure
Functional
Programming
Is Not Possible.
![Page 97: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/97.jpg)
But…
![Page 98: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/98.jpg)
![Page 99: Функциональное программирование: мифы и реальность](https://reader036.vdocuments.mx/reader036/viewer/2022081802/5499341db4795923778b45db/html5/thumbnails/99.jpg)
Thank you!