프로그래밍 언어의 종류, 딱 세 줄로 정리
프로그래밍 언어의 세계는 복잡해 보일 수 있지만, 크게 세 가지 부류로 요약할 수 있어요.
1. 자세한 언어는 컴퓨터 친화적, 2. 체계적인 언어는 협업 중심, 3. 쉬운 언어는 인간 중심이에요.
이 글에서는 프로그래밍 언어의 흐름과 각 부류의 특징, 장단점, 활용 사례를 구체적으로 정리해 드릴게요.
1. 프로그래밍 언어를 나누는 기준은?

프로그래밍 언어는 두 가지 기준으로 크게 나눌 수 있어요.
객체 지향 프로그래밍 언어인가?
- 객체를 지향하는 언어 vs. 객체를 지향하지 않는 언어
- 예: Python, Java (객체 지향 O) / C (객체 지향 X)
변수의 데이터 타입을 어떻게 사용하는가?
- Dynamic Typing 언어: 변수의 타입을 코드 작성 시 명시하지 않음 (Python, JavaScript)
- Static Typing 언어: 변수의 타입을 명확히 정의 (C, Java)
즉, 위 내용을 기준으로 이름을 붙여보자면 자세한 언어, 체계적인 언어, 쉬운 언어로 분류할 수 있을 것 같아요.
💡 프로그래밍 언어 종류, 세 줄로 요약하면?
- 자세한 언어: Low-Level에 가까운 언어로, 컴퓨터의 논리적 사고에 최적화된 언어
- 체계적인 언어: 협업과 유지보수를 위한 구조적인 언어
- 쉬운 언어: 문법이 간단하고 누구나 쉽게 접근할 수 있는 언어
2. 세 가지 프로그래밍 언어 자세히 보기
2.1. 자세한 언어
특징
- 대표 언어: C 언어, 어셈블리 언어
- 객체 지향 개념 없음, Static Typing
- 컴퓨터의 논리적 사고를 기반으로 동작
장점과 단점
- 장점: 실행 속도가 매우 빠르고, 성능이 낮은 기기에서도 작동 가능해요.
- 단점: 코드 작성과 유지보수가 어렵고, 학습 난이도가 높아요.
2.2. 체계적인 언어
특징
- 대표 언어: Java, C++
- 객체 지향 개념 적용, Static Typing
- 대규모 협업 프로젝트에 적합한 짜임새 있는 구조
장점과 단점
- 장점: 협업과 유지보수가 쉬우며, 안정적이고 확장 가능해요.
- 단점: 학습 난이도가 다소 높고, 설계 및 개발에 많은 시간이 소요돼요.
2.3. 쉬운 언어
특징
- 대표 언어: Python, Ruby, JavaScript
- 객체 지향 개념 적용, Dynamic Typing
- 간결한 문법으로 배우기 쉽고, 빠른 개발에 적합
장점과 단점
- 장점: 초보자 친화적이고, 간단한 코드 작성과 빠른 프로토타이핑이 가능해요.
- 단점: 실행 속도가 느리고 대규모 프로젝트에서 실수를 방지하기 어려워요.
3. 시대적 흐름으로 보는 세 가지 프로그래밍 언어

프로그래밍 언어의 발전 과정을 살펴보면 시대적 요구에 따라 다음과 같은 흐름을 보였어요.
물론, 이 흐름이 언어를 나누는 절대적인 기준은 아니에요. 예를 들어, C는 여전히 활발히 쓰이고, Kotlin 같은 체계적인 언어도 비교적 최근에 등장했거든요.
3.1. 자세한 언어
컴퓨터와 칩의 성능이 좋지 않던 시기에는 컴퓨터 친화적인 Low-Level 언어들이 등장했어요.
- 예시: 어셈블리 언어, C, Fortran, COBOL, Pascal
3.2. 체계적인 언어
협업과 생산성이 중요해지면서 객체 지향 프로그래밍이 대세가 되었고, 체계적인 언어들이 인기를 끌었어요.
- 예시: Java, C++, Go, Kotlin, Swift
3.3. 쉬운 언어
프로그래밍이 대중화되면서 배우기 쉽고 간단한 언어들이 각광받고 있어요.
- 예시: Python, Ruby, JavaScript, PHP