ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 패러다임 :: FP vs OOP vs PP
    Code-Tip/Theory of Programming 2020. 7. 1. 10:27

     

    프로그램 패러다임( Paradigm )이라는 개념이 있다.

    패러다임은 형태나 규칙을 뜻하는 용어로 프로그램 패러다임은 프로그램 작성형식 ( Style of Programming )을 말한다.

    코드 스타일과는 분류단위가 Syntax 와 module 이라는 점에서 차이가 있는 개념이다.

     

    프로그램 패러다임은 크게 3가지로 분류된다.

     

     

    Functional Programming ::

    - 수학적 공식에 기반한 작성법이다. 대두되는 특징은 독립성이다.

    상태와 같은 지속적인 데이터를 다루기 보단 연산이라는 개념의 I/O 를 작성하는 방식이다.

     

    (ex : 계산기 프로그램 :: 우선순위 처리 / 사칙연산 계산)

     

     

    Object Oriented Programming ::

    - 사물표현 기반의 작성법이다. 프로그래밍이 자연계의 전산화를 위한 기술이기에 이해가 쉽고

    군집과 사물이라는 개념에 대한 유지보수가 편리하다.

     

    (ex : 엑셀 프로그램 :: 엑셀 생성 - [ 시트관리 / 셀 관리 / 권한관리 / ,... / 스트림관리 ]- 엑셀삭제 )

     

     

    Procedural Programming ::

    - 절차구조 기반의  작성법이다. 단계와 절차가 분명한 대상에 대한 작성에 용이하다.

    단계에 따라 상태를 유지하며 수행하도록 구연된다.

     

    (ex : 자판기 프로그램 :: 동전인식 > 메뉴선택대기 > 선택메뉴 배출 or 동전반환 )

     

     

    FP vs OOP vs PP ::

    - 실제 작성체감은 다르지만 주요구분은 Lifecycle 과 State Management 에 따라 분류된다.

    Routine 에 따라 동작하는 것이 FP/PP, Instances 에 따라 동작하는 것이 OOP.

    현재나 과거의 상태정보를 유지한다면 OOP/PP, 개별독립연산으로 기획됐다면 FP

     

    대표적 언어

    - FP = Script

    - Oop = Java

    - PP = C

     

    사실상 패러다임은 프로그램 부분이나 분류수준에 따라 동시에 사용된다.

    대표적 언어는 언어별 특징에 따라 해당 패러다임이 주로 사용되는 언어들이다.

    자바는 유지보수와 이식성이 뛰어나기에, 유지와 개선성능을 목적으로 한 OOP 가 자주 도입되고

    Script 언어들은 원래 Batch 언어로 불렸던것처럼 순차적인 개별연산작성에 많이 사용된다.

    JS 의 경우 ES5~6에서 도입된 module 개념에 의해 OOP에 친숙해지며 Framework 생태게가 활성화 되었지만

    기본적으로 스크립트언어들은 FP 성향이 강하다고 생각한다.

    마지막으로 C 언어는 대표적인 PP 언어이다. 구조체기반의 루틴으로 동작하는 구조에 적합하다.

     

     

     

    댓글

Designed by Tistory.