{"id":477316,"date":"2023-08-09T09:11:08","date_gmt":"2023-08-09T09:11:08","guid":{"rendered":""},"modified":"2023-09-05T11:14:30","modified_gmt":"2023-09-05T11:14:30","slug":"functional-programming","status":"publish","type":"wiki","link":"https:\/\/oneproxy.pro\/kr\/wiki\/functional-programming\/","title":{"rendered":"\ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d"},"content":{"rendered":"<p>\ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d(FP)\uc740 \uc21c\uc218 \ud568\uc218, \ubd88\ubcc0 \ub370\uc774\ud130\uc758 \uc0ac\uc6a9, \uacf5\uc720 \uc0c1\ud0dc \ub610\ub294 \ubd80\uc791\uc6a9 \ubc29\uc9c0\uc5d0 \uc911\uc810\uc744 \ub454 \ud504\ub85c\uadf8\ub798\ubc0d \ud328\ub7ec\ub2e4\uc784\uc785\ub2c8\ub2e4. FP\ub294 \uc218\ud559\uc801 \ub17c\ub9ac\uc758 \uc6d0\ub9ac\uc5d0 \uae30\ucd08\ud558\uc5ec \ucf54\ub4dc \uba85\ud655\uc131, \uc720\uc9c0 \uad00\ub9ac \uac00\ub2a5\uc131 \ubc0f \ud14c\uc2a4\ud2b8 \uac00\ub2a5\uc131\uc744 \ud06c\uac8c \ud5a5\uc0c1\uc2dc\ud0ac \uc218 \uc788\ub294 \ud504\ub85c\uadf8\ub798\ubc0d\uc5d0 \ub300\ud55c \uccb4\uacc4\uc801\uc774\uace0 \uc608\uce21 \uac00\ub2a5\ud55c \uc811\uadfc \ubc29\uc2dd\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/p>\n<h2>\ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d\uc758 \uae30\uc6d0\uacfc \ucd08\uae30 \uac1c\ubc1c<\/h2>\n<p>\ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d\uc758 \uae30\uc6d0\uc740 1930\ub144\ub300\uc640 \uacc4\uc0b0 \ud45c\ud604\uc744 \uc704\ud55c \uc218\ud559\uc801 \ub17c\ub9ac\uc758 \uacf5\uc2dd \uc2dc\uc2a4\ud15c\uc778 \ub78c\ub2e4 \ubbf8\uc801\ubd84\ud559\uc5d0 \ub300\ud55c Alonzo Church\uc758 \uc791\uc5c5\uc73c\ub85c \uac70\uc2ac\ub7ec \uc62c\ub77c\uac11\ub2c8\ub2e4. \uadf8\ub7ec\ub098 \ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d\uc740 1950\ub144\ub300\uc640 1960\ub144\ub300 \ucd5c\ucd08\uc758 \ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d \uc5b8\uc5b4\uc778 LISP\uac00 \uac1c\ubc1c\ub420 \ub54c\uae4c\uc9c0 \ucef4\ud4e8\ud305\uc5d0\uc11c \uc9c4\uc815\ud55c \uae30\ubc18\uc744 \ucc3e\uc9c0 \ubabb\ud588\uc2b5\ub2c8\ub2e4.<\/p>\n<p>LISP\ub294 &quot;LIST \ucc98\ub9ac&quot;\ub97c \uc758\ubbf8\ud558\uba70 MIT\uc758 John McCarthy\uac00 \uc778\uacf5 \uc9c0\ub2a5 \uc5f0\uad6c\ub97c \uc704\ud574 \uc124\uacc4\ud588\uc2b5\ub2c8\ub2e4. \uc774 \uc5b8\uc5b4\ub294 \uc77c\uae09 \ubc0f \uace0\ucc28 \ud568\uc218, \uc7ac\uadc0, \uc22b\uc790 \ub370\uc774\ud130 \ub300\uc2e0 \uae30\ud638 \uc870\uc791 \ub4f1 \ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d\uc5d0 \uae30\ubcf8\uc774 \ub418\ub294 \ub9ce\uc740 \uac1c\ub150\uc744 \ub3c4\uc785\ud588\uc2b5\ub2c8\ub2e4.<\/p>\n<p>1970\ub144\ub300\uc5d0\ub294 ML \ubc0f Scheme\uacfc \uac19\uc740 \ubcf4\ub2e4 \uc804\uc6a9\uc801\uc778 \ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d \uc5b8\uc5b4\uac00 \ub4f1\uc7a5\ud588\uc73c\uba70, 1980\ub144\ub300\uc5d0\ub294 Miranda \ubc0f Haskell\uc774 \ub4f1\uc7a5\ud588\uc2b5\ub2c8\ub2e4. \ud558\uc2a4\ucf08\uc740 \uc885\uc885 \uc804\ud615\uc801\uc778 \ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d \uc5b8\uc5b4\ub85c \uac04\uc8fc\ub429\ub2c8\ub2e4.<\/p>\n<h2>\uc8fc\uc81c \ud655\uc7a5: \ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d<\/h2>\n<p>\ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d\uc740 \ud568\uc218\uc640 \ub370\uc774\ud130 \ubd88\ubcc0\uc131\uc5d0 \uc911\uc810\uc744 \ub450\ub294 \uac83\uc774 \ud2b9\uc9d5\uc785\ub2c8\ub2e4. FP\uc5d0\uc11c \ud568\uc218\ub294 \uc77c\uae09 \uc2dc\ubbfc\uc73c\ub85c \ucde8\uae09\ub429\ub2c8\ub2e4. \uc989, \ud568\uc218\ub294 \ub2e4\ub978 \ud568\uc218\uc5d0 \uc778\uc218\ub85c \uc804\ub2ec\ub418\uace0, \uac12\uc73c\ub85c \ubc18\ud658\ub418\uace0, \ub370\uc774\ud130 \uad6c\uc870\uc5d0 \uc800\uc7a5\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ud568\uc218\ub294 \uc77c\ubc18\uc801\uc73c\ub85c &quot;\uc21c\uc218&quot;\ud569\ub2c8\ub2e4. \uc989, \ubd80\uc791\uc6a9\uc774 \uc5c6\uc73c\uba70 \ucd9c\ub825\uc740 \uc785\ub825\uc5d0 \uc758\ud574\uc11c\ub9cc \uacb0\uc815\ub429\ub2c8\ub2e4.<\/p>\n<p>\ubd88\ubcc0 \ub370\uc774\ud130\uc758 \uc0ac\uc6a9\uc740 \ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d\uc758 \ub610 \ub2e4\ub978 \ud575\uc2ec\uc785\ub2c8\ub2e4. \ub370\uc774\ud130\ub294 \ud55c\ubc88 \uc0dd\uc131\ub418\uba74 \ubcc0\uacbd\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \ub300\uc2e0 \ubaa8\ub4e0 \ubcc0\ud658\uc740 \uc0c8\ub85c\uc6b4 \ub370\uc774\ud130\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uc811\uadfc \ubc29\uc2dd\uc740 \uc18c\ud504\ud2b8\uc6e8\uc5b4\uc758 \uc608\uce21 \uac00\ub2a5\uc131\uacfc \uc2e0\ub8b0\uc131\uc5d0 \uae30\uc5ec\ud569\ub2c8\ub2e4.<\/p>\n<p>\ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d \uc5b8\uc5b4\ub294 \ub8e8\ud504\uc640 \uac19\uc740 \uc77c\ubc18\uc801\uc778 \uba85\ub839\ud615 \uc81c\uc5b4 \uad6c\uc870\uac00 \uc5c6\uae30 \ub54c\ubb38\uc5d0 \uae30\ubcf8 \uc81c\uc5b4 \uad6c\uc870\ub85c \uc7ac\uadc0\uc5d0 \ud06c\uac8c \uc758\uc874\ud569\ub2c8\ub2e4. \ub9ce\uc740 \ud568\uc218\ud615 \uc5b8\uc5b4\uc5d0\uc11c\ub294 \uacb0\uacfc\uac00 \ud544\uc694\ud560 \ub54c\uae4c\uc9c0 \ud45c\ud604\uc2dd\uc774 \ud3c9\uac00\ub418\uc9c0 \uc54a\ub294 \uc9c0\uc5f0 \ud3c9\uac00\ub97c \uc0ac\uc6a9\ud558\ubbc0\ub85c \uc7a0\uc7ac\uc801\uc73c\ub85c \ubb34\ud55c\ud560 \uc218 \uc788\ub294 \ub370\uc774\ud130 \uad6c\uc870 \ubc0f \uacc4\uc0b0\uc744 \ud6a8\uc728\uc801\uc73c\ub85c \ud45c\ud604\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<h2>\ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d\uc758 \ub0b4\ubd80 \uad6c\uc870<\/h2>\n<p>\ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d\uc740 \uc808\ucc28\uc801 \ud504\ub85c\uadf8\ub798\ubc0d, \uac1d\uccb4\uc9c0\ud5a5 \ud504\ub85c\uadf8\ub798\ubc0d \ub4f1 \ub2e4\ub978 \uc8fc\ub958 \ud328\ub7ec\ub2e4\uc784\uacfc \uadfc\ubcf8\uc801\uc73c\ub85c \ub2e4\ub985\ub2c8\ub2e4.<\/p>\n<p>\uc0c1\ud0dc \ubcc0\uacbd \ubc0f \ubcc0\uacbd \uac00\ub2a5\ud55c \ub370\uc774\ud130 \ub300\uc2e0 FP\ub294 \uc21c\uc218 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uace0 \uacf5\uc720 \uc0c1\ud0dc\ub97c \ud53c\ud568\uc73c\ub85c\uc368 \ud504\ub85c\uadf8\ub7a8\uc758 \uc77c\uad00\uc131\uacfc \uc608\uce21 \uac00\ub2a5\uc131\uc744 \uc720\uc9c0\ud558\ub294 \uac83\uc744 \ubaa9\ud45c\ub85c \ud569\ub2c8\ub2e4. \uc21c\uc218 \ud568\uc218\ub294 \ub3d9\uc77c\ud55c \uc785\ub825\uc5d0 \ub300\ud574 \ud56d\uc0c1 \ub3d9\uc77c\ud55c \uacb0\uacfc\ub97c \uc0dd\uc131\ud558\uba70 \ud568\uc218\uc758 \ubc18\ud658 \uac12\uacfc \uad00\ub828\ub418\uc9c0 \uc54a\uc740 \uc0c1\ud0dc \ubcc0\uacbd\uc778 \ubd80\uc791\uc6a9\uc744 \uc0dd\uc131\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n<p>FP\ub294 \ub610\ud55c \uc81c\uc5b4 \ud750\ub984\uc744 \uc704\ud574 \uc7ac\uadc0\ub97c \ud65c\uc6a9\ud558\ub294 \uacbd\uc6b0\ub3c4 \ub9ce\uc2b5\ub2c8\ub2e4. \uc7ac\uadc0\ub294 \uc790\uc2e0\uc744 \uc11c\ube0c\ub8e8\ud2f4\uc73c\ub85c \ud638\ucd9c\ud558\ub294 \ud568\uc218\uc758 \ud504\ub85c\uc138\uc2a4\uc785\ub2c8\ub2e4. \uc774\ub294 \ubcf5\uc7a1\ud55c \ub370\uc774\ud130 \uad6c\uc870\uc640 \uad00\ub828\ub418\uac70\ub098 \ubc18\ubcf5\uc801\uc778 \uacc4\uc0b0\uc774 \ud544\uc694\ud55c \ubb38\uc81c\ub97c \ud574\uacb0\ud558\ub294 \ub370 \uac15\ub825\ud55c \ub3c4\uad6c\uac00 \ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d\uc758 \ud575\uc2ec\uc740 \ud569\uc131\uc785\ub2c8\ub2e4. \uc989, \uac04\ub2e8\ud55c \ud568\uc218\ub97c \uacb0\ud569\ud558\uc5ec \ubcf5\uc7a1\ud55c \ud568\uc218\ub97c \ub9cc\ub4dc\ub294 \uac83\uc785\ub2c8\ub2e4. \uc774\ub294 \ubaa8\ub4c8\uc2dd\uc774\uba70 \ud14c\uc2a4\ud2b8, \uc774\ud574 \ubc0f \ub514\ubc84\uae45\uc774 \uc26c\uc6b4 \ucf54\ub4dc\ub85c \uc774\uc5b4\uc9d1\ub2c8\ub2e4.<\/p>\n<h2>\ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d\uc758 \uc8fc\uc694 \ud2b9\uc9d5<\/h2>\n<p>\ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d\uc758 \uc8fc\uc694 \uae30\ub2a5\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<ol>\n<li>\n<p><strong>\uc21c\uc218 \uae30\ub2a5<\/strong>: \ub3d9\uc77c\ud55c \uc778\uc218\uc5d0 \ub300\ud574 \ubc18\ud658 \uac12\uc774 \ub3d9\uc77c\ud558\uace0 \ubd80\uc791\uc6a9\uc774 \uc5c6\ub294 \uacbd\uc6b0 \ud568\uc218\ub294 \uc21c\uc218\ud558\ub2e4\uace0 \uac04\uc8fc\ub429\ub2c8\ub2e4.<\/p>\n<\/li>\n<li>\n<p><strong>\ubd88\ubcc0 \ub370\uc774\ud130<\/strong>: \ud568\uc218\ud615 \uc5b8\uc5b4\ub85c \uc791\uc131\ub41c \ub370\uc774\ud130 \uad6c\uc870\ub294 \ubcc0\uacbd\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.<\/p>\n<\/li>\n<li>\n<p><strong>\uc77c\uae09 \ubc0f \uace0\ucc28 \ud568\uc218<\/strong>: FP\uc758 \ud568\uc218\ub294 \ub2e4\ub978 \ubcc0\uc218\ucc98\ub7fc \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ubaa8\ub4e0 \ubc94\uc704\uc5d0\uc11c \uc815\uc758\ud558\uace0, \uc778\uc218\ub85c \uc804\ub2ec\ud558\uace0, \ub2e4\ub978 \ud568\uc218\uc5d0\uc11c \ubc18\ud658\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<\/li>\n<li>\n<p><strong>\uc7ac\uadc0<\/strong>: \ubc18\ubcf5\uc744 \uc704\ud55c \uae30\ubcf8 \uc81c\uc5b4 \uad6c\uc870\ub85c \uc7ac\uadc0\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4.<\/p>\n<\/li>\n<li>\n<p><strong>\ucc38\uc870 \ud22c\uba85\uc131<\/strong>: \ud504\ub85c\uadf8\ub7a8\uc758 \ub3d9\uc791\uc744 \ubcc0\uacbd\ud558\uc9c0 \uc54a\uace0 \ud574\ub2f9 \uac12\uc73c\ub85c \ub300\uccb4\ud560 \uc218 \uc788\ub294 \uacbd\uc6b0 \ud45c\ud604\uc2dd\uc744 \ucc38\uc870\uc801\uc73c\ub85c \ud22c\uba85\ud558\ub2e4\uace0 \ud569\ub2c8\ub2e4.<\/p>\n<\/li>\n<li>\n<p><strong>\uac8c\uc73c\ub978 \ud3c9\uac00<\/strong>: \ud504\ub85c\uadf8\ub7a8\uc744 \uc9c4\ud589\ud558\ub294 \ub370 \ud574\ub2f9 \uac12\uc774 \ud544\uc694\ud55c \uacbd\uc6b0\uc5d0\ub9cc \ud45c\ud604\uc2dd\uc744 \ud3c9\uac00\ud569\ub2c8\ub2e4.<\/p>\n<\/li>\n<\/ol>\n<h2>\ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d\uc758 \uc720\ud615<\/h2>\n<p>\ubaa8\ub4e0 \ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d \uc5b8\uc5b4\ub294 \uc704\uc5d0 \uc124\uba85\ub41c \ud575\uc2ec \uc6d0\uce59\uc744 \uc900\uc218\ud558\uc9c0\ub9cc \uc5c4\uaca9\ud568 \uc218\uc900\uacfc \uc81c\uacf5\ud558\ub294 \uae30\ub2a5\uc774 \uc11c\ub85c \ub2e4\ub978 \uacbd\uc6b0\uac00 \ub9ce\uc2b5\ub2c8\ub2e4. \uace0\ub824\ud574\uc57c \ud560 \uc138 \uac00\uc9c0 \ubc94\uc8fc\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<ol>\n<li>\n<p><strong>\uc21c\uc218 \ud568\uc218\ud615 \uc5b8\uc5b4<\/strong>: \uc774\ub7ec\ud55c \uc5b8\uc5b4\ub294 \ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d\uc758 \uc6d0\uce59\uc744 \uc5c4\uaca9\ud558\uac8c \ub530\ub974\uba70 \uc5b4\ub5a4 \ud615\ud0dc\uc758 \ubcc0\uacbd \uac00\ub2a5\ud55c \uc0c1\ud0dc\ub098 \ubd80\uc791\uc6a9\ub3c4 \ud5c8\uc6a9\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ub300\ud45c\uc801\uc778 \uc608\ub85c \ud558\uc2a4\ucf08(Haskell)\uacfc \uc5d8\ub984(Elm)\uc774 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<\/li>\n<li>\n<p><strong>\ubd88\uc21c\ud55c \ud568\uc218\ud615 \uc5b8\uc5b4<\/strong>: \uc774\ub7ec\ud55c \uc5b8\uc5b4\ub294 \uae30\ubcf8\uc801\uc73c\ub85c \uae30\ub2a5\uc801\uc774\uc9c0\ub9cc \uc77c\uc815 \uc218\uc900\uc758 \ubd80\uc791\uc6a9\uacfc \ubcc0\uacbd \uac00\ub2a5\ud55c \uc0c1\ud0dc\ub97c \ud5c8\uc6a9\ud569\ub2c8\ub2e4. \uc608\ub85c\ub294 Lisp \ubc0f Scheme\uc774 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<\/li>\n<li>\n<p><strong>\uae30\ub2a5\uc801 \uc694\uc18c\ub97c \uac16\ucd98 \ub2e4\uc911 \ud328\ub7ec\ub2e4\uc784 \uc5b8\uc5b4<\/strong>: \ub9ce\uc740 \ud604\ub300 \uc5b8\uc5b4\ub294 \ub2e4\uc911 \ud328\ub7ec\ub2e4\uc784\uc785\ub2c8\ub2e4. \uc989, \uc5ec\ub7ec \uc2a4\ud0c0\uc77c\ub85c \ud504\ub85c\uadf8\ub798\ubc0d\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uc5b8\uc5b4\uc5d0\ub294 \ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d \uc694\uc18c\uac00 \ud3ec\ud568\ub418\ub294 \uacbd\uc6b0\uac00 \ub9ce\uc2b5\ub2c8\ub2e4. \uc608\ub85c\ub294 JavaScript, Python, Ruby \ubc0f Scala\uac00 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<\/li>\n<\/ol>\n<table>\n<thead>\n<tr>\n<th>\ubc94\uc8fc<\/th>\n<th>\uc5b8\uc5b4<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\uc21c\uc218 \uae30\ub2a5\uc131<\/td>\n<td>\ud558\uc2a4\ucf08, \uc5d8\ub984<\/td>\n<\/tr>\n<tr>\n<td>\ubd88\uc21c\ud55c \uae30\ub2a5\uc131<\/td>\n<td>\ub9ac\uc2a4\ud504, \uacc4\ud68d<\/td>\n<\/tr>\n<tr>\n<td>\uae30\ub2a5\uc801 \uc694\uc18c\ub97c \uac16\ucd98 \uba40\ud2f0 \ud328\ub7ec\ub2e4\uc784<\/td>\n<td>\uc790\ubc14\uc2a4\ud06c\ub9bd\ud2b8, \ud30c\uc774\uc36c, \ub8e8\ube44, \uc2a4\uce7c\ub77c<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>\ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d\uc758 \uc0ac\uc6a9\uacfc \uad00\ub828 \ubb38\uc81c \ubc0f \uc194\ub8e8\uc158<\/h2>\n<p>\ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d\uc740 \ud504\ub7f0\ud2b8\uc5d4\ub4dc \uc6f9 \uac1c\ubc1c(\uc608: React \ubc0f Redux\uc640 \uac19\uc740 JavaScript \ub77c\uc774\ube0c\ub7ec\ub9ac \uc0ac\uc6a9)\ubd80\ud130 \uc11c\ubc84\uce21 \uac1c\ubc1c(\uc608: Scala \ub610\ub294 Elixir \uc0ac\uc6a9), \ub370\uc774\ud130 \ucc98\ub9ac \ubc0f \ubd84\uc11d(\uc608: \ub2e4\uc74c\uc744 \uc0ac\uc6a9)\uc5d0 \uc774\ub974\uae30\uae4c\uc9c0 \ub2e4\uc591\ud55c \uc0c1\ud669\uc5d0\uc11c \uc0ac\uc6a9\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4. Apache Spark \ub610\ub294 Python\uc744 \uc0ac\uc6a9\ud558\ub294 Pandas).<\/p>\n<p>\ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d\uc740 \ub9ce\uc740 \uc774\uc810\uc744 \uc81c\uacf5\ud558\uc9c0\ub9cc \uadf8\uc5d0 \ub530\ub978 \uacfc\uc81c\ub3c4 \ub530\ub985\ub2c8\ub2e4. \uba87 \uac00\uc9c0 \uc77c\ubc18\uc801\uc778 \uacfc\uc81c\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<ul>\n<li><strong>\ud559\uc2b5 \uace1\uc120<\/strong>: \ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d\uc740 \ub2e4\ub978 \uc0ac\uace0 \ubc29\uc2dd\uc744 \ud3ec\ud568\ud558\uba70 \ucc98\uc74c\uc5d0\ub294 \uba85\ub839\ud615 \ub610\ub294 \uac1d\uccb4 \uc9c0\ud5a5 \ud328\ub7ec\ub2e4\uc784\uc5d0 \uc775\uc219\ud55c \uac1c\ubc1c\uc790\uc5d0\uac8c \uc5b4\ub824\uc6b8 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<li><strong>\uc131\ub2a5<\/strong>: \uc7ac\uadc0 \ubc0f \uc9c0\uc18d\uc801\uc778 \ub370\uc774\ud130 \uad6c\uc870\uc5d0 \uc758\uc874\ud558\uae30 \ub54c\ubb38\uc5d0 \uae30\ub2a5\uc801 \uc5b8\uc5b4\ub294 \uc131\ub2a5 \ubb38\uc81c\uc5d0 \uc9c1\uba74\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub7ec\ub098 \ub9ce\uc740 \ud604\ub300 \ud568\uc218\ud615 \uc5b8\uc5b4\uc640 \ucef4\ud30c\uc77c\ub7ec\uc5d0\ub294 \uc774\ub7ec\ud55c \ubb38\uc81c\ub97c \uc644\ud654\ud558\ub294 \uae30\uc220\uc774 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<li><strong>\ub514\ubc84\uae45<\/strong>: \uc9c0\uc5f0 \ud3c9\uac00 \ubc0f \uc7ac\uadc0\uc640 \uac19\uc740 \uac1c\ub150\uc73c\ub85c \uc778\ud574 \ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d\uc5d0\uc11c\ub294 \ub514\ubc84\uae45\uc774 \ub354 \ubcf5\uc7a1\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n<p>\uc774\ub7ec\ud55c \ubb38\uc81c\uc5d0 \ub300\ud55c \ud574\uacb0\ucc45\uc5d0\ub294 \uc77c\ubc18\uc801\uc73c\ub85c \uad50\uc721(\ud559\uc2b5 \uace1\uc120\uc6a9), \uae30\ub2a5 \uad6c\uc131\uc744 \ucd5c\uc801\ud654\ud558\ub294 \ucd5c\uc2e0 \uc5b8\uc5b4 \ubc0f \ub3c4\uad6c \uc0ac\uc6a9(\uc131\ub2a5\uc6a9), \uae30\ub2a5\uc801 \ud504\ub85c\uadf8\ub798\ubc0d \uac1c\ub150\uacfc \uc791\ub3d9\ud558\ub3c4\ub85d \uc124\uacc4\ub41c \ub514\ubc84\uae45 \ub3c4\uad6c \uc0ac\uc6a9(\ub514\ubc84\uae45\uc6a9)\uc774 \ud3ec\ud568\ub429\ub2c8\ub2e4.<\/p>\n<h2>\ub2e4\ub978 \ud328\ub7ec\ub2e4\uc784\uacfc \ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d \ube44\uad50<\/h2>\n<table>\n<thead>\n<tr>\n<th>\ud2b9\uc9d5<\/th>\n<th>\ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d<\/th>\n<th>\uac1d\uccb4 \uc9c0\ud5a5 \ud504\ub85c\uadf8\ub798\ubc0d<\/th>\n<th>\uc808\ucc28\uc801 \ud504\ub85c\uadf8\ub798\ubc0d<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\ud575\uc2ec \ucd08\uc810<\/td>\n<td>\ud568\uc218 \ubc0f \ub370\uc774\ud130 \ubd88\ubcc0\uc131<\/td>\n<td>\uac1d\uccb4\uc640 \ucea1\uc290\ud654<\/td>\n<td>\uc808\ucc28 \ubc0f \uc0c1\ud0dc \ubcc0\uacbd<\/td>\n<\/tr>\n<tr>\n<td>\uc0c1\ud0dc<\/td>\n<td>\ubd88\ubcc0<\/td>\n<td>\ubcc0\ud558\uae30 \uc26c\uc6b4<\/td>\n<td>\ubcc0\ud558\uae30 \uc26c\uc6b4<\/td>\n<\/tr>\n<tr>\n<td>\ud750\ub984 \uc81c\uc5b4<\/td>\n<td>\uc7ac\uadc0 \ubc0f \ud568\uc218 \ud638\ucd9c<\/td>\n<td>\uba54\uc18c\ub4dc \ud638\ucd9c<\/td>\n<td>\ub8e8\ud504 \ubc0f \uc870\uac74\ubd80<\/td>\n<\/tr>\n<tr>\n<td>\ubaa8\ub4c8\uc131<\/td>\n<td>\uae30\ub2a5 \uad6c\uc131<\/td>\n<td>\ud074\ub798\uc2a4 \ubc0f \uac1d\uccb4 \uacc4\uce35<\/td>\n<td>\uc808\ucc28 \ud638\ucd9c<\/td>\n<\/tr>\n<tr>\n<td>\uae30\ubcf8 \ub2e8\uc704<\/td>\n<td>\uae30\ub2a5<\/td>\n<td>\ubb3c\uccb4<\/td>\n<td>\uc808\ucc28<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>\ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d\uacfc \uad00\ub828\ub41c \ubbf8\ub798 \uc804\ub9dd\uacfc \uae30\uc220<\/h2>\n<p>\uae30\ub2a5\uc801 \ud504\ub85c\uadf8\ub798\ubc0d \uac1c\ub150\uc740 \ub3d9\uc2dc \ubc0f \ubcd1\ub82c \ucef4\ud4e8\ud305\uc758 \uc911\uc694\uc131\uc774 \ucee4\uc9c0\uace0 \ub354 \uc608\uce21 \uac00\ub2a5\ud558\uace0 \ud14c\uc2a4\ud2b8 \uac00\ub2a5\ud55c \ucf54\ub4dc\uc5d0 \ub300\ud55c \ud544\uc694\uc131\uc774 \ub192\uc544\uc9c0\uba74\uc11c \uc8fc\ub958 \uc5b8\uc5b4 \ubc0f \uc18c\ud504\ud2b8\uc6e8\uc5b4 \uac1c\ubc1c \ubc29\uc2dd\uc5d0\uc11c \uc8fc\ubaa9\uc744 \ubc1b\uace0 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>ReactJS\uc640 \uac19\uc740 \uae30\uc220\uc740 \ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d\uc758 \uac1c\ub150\uc744 \ud65c\uc6a9\ud558\uc5ec \uc608\uce21 \uac00\ub2a5\ud55c \ubc29\uc2dd\uc73c\ub85c \ubcf5\uc7a1\ud55c \uc0c1\ud0dc \uad00\ub9ac\ub97c \ucc98\ub9ac\ud569\ub2c8\ub2e4. \uc11c\ubc84\ub9ac\uc2a4 \uc544\ud0a4\ud14d\ucc98\ub294 \ub610\ud55c \ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d\uc5d0 \ubfcc\ub9ac\ub97c \ub454 \uac1c\ub150\uc778 \ubb34\uc0c1\ud0dc \uacc4\uc0b0\uc744 \uc9c0\ud5a5\ud569\ub2c8\ub2e4.<\/p>\n<p>\ub370\uc774\ud130 \ucc98\ub9ac \ubc0f \ubd84\uc11d\uc5d0\uc11c \ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d \ud328\ub7ec\ub2e4\uc784\uc744 \uc0ac\uc6a9\ud558\uba74 \ubd84\uc0b0 \ubc0f \ub3d9\uc2dc \ucf54\ub4dc\ub97c \uc27d\uac8c \uc791\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. Apache Spark\uc640 \uac19\uc740 \uae30\uc220\uc758 \ud575\uc2ec\uc5d0\ub294 \uae30\ub2a5\uc801 \ud504\ub85c\uadf8\ub798\ubc0d\uc774 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<h2>\ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d \ubc0f \ud504\ub85d\uc2dc \uc11c\ubc84<\/h2>\n<p>\ud504\ub85d\uc2dc \uc11c\ubc84\ub294 \ud655\uc2e4\ud788 \ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d\uc758 \uc774\uc810\uc744 \ub204\ub9b4 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4 \ud504\ub85d\uc2dc \uc11c\ubc84\uc758 \ub77c\uc6b0\ud305, \uce90\uc2f1 \ubc0f \ub85c\uadf8\uc778 \ub17c\ub9ac\ub294 \uc21c\uc218 \uae30\ub2a5\uc73c\ub85c \ubaa8\ub378\ub9c1\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub97c \ud1b5\ud574 \uc2dc\uc2a4\ud15c\uc744 \ub354\uc6b1 \uc608\uce21 \uac00\ub2a5\ud558\uac8c \ub9cc\ub4e4\uace0 \ud14c\uc2a4\ud2b8\ud558\uae30 \uc27d\uac8c \ud558\uba70 \ub3d9\uc2dc \uc5f0\uacb0 \ucc98\ub9ac\ub97c \ub2e8\uc21c\ud654\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uc5ec\ub7ec \ud074\ub77c\uc774\uc5b8\ud2b8\uac00 \ub3d9\uc2dc\uc5d0 \ud504\ub85d\uc2dc \uc11c\ubc84\uc5d0 \uc694\uccad\uc744 \ubcf4\ub0b4\ub294 \uc0c1\ud669\uc744 \uc0dd\uac01\ud574 \ubcf4\uc138\uc694. \ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d\uc744 \uc0ac\uc6a9\ud558\uba74 \uac01 \uc694\uccad\uc744 \uac1c\ubcc4\uc801\uc73c\ub85c \ucc98\ub9ac\ud560 \uc218 \uc788\uc5b4 \uacf5\uc720 \uc0c1\ud0dc\uc5d0\uc11c \ubc1c\uc0dd\ud558\ub294 \uc7a0\uc7ac\uc801\uc778 \ucda9\ub3cc\uc774\ub098 \ubd88\uc77c\uce58\ub97c \ubc29\uc9c0\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<h2>\uad00\ub828\ub41c \ub9c1\ud06c\ub4e4<\/h2>\n<p>\ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d\uc5d0 \ub300\ud55c \uc790\uc138\ud55c \ub0b4\uc6a9\uc744 \ubcf4\ub824\uba74 \ub2e4\uc74c \ub9ac\uc18c\uc2a4\ub97c \ubc29\ubb38\ud558\uc138\uc694.<\/p>\n<ol>\n<li><a href=\"http:\/\/haskellbook.com\/\" target=\"_new\" rel=\"noopener nofollow\">\uccab \ubc88\uc9f8 \uc6d0\uce59\uc5d0 \ub530\ub978 \ud558\uc2a4\ucf08 \ud504\ub85c\uadf8\ub798\ubc0d<\/a><\/li>\n<li><a href=\"http:\/\/learnyouahaskell.com\/\" target=\"_new\" rel=\"noopener nofollow\">\ud070 \uc774\uc775\uc744 \uc704\ud574 \ud558\uc2a4\ucf08\uc744 \ubc30\uc6b0\uc138\uc694!<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/getify\/Functional-Light-JS\" target=\"_new\" rel=\"noopener nofollow\">JavaScript\uc758 \ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d<\/a><\/li>\n<li><a href=\"https:\/\/www.cs.kent.ac.uk\/people\/staff\/dat\/miranda\/whyfp90.pdf\" target=\"_new\" rel=\"noopener nofollow\">\ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d\uc774 \uc911\uc694\ud55c \uc774\uc720 \u2013 John Hughes<\/a><\/li>\n<li><a href=\"https:\/\/mitpress.mit.edu\/sites\/default\/files\/sicp\/full-text\/book\/book.html\" target=\"_new\" rel=\"noopener nofollow\">\ucef4\ud4e8\ud130 \ud504\ub85c\uadf8\ub7a8\uc758 \uad6c\uc870\uc640 \ud574\uc11d<\/a><\/li>\n<li><a href=\"https:\/\/eloquentjavascript.net\/\" target=\"_new\" rel=\"noopener nofollow\">\uc5d8\ub85c\ud000\ud2b8 \uc790\ubc14\uc2a4\ud06c\ub9bd\ud2b8<\/a><\/li>\n<\/ol>","protected":false},"featured_media":468455,"menu_order":0,"template":"","meta":{"_acf_changed":false,"content-type":"","inline_featured_image":false,"footnotes":""},"class_list":["post-477316","wiki","type-wiki","status-publish","has-post-thumbnail","hentry"],"acf":{"faq_title":"Frequently Asked Questions about <mark>Functional Programming: The Power of Pure Functions and Immutable Data<\/mark>","faq_items":[{"question":"What is Functional Programming?","answer":"<p>Functional Programming (FP) is a programming paradigm that is centered around the use of pure functions, immutable data, and the avoidance of shared state or side-effects. It emphasizes the evaluation of mathematical functions and avoids changing-state and mutable data.<\/p>"},{"question":"What is the history of Functional Programming?","answer":"<p>Functional programming traces its roots back to the 1930s with Alonzo Church's work on lambda calculus. The first functional programming language, LISP, was developed by John McCarthy at MIT in the 1950s and 1960s. The 1970s and 1980s saw the emergence of more functional programming languages like ML, Scheme, Miranda, and Haskell.<\/p>"},{"question":"What are the key features of Functional Programming?","answer":"<p>The key features of functional programming include the use of pure functions, immutable data, first-class and higher-order functions, recursion, referential transparency, and often, lazy evaluation.<\/p>"},{"question":"How does Functional Programming work internally?","answer":"<p>Functional programming uses pure functions and avoids shared state to maintain the consistency and predictability of programs. It also uses recursion for control flow and function composition to build complex functions by combining simpler ones.<\/p>"},{"question":"What are the different types of Functional Programming languages?","answer":"<p>Functional programming languages can be categorized into pure functional languages like Haskell and Elm, impure functional languages like Lisp and Scheme, and multi-paradigm languages with functional elements like JavaScript, Python, Ruby, and Scala.<\/p>"},{"question":"What are the uses and challenges of Functional Programming?","answer":"<p>Functional programming can be used in various contexts from front-end web development to server-side development to data processing. However, it can present challenges such as a steep learning curve, potential performance issues due to recursion and persistent data structures, and complexities in debugging due to concepts like lazy evaluation and recursion.<\/p>"},{"question":"How does Functional Programming compare to other paradigms?","answer":"<p>Functional programming focuses on functions and data immutability, whereas object-oriented programming focuses on objects and encapsulation, and procedural programming focuses on procedures and state change. Also, in FP, the state is immutable, control flow is managed through recursion, and modularity is achieved through function composition.<\/p>"},{"question":"How does Functional Programming relate to future technologies?","answer":"<p>Functional programming concepts are increasingly being adopted in mainstream languages and software development practices. Technologies like ReactJS for front-end development and Apache Spark for data processing leverage functional programming principles.<\/p>"},{"question":"How can Functional Programming be used in proxy servers?","answer":"<p>The logic for routing, caching, and logging in a proxy server could be modeled with pure functions in functional programming, making the system more predictable and easier to test. Also, it could simplify the handling of concurrent connections.<\/p>"}]},"_links":{"self":[{"href":"https:\/\/oneproxy.pro\/kr\/wp-json\/wp\/v2\/wiki\/477316","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oneproxy.pro\/kr\/wp-json\/wp\/v2\/wiki"}],"about":[{"href":"https:\/\/oneproxy.pro\/kr\/wp-json\/wp\/v2\/types\/wiki"}],"version-history":[{"count":0,"href":"https:\/\/oneproxy.pro\/kr\/wp-json\/wp\/v2\/wiki\/477316\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/oneproxy.pro\/kr\/wp-json\/wp\/v2\/media\/468455"}],"wp:attachment":[{"href":"https:\/\/oneproxy.pro\/kr\/wp-json\/wp\/v2\/media?parent=477316"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}