프로그래밍 언어는 컴퓨터와 소통하기 위한 도구입니다.
사람이 컴퓨터에 지시를 내리려면 컴퓨터가 이해할 수 있는 형태로 명령을 전달해야 합니다.
바로 이때 사용되는 것이 프로그래밍 언어입니다.
이 장에서는 프로그래밍 언어의 역할, 특징, 그리고 주요 언어의 종류를 살펴보겠습니다.
1. 프로그래밍 언어란?
정의
프로그래밍 언어는 사람이 작성한 명령어를 컴퓨터가 이해할 수 있는 형태로 변환해주는 도구입니다.
컴퓨터는 오직 0과 1로 이루어진 **기계어(Machine Code)**를 이해합니다.
프로그래밍 언어는 사람이 쉽게 작성할 수 있도록 설계된 중간 단계의 언어입니다.
비유
프로그래밍 언어를 번역가로 비유할 수 있습니다.
• 사람(사용자)이 원하는 작업(자연어)을 작성하면, 프로그래밍 언어가 이를 컴퓨터가 이해하는 기계어로 번역합니다.
2. 프로그래밍 언어의 역할
2.1 컴퓨터와 사용자 간의 소통
프로그래밍 언어는 사용자가 컴퓨터에게 “무엇을”, “어떻게” 해야 할지를 전달하는 도구입니다.
예를 들어:
• 무엇을: “숫자 두 개를 더하라.”
• 어떻게: “더한 결과를 화면에 출력하라.”
2.2 문제 해결 도구
프로그래밍 언어는 복잡한 문제를 간단한 명령어로 풀어내도록 도와줍니다.
예를 들어:
• 매일 이메일을 자동으로 보내는 프로그램.
• 게임에서 캐릭터가 움직이는 규칙.
2.3 자동화와 효율성 증대
사람이 반복적으로 해야 하는 작업을 컴퓨터가 대신하도록 만드는 것이 프로그래밍 언어의 주요 역할입니다.
• 데이터 정리, 계산, 파일 처리 등을 자동화.
3. 프로그래밍 언어의 종류
프로그래밍 언어는 목적과 사용 방식에 따라 여러 가지로 분류됩니다. 다음은 주요 분류와 각 특징입니다.
3.1 저수준 언어와 고수준 언어
㉮ 저수준 언어 (Low-Level Language)
• 컴퓨터가 직접 이해할 수 있는 언어.
• 기계어(Machine Code)와 어셈블리어(Assembly)가 여기에 해당.
• 장점: 컴퓨터의 성능을 최대한 활용 가능.
• 단점: 사람이 읽고 쓰기 어렵다.
예제 : (assembly)
MOV AX, 1 ; AX 레지스터에 1 저장
ADD AX, 2 ; AX 레지스터에 2 더하기
㉯ 고수준 언어 (High-Level Language)
• 사람이 이해하기 쉬운 형태로 작성된 언어.
• Python, Java, C++ 등이 포함.
• 장점: 읽기 쉽고 개발 속도가 빠르다.
• 단점: 저수준 언어에 비해 성능이 약간 떨어질 수 있다.
예제 : (Python)
a = 1 # 변수 a에 1 저장
b = 2 # 변수 b에 2 저장
print(a + b) # 결과 출력
3.2 절차적 언어와 객체지향 언어
㉮ 절차적 언어 (Procedural Language)
• 명령어를 순서대로 실행하는 방식.
• 프로그램이 단계별로 실행되도록 설계.
• 대표 언어: C, Pascal.
예제 : (C)
#include <stdio.h>
int main() {
printf("Hello, World!");
return 0;
}
㉯ 객체지향 언어 (Object-Oriented Language)
• 데이터를 객체(Object)라는 개념으로 관리.
• 프로그램을 재사용하기 쉽게 설계.
• 대표 언어: Java, Python, C++.
예제 : (Python)
class Dog:
def __init__(self, name):
self.name = name
def bark(self):
print(f"{self.name}가 짖습니다!")
dog = Dog("바둑이")
dog.bark()
3.3 해석형 언어와 컴파일 언어
㉮ 해석형 언어 (Interpreted Language)
• 코드를 한 줄씩 읽고 실행.
• 대표 언어: Python, JavaScript.
• 장점: 테스트와 디버깅이 쉽다.
• 단점: 실행 속도가 느릴 수 있다.
㉯ 컴파일 언어 (Compiled Language)
• 전체 코드를 한 번에 번역(컴파일)한 후 실행.
• 대표 언어: C, C++.
• 장점: 실행 속도가 빠르다.
• 단점: 코드 수정 후 다시 컴파일해야 한다.
3.4 특수 목적 언어
웹 개발 언어
• HTML, CSS, JavaScript: 웹사이트 제작에 사용.
• PHP, Ruby: 서버 사이드 프로그래밍.
데이터 분석 언어
• Python, R: 데이터 분석과 통계 처리.
• SQL: 데이터베이스 질의.
게임 개발 언어
• C++, C#: 고성능 게임 엔진 개발.
• Lua: 게임 스크립트 작성.
4. 프로그래밍 언어 선택의 기준
프로그래밍 언어를 선택할 때는 목표와 작업 환경에 따라 다릅니다.
㉮ 배우기 쉬운 언어: 초보자에게는 Python이 적합.
㉯ 성능이 중요한 경우: C++이나 Rust.
㉰ 웹 개발: HTML, CSS, JavaScript.
㉱ 모바일 앱 개발: Swift(iOS), Kotlin(Android).
5. 결론
프로그래밍 언어는 사람과 컴퓨터를 연결해주는 다리 역할을 합니다.
다양한 프로그래밍 언어는 각각의 강점과 약점을 가지고 있으며, 어떤 언어를 선택할지는 문제의 성격과 목표에 따라 달라집니다.
'코딩교육 > Python 초등교육에서 전문가까지' 카테고리의 다른 글
1단계 : 1. 프로그래밍이란? (feat. 컴퓨터와 소프트웨어의 기본 개념) (0) | 2025.01.05 |
---|