1.7 KiB
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 |
|
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)
- Related: JavaScript-Modern-Patterns , Reactive-Programming
- Key Concept: Referential-Transparency