프로그래밍 언어의 분류

김동현·2023년 5월 8일

CS

목록 보기
2/4

Contents

    프로그래밍 언어의 부류
  1. 명령형 언어
  2. 함수형 언어
  3. 논리 언어
  4. 객체-지향 언어
  5. 서론

    객체지향 언어의 경우 명령형 언어의 확장사항으로 보기도 합니다.

    언어의 다른 유형인 visual language는 명령형 언어의 sub-category 입니다. 가장 널리 사용되고 있는 visual language는 .NET 언어입니다.

    script 언어(JS, Ruby, Perl) 역시 명령형 언어입니다.

    Markup 언어는 프로그래밍 언어라고 할 수 없으며, 예를들어 HTML은 몇 프로그래밍 기능이 포함되어 있으나 Web에서 정보의 구조를 명세하는데 사용됩니다.

출처: 프로그래밍 언어론

명령형 프로그래밍이란?

선언형 프로그래밍과 반대되는 개념으로, 프로그래밍의 상태와 상태를 변경시키는 구문의 관점에서 연산을 설명하는 프로그래밍 패러다임의 일종이다. (wikipedia)

함수형 프로그래밍 vs 명령형 프로그래밍

출처: https://learn.microsoft.com
Functional programming vs imperative programming

요약 명령형 -> 객체 지향형 선언형 -> 함수형

함수형 프로그래밍 패러다임(functional programming paradigm)은 순수 함수형 접근 방법(pure functional approach)으로 문제를 해결하기 위해 고안되었습니다. 함수형 프로그래밍은 선언형 프로그래밍의 일종입니다.

명령형 프로그래밍에서, 개발자는 컴퓨터가 목표를 달성하기 위해 수행해야 하는 단계들을 명시한 코드를 작성하며, 때때로 이는 algorithmic programming이라고 불립니다.

이와 대조적으로 함수형 접근법에서는 문제를 실행될 함수들로 구성하기도 합니다.


특성명령형 접근 방식함수형 접근 방식
프로그래머 초점작업(알고리즘) 수행 방법 및 상태 변경 추적에 초점원하는 정보 및 필요한 변환에 초점을 둠
상태 변경중요함존재하지 않음
실행 순서중요함낮은 중요도
주요 흐름 제어반복문, 조건문, 함수 호출함수 호출, 재귀 포함
주요 조작 단위구조체나 클래스 인스턴스함수 (일급 객체) 및 데이터 컬렉션

순수 함수의 장점, Advantages of pure functions
  1. 순수 함수로 함수형 변환을 구현하는 주된 이유는 순수 함수가 조립 가능(composable)하다는 것입니다. 즉, 독립적이고 상태를 갖지 않습니다. 이러한 특징들은 다음과 같은 여러 가지 이점을 가져옵니다:
  2. 모듈성(Modularity): 순수 함수는 독립적이며 입력에만 의존합니다. 이로 인해 함수는 재사용 가능하고 모듈화할 수 있습니다. 작은 순수 함수들의 조합으로 복잡한 동작을 구현할 수 있으며, 코드의 가독성과 유지보수성이 향상됩니다.
  3. 예측 가능성(Predictability): 순수 함수는 동일한 입력에 대해 항상 동일한 결과를 반환합니다. 외부 상태에 의존하지 않고 함수 내부에서 가변 데이터를 사용하지 않기 때문에, 실행 결과를 예측하기 쉽고 디버깅이 용이합니다.
  4. 테스트 용이성(Testability): 순수 함수는 독립적이므로 입력을 제공하여 테스트하기 쉽습니다. 외부 리소스나 상태에 의존하지 않으므로, 단위 테스트가 간단하고 격리된 환경에서 수행될 수 있습니다.
  5. 병렬 처리(Parallizability): 순수 함수는 입력과 출력 간의 의존성이 없으므로, 병렬 처리가 가능합니다. 여러 스레드나 프로세스에서 동시에 순수 함수를 실행하여 성능을 향상시킬 수 있습니다.
profile
nice to meet you:)

0개의 댓글