프로그래밍 언어 — 분류

아현·2021년 12월 15일
0

📚컴퓨터 과학

목록 보기
1/1
post-thumbnail

처리 수준

1. 저급 언어 (Low-level language)

컴퓨터에 가까운 언어, 사람이 다루기엔 난해하다.

  • 기계어(Machin Language)
    별 다른 해석기 없이 CPU가 바로 해석 가능한 비트 단위(1, 0)로 이루어진 언어
  • 어셈블리어(Assembly Language)
    기계어를 사람이 이해하기 쉽게 기호화한 언어, 어셈블러(Assembler)를 통해 기계어로 번역된다.

2. 고급 언어 (High-level language)

다른 언어권의 사람들과 대화할 때 번역기를 이용하듯이,
사람이 이해하기 쉬운 언어로 작성 후 일련의 번역기(컴파일러 혹은 인터프리터)를 통해 기계어로 번역한다.

  • 컴파일 언어(Complie Language)
    전체 원시코드를 컴파일러(Compiler)를 통해 기계어로 번역 후 실행
  • 인터프리트 언어(Interprete Language)
    원시코드를 인터프리터(Interpreter)가 한 줄씩 읽고 번역하여 실행

형태

1. 논리형 프로그래밍 언어 (Logical Programming Language)

사실(fact)과 규칙(rule)로 이루어진 문제 도메인의 모델 형성
→ 질의를 통해 논리적 추론에 기초해서 결과를 생성하는 방식

  • 비절차적인(Nonprocedural) 언어
  • 무엇(What)을 할 것인가?
  • 기호 논리(AND, OR, NOT)에 기반
  • 종류 : PROLOG(PROgramming in LOGic)

2. 명령형 프로그래밍 언어 (Imperative Programming Language)

프로그램을 기능(프로시저, 함수) 중심으로 바라보는 방식

  • 절차적인(Procedural) 언어
  • 어떻게(How) 할 것인가?
  • 종류 : C, BASIC, PASCAL, FORTRAN

3. 객체지향 프로그래밍 언어 (OOP; Object-Oriented Programming)

프로그램을 객체 중심으로 바라보는 방식

  • 누가 어떤 일을 할 것인가? → 객체를 도출하고 각각의 역할 정의
  • 기본 구성 요소
    • 클래스(Class) : 실세계의 모습을 추상화하여 비슷한 특성을 가진 것들을 하나로 묶는 개념적인 주체
    • 객체(Object) : 클래스로부터 실체화된 것, 실제 메모리상에 할당되어 실제 프로그램에서 사용되는 데이터
    • 메서드(Method) : 객체의 행위(Behavior), 메시지를 받아 실행해야 할 구체적인 연산을 정의한 것
    • 변수(Variable) : 객체의 속성(Attribute), 객체가 가지고 있는 정보 또는 상태
    • 메시지(Message) : 객체 간의 상호작용을 위한 수단
  • 주요 특징
    • 추상화(Abstraction)
    • 캡슐화(Encapsulation)
    • 상속(Inheritance)
    • 다형성(Polymorphism)
    • 동적 바인딩(Dynamic Binding)
  • 종류 : 시뮬라67, 스몰톡, Java, C++

4. 함수형 프로그래밍 언어 (Functional Programming Language)

프로그램을 수학적 함수로 간주해서 처리하는 방식

  • 종류 : LISP(LISt Processor)

출처: http://www.ktword.co.kr/test/view/view.php?m_temp1=4852&id=873

profile
💻🤦🏻‍♀️

0개의 댓글