프로그램이란 컴퓨터가 처리하는 작업의 순서를 명령어로 작성해놓은 것을 말한다.
프로그램은 프로그래밍 언어를 통해서 제작하는 것이 가능한데, 이때 프로그램을 만드는 행위를
'프로그래밍 Programming' 이라고 한다.
프로그램 Program
- 컴퓨터를 실행하기 위해 차례대로 작성한 명령어의 모음
프로그래밍 Programming
- 프로그램을 만드는 행위, 개발이라고도 함
앞에서 설명한 것 처럼 프로그래밍은 프로그램을 만드는 행위이다. 좀더 명확하게 말하자면
"컴퓨터가 행동하는 방식을 이해하고, 컴퓨터가 업무를 수행할 수 있도록 명확한 명령을 내려주는 것."이라고 할 수 있다.
프로그래밍을 통해서 게임이나, 카카오톡, 페이스북, 인스타그램 등의 SNS
그 외의 다양한 스마트폰 앱 등을 만들 수 있다.
말 그대로, 프로그램을 만드는 행위이니깐 말이다.
그러면 프로그래머, 개발자는 프로그램을 어떻게 만들까? 프로그램을 개발하기 위한 목적으로 만들어진 언어가 있는데
이것을 '프로그래밍 언어' 라고 한다.
프로그래밍 언어 Programming Language
- 컴퓨터가 작업을 수행하는데 필요한 프로그램을 개발하기 위해 사용하는 언어
프로그래밍 언어는 프로그램을 개발하기 위해 사용하는 언어이다. 그러면 프로그래밍 언어가 가진 특징은 무엇이 있을까?
- 컴퓨터가 이해할 수 있는 언어로 명령해야 하고, 개발하려는 프로그램의 용도와 목적에 따라 거기에 맞는 언어를 사용해야함
- 사용자 또는 컴퓨터에 친화적인 정도에 따라 '고급언어'와 '저급언어'로 구분된다.
① 저급언어 Low Level Language
컴퓨터가 쉽게 해석할 수 있는 프로그래밍 언어로, 기계어와 어셈블리어로 구분된다.
(1). 기계어
- 컴퓨터가 직접 이해할 수 있는 언어
- 0과 1의 2진수 형태로 표현, 수행 시간이 빠르다.
- CPU에 내장된 명령을 직접 사용하기 때문에 프로그램을 작성하고, 이해하는 것이 어렵다.
- 하드웨어 설계 시 주로 이용하고, 하드웨어 기종마다 기계어가 다르므로 언어의 호환성이 없음
(2). 어셈블리어
- 기계어의 문제점 (사용이 어렵고, 오류 발생 잦은 편)을 개선하기 위해서 개발된 프로그래밍 언어
- 기계어와 달리 컴퓨터가 직접 이해할 수 없기 때문에, 어셈블리어로 개발한 프로그램은 어셈블러를 사용해서 기계어로 변환해야함
② 고급언어 High Level Language
인간이 실생활에서 사용하는 언어와 비슷한 형태 및 구조를 가지고 있는 언어이며, 하드웨어에 대한 사전지식이 없어도
프로그램을 개발하는 것이 용이하다. 대표적인 고급언어로는 Fortran, Cobol, C/C++, Java, Python등이 있다.
(1). Fortran
- 과학용 수치계산에 적합한 프로그래밍 언어
(2). Cobol
- 사무용 작업을 수행하기 위해 개발한 프로그래밍 언어
- 프로그램 개발 시 구어체 문장으로 명령어를 기술함
(3). C/C++
- 고급 언어에 속하지만 하드웨어를 직접 제어하는 것이 가능한 프로그래밍 언어
- 프로그래밍이 필요하지만 메모리가 부족한 전자기기 등에 주로 활용됨
(4). Java
- 객체 지향 프로그래밍 언어
(5). Python
- 문법이 간결하고, 표현 구조가 인간의 사고체계와 유사하여 초보자도 쉽게 배울 수 있는 프로그래밍 언어
- 웹 개발, 데이터 분석, 머신 러닝, 그래픽 등 여러 분야에서 활용할 수 있음
'CS' 카테고리의 다른 글
동기와 비동기 그리고 Blocking & Non-Blocking (1) | 2024.03.26 |
---|---|
라이브러리, 프레임워크, UI (0) | 2023.11.15 |