Files
2nd/10_Wiki/Topics/AI/Functional-Programming.md
T

1.7 KiB

id, category, confidence_score, tags, last_reinforced
id category confidence_score tags last_reinforced
P-REINFORCE-AI-FUNCTIONAL 10_Wiki/💡 Topics/AI 0.98
Programming
FunctionalProgramming
Declarative
Immutability
2026-04-20

Functional-Programming (함수형 프로그래밍)

📌 한 줄 통찰 (The Karpathy Summary)

"상태를 바꾸지 말고, 명확한 수식을 선언하라." 프로그램의 실행보다 데이터의 변환(Transformation)에 집중하며, 부작용(Side Effect)이 없는 순수 함수를 조합하여 복잡성을 관리하는 패러다임이다.

📖 구조화된 지식 (Synthesized Content)

  • Core Concepts:
    • Pure Functions: 동일한 입력에 언제나 동일한 출력. 외부 상태를 건드리지 않음.
    • Immutability: 데이터는 한 번 생성되면 변하지 않음. 변경이 필요하면 복사본 생성.
    • First-class Citizens: 함수를 변수에 담고, 인자로 전달하고, 결과로 리턴할 수 있음.
    • Declarative: '어떻게(How)'가 아니라 '무엇(What)'을 하는지 명시함.
  • Benefits: 테스트와 디버깅이 압도적으로 쉽고, 병렬 처리에 매우 유리하다.

⚠️ 모순 및 업데이트 (RL Update)

  • 순수 함수형은 현실 세계의 '상태 변화'나 'I/O'를 처리하기가 매우 까다롭다(모나드 등의 난해한 개념 필요). 따라서 현대의 개발 주류는 객체 지향의 구조적 장점과 함수형의 논리적 안정성을 결합한 '멀티 패러다임(Multi-paradigm)' 방식으로 정착하고 있다.

🔗 지식 연결 (Graph)