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 |
동물➝객체(속성과 행위) 무게,길이,나이➝속성(데이터) 숨쉰다,달린다,날아간다,먹는다➝행위(함수) |
이러한 고급 언어는 프로그래머에게 높은 수준의 추상화를 제공하여 복잡한 작업을 더 쉽게 다룰 수 있게 합니다. 객체 지향 언어는 현실 세계의 모델링에 특히 유용하며, 데이터와 기능을 하나의 단위로 묶어 관리하는 개념을 강조합니다.
프로그래밍 언어의 선택은 작업의 성격과 목표에 따라 다르며, 프로그래머는 이러한 언어를 효과적으로 사용하여 원하는 작업을 수행할 수 있습니다.
'Programming > C' 카테고리의 다른 글
[C] 양수, 음수 판별하기_프로그램 (2) | 2022.08.23 |
---|---|
[C] 달팽이 우물 탈출하기_프로그램 (0) | 2022.08.23 |