Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- Bandit
- SQL Injection
- web hacking
- CTF
- write up
- 웹해킹
- 인공지능
- 사이버보안
- lord of sqlinjection
- 테크트렌드
- burp suite
- WebHacking
- pythonprogramming
- geminipro
- system hacking
- 정보보안
- 코딩
- XSS GAME
- root me
- Over The Wire
- 웹개발
- sql injection bypass
- 웹해킹 기초
- 개발자
- Wargame
- overthewire
- hackthissite
- webhacking.kr
- web-server
- 프로그래밍
Archives
- Today
- Total
컴맹에서 컴공 그리고 화이트 해커가 되는 그날까지
프로그래밍 패러다임의 종류 본문
반응형
나열(SEQ)
명령형(Imperative) 프로그래밍 패러다임
- 프로그램이 수행해야 하는 작업을 일련의 명령으로 기술.
- 명령문들이 순차적으로 실행.
- 명령의 실행 순서와 제어 흐름이 매우 중요.
절차형(Procedural) 프로그래밍 패러다임
- 프로그램을 여러 개의 절차(또는 함수, 프로시저)로 분할하여 구성하는 방식(모듈화)
- 명령형 프로그래밍의 한 분류
- 명령어들이 나열된다는건 명령형과 동일
- 명령어들을 기능별로 묶어서 관리(구조화)하고 재사용할 수 있도록 개선한 것(재사용성)
순차적 명령어 실행 방식이 복잡한 문제를 다루기에는 한계가 있다는 인식에서, 문제의 조건과 관계를 명확히 선언하여 자동으로 해답을 도출하는 논리형 프로그래밍 패러다임이 등장했습니다.
이는 특히 인공지능, 전문가 시스템, 자연어 처리 등 복잡한 규칙 기반 문제 해결에 강점을 보이며, 문제를 “어떻게” 해결할지보다 “무엇”이 해결되어야 하는지를 기술하는 선언적 접근 방식을 제공합니다
논리(Logic)
논리형(Logic) 프로그래밍 패러다임
- 선언적 프로그래밍
- 무엇이 사실이고 어떤 규칙에 따라 결론이 도출되어야 하는지 서술
- 자동 추론
- Prolog(언어): 사용자가 질의(query)를 제시하면, 시스템이 사실과 규칙을 바탕으로 자도으로 추론을 수행하여 해답을 도출
- 제어 흐름의 추상화
- 문제의 논리적 관계를 기술, 실행 순서를 시스템이 자동으로 결정
- 문제 본질에 집중
- 문제 조건과 논리를 명확하게 표현, 결과 도출을 위한 핵심 요소만을 기술
함수형(Functional) 프로그래밍 패러다임
- 순수 함수
- 동일한 입력에 대해 동일한 출력을 반환
- 불변성
- 고차 함수
- 선언적 접근
- 코드가 간결해지고, 부수 효과(side effect)가 줄어들어 디버깅과 병렬 처리에 유리
객체지향(Object-Oriented) 프로그래밍 패러다임
- 캡슐화
- 데이터 + 데이터 처리 메서드 = (하나의 객체)
- 상속과 다형성
- 추상화
리액티브 프로그래밍 패러다임
- 비동기 데이터 스트림과 이벤트 흐름을 중심으로, 시스템이 변화에 실시간으로 반응하도록 설계
데이터 중심 및 선언적 패러다임
- *"무엇을" 해야 하는지를 선언적으로 표현, 내부의 복잡한 실행 로직은 시스템이 처리하도록 맡김.*
분산 시스템 및 병렬 처리 패러다임
- 시스템의 확장성과 내결함성을 위해, 여러 노드에 작업을 분산시키고 동시에 처리하는 접근 방식을 강조합니다.
반응형
'프로그래밍' 카테고리의 다른 글
C언어의 포인터와 주소 연산자: 메모리 조작의 마법 가이드 (0) | 2025.02.19 |
---|---|
bolt.diy로 시작하는 노코드 개발 혁명: 코딩 없이 나만의 서비스 만들기 (0) | 2025.02.17 |
완벽하지 않아도 사랑받는 제품 만들기: Lovable의 모든 것 (0) | 2025.02.17 |
TypeScript 안 쓴다면? Vanilla JS 개발자의 7가지 죽을 죄 (0) | 2025.02.15 |
Web3는 사기인가? 24시간 동안 DAO에 투자해본 결과 - 개발자의 DeFi 실험 (0) | 2025.02.15 |