Programming/C

프로그래밍언어의 종류와 특징_저급언어&고급언어

노 코딩 노 라이프 2022. 3. 17. 23:58

01 프로그래밍 언어

프로그래밍은 컴퓨터에게 작업을 수행하도록 지시하는 과정을 의미하며, 이 작업을 수행하기 위해 사용되는 언어를 프로그래밍 언어라고 합니다.

- 프로그램(program) : 명령어로 작업 순서를 지지하는 것

- 프로그래밍(programming) : 프로그래밍 언어를 사용하여 프로그램을 작성하는 행위

- 프로그래밍 언어(programming language) :프로그램을 작성하기 위해 만든 언어


저급 언어

: 컴퓨터가 이해하는 언어

 

1. 기계어 (Machine Language)
-  십진수 사용하여 작성합니다. 
- 컴퓨터의 CPU가 이해하고 실행할 수 있는 0과 1로 이루어진 명령어의 조합입니다.
- 이해하기 어렵고 직접 작성하기에는 까다로우며, 주로 컴파일러나 어셈블러를 통해 생성됩니다.

 

2. 어셈블리어 (Assembly Language)
- 사람이 이해하기 쉽게 기호화한 언어로, 각 명령어는 사람이 이해할 수 있는 니모닉 기호로 표현됩니다.
- 예를 들어, "B를 더하여라"를 기계어로 표현하면 숫자로 된 "0110 1000"이지만 어셈블리어에서는 "ADD B"로 표현됩니다.

ex) 'B를 더하여라' 경우 기계어는 숫자를 사용하여 '0110 1000'
어셈블리어 기호는 'ADD B'

 


고급 언어

: 사람이 이해하는 언어

고급 언어는 프로그래머가 더 쉽게 프로그램을 작성할 수 있도록 고안된 언어입니다. 이 중에서도 절차 지향 언어와 객체 지향 언어는 두 가지 주요 패러다임으로 나뉩니다.

1. 절차 지향 언어 (Procedure Oriented Language)
- 컴퓨터가 수행하는 작업을 하나씩 순서대로 나열하는 프로그래밍 언어입니다.
- 주로 포트란, 알골, 코볼, C언어 등이 절차 지향 언어의 예시입니다.


2. 객체 지향 언어 (Object Oriented Language)
- 객체 지향 프로그래밍 환경에서 사용하는 언어로, 현실 세계의 객체와 그 객체들의 상호작용을 모델링합니다.
- 객체는 속성(데이터)과 행위(함수)로 구성되며, 객체 간의 관계를 중요시합니다.
- C++, C#, 자바, 파이썬 등이 객체 지향 언어의 대표적인 예시입니다.

 

표로 정리하자면 이렇습니다!

 

절차지향(procedure oriented language) VS 객체 지향 언어(object oriented language)

  절차 지향 언어 객체 지향 언어
특징 컴퓨터가 수행하는 순서를 하나씩 순서대로 나열하는 프로그래밍 언어 객체 지향 프로그램 환경에서 사용하는
프로그램 언어
종류 포트란(FORTRAN), 알골(ALGOL), 코볼(COBOL),
피엘원(PL/1), 파스칼(PASCAL),
C언어, 리스프(LISP), 베이식(BASIC)
시뮬라, C++, C#, Dart, 자바, 파스칼, 파이썬, 스위프트, ASP
    동물➝객체(속성과 행위)
무게,길이,나이➝속성(데이터)
숨쉰다,달린다,날아간다,먹는다➝행위(함수)

이러한 고급 언어는 프로그래머에게 높은 수준의 추상화를 제공하여 복잡한 작업을 더 쉽게 다룰 수 있게 합니다. 객체 지향 언어는 현실 세계의 모델링에 특히 유용하며, 데이터와 기능을 하나의 단위로 묶어 관리하는 개념을 강조합니다.

프로그래밍 언어의 선택은 작업의 성격과 목표에 따라 다르며, 프로그래머는 이러한 언어를 효과적으로 사용하여 원하는 작업을 수행할 수 있습니다.