이 글에서는 프로그래밍 언어를 ① 사용자 관점, ② 실행 방식, ③ 세대로 나눠 정리하고, 실무에서 많이 쓰이는 대표 언어들을 A부터 Z까지 사전처럼 정리했습니다.
1. 사용자 관점에 따른 분류 - 저급언어 vs 고급언어
저급언어 (Low-level Language)
기계어, 어셈블리어가 여기에 속합니다. 하드웨어를 직접 제어할 수 있어 속도가 빠르지만, 사람이 작성하고 유지보수하기는 까다롭습니다.고급언어 (High-level Language)
사람이 읽기 쉽고 추상화 수준이 높은 언어로, 오늘날 실무에서는 반대로 "사람이 이해하기 쉬운 언어"라는 의미로 쓰입니다. Python, Java, C++ 등 우리가 흔히 쓰는 대부분의 언어가 고급언어에 해당하며, 기계어로 번역(컴파일 또는 인터프리트)되는 과정을 거쳐 실행됩니다.2. 실행 방식에 따른 분류 - 컴파일러 vs 인터프리터 vs 스크립트
컴파일러 (Compiler) 언어
소스코드 전체를 한 번에 기계어(오브젝트 코드)로 번역한 뒤 실행하는 방식입니다. 번역이 미리 끝나 있기 때문에 실행 속도가 빠르지만, 코드를 한 줄만 고쳐도 전체를 다시 컴파일해야 합니다. C, C++, Go, Rust 등이 대표적입니다.인터프리터 (Interpreter) 언어
소스코드를 한 줄씩 해석하면서 바로 실행하는 방식입니다. 컴파일 과정이 없어 즉시 실행 결과를 확인할 수 있지만, 실행할 때마다 해석 과정을 거치므로 컴파일 언어보다 느린 편입니다. Python, Ruby 등이 대표적입니다.스크립트 (Script) 언어
특정 런타임 환경(브라우저, 웹 서버 등) 위에서 미리 컴파일되지 않고 인터프리트되어 실행되는 언어입니다. JavaScript, PHP, Perl, Shell Script 등이 여기에 해당하며, 넓은 의미에서 인터프리터 언어의 한 종류로 보기도 합니다.3. 세대에 따른 분류 - 1세대부터 5세대까지
프로그래밍 언어는 등장한 시대와 추상화 수준에 따라 세대(Generation)로도 구분합니다. 세대가 올라갈수록 사람이 다루기는 쉬워지고, 컴퓨터가 처리해야 할 번역·해석 부담은 커진다고 이해하면 쉽습니다.
1세대 - 기계어 (Machine Language)
0과 1로만 이루어진, 컴퓨터가 직접 이해하는 언어2세대 - 어셈블리어 (Assembly Language)
기계어를 사람이 읽기 쉬운 기호로 표현3세대 - 고수준 언어 (High-level Language)
C, Java, Python 등 사람 중심의 절차적·객체지향 언어4세대 - 초고수준 언어 (4GL, 비절차적)
SQL처럼 "어떻게"가 아닌 "무엇을" 할지만 기술5세대 - 인공지능 언어 (5GL)
Prolog처럼 규칙과 논리 기반으로 문제를 해결하는 언어4. 주요 프로그래밍 언어 총정리
- ActionScript - 플래시(Flash) 오브젝트에 인터랙티브 기능을 넣기 위해 만든 스크립트 언어.
- Ada - 미 국방부가 군사·항공 등 고신뢰성 시스템을 위해 개발한 객체지향 언어. 최근 TIOBE 순위에서 꾸준히 상위권을 유지하고 있습니다.
- AJAX - 2004년 등장. 비동기적 자바스크립트와 XML의 약자로, 브라우저 JS가 HTTP 요청을 서버로 보내고 JSON 데이터를 받아 화면의 필요한 부분만 갱신하는 기술 묶음.
- ALGOL - 계산·알고리즘 연구와 교육용으로 만들어진 초기 고급언어.
- ASP (Active Server Pages) - 마이크로소프트의 서버 측 스크립트 언어.
- Assembly (어셈블리어) - 기계어를 사람이 읽을 수 있는 니모닉(기호)으로 표현한 2세대 언어. 임베디드, 리버스 엔지니어링 분야에서 여전히 사용됩니다.
- BASIC - 1964년 등장. 프로그래밍 교육을 쉽게 하기 위해 개발된 언어.
- Bash/Shell Script - 리눅스·유닉스 환경에서 명령어를 자동화하는 스크립트 언어. 서버 운영, DevOps 자동화에 필수적입니다.
- C - 1971년 등장. 시스템 프로그래밍 언어로, 어셈블리어와 고급언어의 장점을 함께 갖춘 언어. 운영체제, 임베디드 시스템의 근간입니다.
- C++ - 1994년 등장. C언어를 객체지향으로 확장한 언어로, 대규모 응용 프로그램과 게임 엔진 개발에 널리 쓰입니다.
- C# - 2000년 등장. .NET 프레임워크의 핵심 언어로, C++의 성능과 Visual Basic의 편의성을 결합했습니다.
- CLI (Common Language Infrastructure) - 마이크로소프트가 .NET, Mono 등 여러 런타임의 기반이 되도록 개발한 실행 환경 규격.
- Clojure - Lisp의 방언으로 함수형 프로그래밍을 지향하는 범용 언어.
- COBOL - 1959년 등장. 사무·금융·정부 시스템을 위해 설계된 언어로, 오래되었지만 여전히 레거시 금융 시스템에서 널리 쓰입니다.
- CSS - HTML 문서의 디자인(레이아웃, 색상 등)을 담당하는 스타일 언어. SASS는 CSS의 단점을 보완한 전처리기입니다.
- Dart - 구글이 개발한 언어로, 크로스플랫폼 프레임워크 Flutter의 기본 언어로 자리 잡았습니다.
- Delphi - 볼랜드가 오브젝트 파스칼을 확장해 만든 응용 프로그램 개발 언어.
- Elixir - Erlang VM 위에서 동작하는 함수형 언어로, 개발자들이 가장 좋아하는 언어 중 하나로 꾸준히 꼽힙니다.
- Erlang - 스웨덴 에릭슨이 통신 인프라를 위해 개발한 함수형 병행성 언어.
- Fortran - 1954년 등장. 과학·공학 계산을 위해 IBM이 개발한 언어로, 68년이 지난 지금도 TIOBE 상위권에 이름을 올립니다.
- F# - 마이크로소프트가 .NET 프레임워크의 일부로 개발한 함수형 언어. 크로스플랫폼 CLI 언어로 활용됩니다.
- Go (Golang) - 2009년 구글이 개발. 간결한 문법과 뛰어난 동시성 처리로 서버·클라우드 인프라 개발에서 인기가 높습니다.
- Groovy - 2003년 등장. JVM 기반의 동적 언어로, 소스코드를 컴파일 없이 바로 실행할 수 있습니다.
- Haskell - 순수 함수형 프로그래밍의 대표 언어. 학계와 금융권 일부에서 신뢰성이 중요한 로직에 사용됩니다.
- HTML - 웹 문서를 만들기 위한 기본 마크업 언어.
- Java - 1995년 썬 마이크로시스템즈가 개발. "한 번 작성하면 어디서든 실행된다(Write Once, Run Anywhere)"는 철학으로 엔터프라이즈·안드로이드 개발의 표준이 되었습니다.
- JavaScript - 1995년 등장. HTML의 정적인 한계를 보완하기 위해 만들어진 클라이언트 사이드 스크립트 언어로, 현재는 Node.js를 통해 서버 개발까지 영역을 넓혔습니다.
- JSON - 언어에 독립적인 경량 데이터 교환 형식.
- JSP(Java Server Pages) — Java 기반의 서버 측 스크립트 언어.
- Julia - 과학·수치 계산을 위해 설계된 언어로, 최근 MATLAB의 자리를 빠르게 대체하며 주목받고 있습니다.
- Kotlin - 2011년 등장. JVM 기반 언어로 Java와 100% 상호운용되며, 현재 안드로이드 공식 개발 언어로 채택되어 있습니다.
- Lisp - 괄호 기반 문법의 고급 프로그래밍 언어로, 리스트(연결리스트)를 기본 자료구조로 사용합니다. 인공지능 연구의 초기 역사를 함께한 언어입니다.
- Lua - 1993년 등장. 가볍고 빠른 임베디드용 스크립트 언어로, 게임 개발(예: 로블록스)이나 드라이버로 널리 쓰입니다.
- MATLAB - 수치 계산, 시뮬레이션에 특화된 언어이자 환경. 최근에는 오픈소스인 Julia와 Python이 그 자리를 상당 부분 대체하는 추세입니다.
- Objective-C - 1984년 등장. C언어의 객체지향 확장판으로, Swift 등장 이전 iOS/macOS 개발의 표준이었습니다.
- Pascal - 구조적 프로그래밍의 개념을 가르치기 위한 교육용 언어. ALGOL을 모체로 합니다.
- Perl - 텍스트 처리와 시스템 관리 자동화에 강한 스크립트 언어. 한때 "웹의 스위스 군용 칼"로 불릴 만큼 인기가 높았습니다.
- PHP - 1995년 등장. HTML 안에 삽입되어 동작하는 동적 웹 페이지용 스크립트 언어로, 워드프레스 등 수많은 CMS의 기반입니다.
- Prolog - 논리 기반의 5세대 프로그래밍 언어로, 자연어 처리와 인공지능 연구에 활용됩니다.
- Python - 웹, 데이터 분석, 머신러닝, 자동화 등 거의 모든 분야에서 쓰이는 범용 고급언어. 2026년 현재도 TIOBE 지수 부동의 1위를 지키고 있습니다.
- R - S 언어를 기반으로 한 통계·데이터 분석 전용 언어. 학계와 통계·역학 연구 분야에서 여전히 강세를 보입니다.
- Ruby - 순수 객체지향 스크립트 언어. "Ruby on Rails" 프레임워크로 웹 개발 생산성을 크게 높인 언어입니다.
- Rust - 메모리 안전성과 속도를 동시에 잡은 시스템 프로그래밍 언어. Stack Overflow 설문에서 여러 해 연속 "가장 사랑받는 언어" 1위를 차지하고 있습니다.
- Scala - JVM 위에서 객체지향과 함수형 패러다임을 함께 지원하는 언어로, 대용량 데이터 처리(Spark)와 함께 자주 언급됩니다.
- Smalltalk - 1970년 등장. 순수 객체지향 언어의 원조 격으로, 이후 언어들에 큰 영향을 주었습니다.
- SQL - 관계형 데이터베이스를 관리하기 위한 구조화 질의어(4세대 언어의 대표 사례).
- Swift - 2014년 애플이 발표. iOS/macOS 앱 개발의 표준 언어로, Objective-C보다 안전하고 간결한 문법을 제공합니다.
- TypeScript - JavaScript에 정적 타입을 더한 상위 집합(superset) 언어. 대규모 프론트엔드 프로젝트의 사실상 표준으로 자리 잡았습니다.
- Visual Basic - 마이크로소프트의 윈도우용 응용 프로그램 개발 언어. GUI 개발과 DB 연동이 쉽습니다.
- XML - HTML의 한계를 보완한 다목적 마크업 언어로, 데이터 교환과 설정 파일 등에 폭넓게 쓰입니다.
5. 최신 프로그래밍 언어 순위
TIOBE 지수로 본 2026년 순위
Python이 압도적 1위, C/C++/Java가 그 뒤를 촘촘히 쫓는 구도입니다. Rust·Go·TypeScript가 빠르게 치고 올라오는 흐름
개발자들이 "실제로 좋아하는" 언어는?
2025년 설문에서는 Rust가 72%의 지지를 받아 또다시 가장 사랑받는 언어 1위를 차지했고, 신규 진입한 Gleam이 70%로 2위, Elixir(66%)와 Zig(64%)가 뒤를 이었습니다.
0 댓글