프로그래밍 언어 종류 완전정복

대표 언어 7가지를 카드로 훑어보고, 아래 본문에서 각 언어가 왜 만들어졌는지와 어떤 기준으로 고르면 좋은지 이어서 읽어보세요.

👨‍💻

파이썬

문법이 간결하고 배우기 쉬워 입문자에게 가장 많이 추천되며, 데이터 분석과 인공지능 분야에서 특히 널리 사용됩니다.

👨‍💻

자바스크립트

웹페이지에 생동감을 더하는 언어로, 브라우저에서 실행되는 거의 모든 상호작용 기능이 자바스크립트로 만들어집니다.

👨‍💻

자바

한 번 작성하면 다양한 운영체제에서 실행할 수 있다는 강점 덕분에 대규모 기업 시스템 개발에 널리 쓰입니다.

👨‍💻

C

컴퓨터 하드웨어를 직접 제어할 수 있는 저수준 언어로, 운영체제나 임베디드 시스템처럼 성능이 중요한 분야의 기반이 되는 언어입니다.

👨‍💻

C++

C 언어에 객체지향 개념을 더한 언어로, 게임 엔진이나 고성능 소프트웨어 개발에 자주 사용됩니다.

👨‍💻

스위프트

애플이 개발한 언어로, 아이폰과 맥 앱을 만들 때 사용되는 현대적이고 안전한 언어입니다.

👨‍💻

SQL

프로그램을 만드는 언어라기보다, 데이터베이스에 저장된 데이터를 조회하고 관리하기 위해 사용하는 전용 질의 언어입니다.

한눈에 보기

프로그래밍 언어는 사람이 컴퓨터에게 일을 시키기 위해 만든 약속된 표기법이고, 대부분은 특정 문제를 풀려는 사람들이 만들었습니다. 그래서 "가장 좋은 언어"가 있다기보다 "무엇을 만들고 싶은가"에 따라 맞는 언어가 달라집니다. 이 글은 일곱 언어의 탄생 배경과 성격을 비교하고, 실제로 있었던 사건을 통해 언어의 이름과 버전이 왜 혼동을 낳는지 살펴봅니다.

일곱 언어는 어디서 왔나

아래 연도와 인물은 위키백과 각 언어 항목을 확인한 내용입니다.

언어만든 곳과 사람시기성격
C벨 연구소, 데니스 리치1972~1973년 개발유닉스 커널을 C로 다시 작성하는 데 쓰였고(1973년 유닉스 4판), 이전 언어 B의 후속입니다.
C++비야네 스트롭스트룹1979년 "C with Classes"로 시작컴파일 방식의 범용 언어. 1998년 ISO 표준(C++98)이 나왔습니다.
SQLIBM, 도널드 챔벌린과 레이먼드 보이스1970년대 초 개발, 1986년 ANSI 표준에드거 코드의 관계형 모델 논문(1970)에서 출발한 선언형 질의 언어. 처음 이름은 SEQUEL이었습니다.
파이썬네덜란드 CWI, 귀도 판로쉼1980년대 후반 시작, 1991년 첫 공개가독성을 강조하며 들여쓰기로 블록을 구분합니다.
자바선 마이크로시스템즈, 제임스 고슬링1991년 시작, 1995년 5월 공개"한 번 작성해 어디서나 실행"을 목표로 바이트코드를 자바 가상 머신(JVM)에서 실행합니다.
자바스크립트넷스케이프, 브렌던 아이크1995년웹 브라우저용 언어로 시작해, 2009년 Node.js(라이언 달)로 브라우저 밖에서도 쓰이게 되었습니다.
스위프트애플, 크리스 래트너 주도2010년 개발 시작, 2014년 WWDC 공개, 2015년 오픈소스Objective-C를 대체하는 애플 플랫폼 주력 언어로, 옵셔널 등 안전 기능을 갖춥니다.

컴파일, 가상 머신, 인터프리터, 질의: 실행 방식의 차이

C와 C++는 보통 소스 코드를 기계어로 미리 변환(컴파일)해 실행합니다. 자바는 소스를 바이트코드로 컴파일하고 JVM이 이를 실행하기 때문에, JVM이 있는 환경이라면 다시 컴파일하지 않고 실행할 수 있다는 점이 "한 번 작성, 어디서나 실행"의 의미입니다. 파이썬은 동적 타입 언어이며, 표준 구현인 CPython은 소스를 바이트코드로 변환해 실행하고 대화형 환경(REPL)을 제공합니다. SQL은 위키백과에서 집합 기반의 선언형 언어로 설명되며, 절차를 하나씩 지시하는 C나 BASIC과 성격이 다릅니다. (다만 확장 기능으로 제어문이 추가된 SQL 방언도 있어 경계는 완전히 깔끔하지 않습니다.)

실제 사례

사례 1. 자바와 자바스크립트: 이름 때문에 생긴 혼동 (1995년)

넷스케이프에 고용된 브렌던 아이크가 만든 이 언어는 1995년 9월 네비게이터 베타에서 LiveScript라는 이름으로 나왔고, 같은 해 12월 첫 정식 공개에서 JavaScript로 이름이 바뀌었습니다. 위키백과는 이 이름이 자바와 관련 있는 듯한 인상을 주지만 오해의 소지가 있다고 설명하며, 아이크가 이를 자바가 인기 있던 시기의 넷스케이프 마케팅 결정으로 보았다고 적고 있습니다. 이후 넷스케이프는 1996년 11월 언어를 Ecma International에 제출했고, 1997년 6월 ECMAScript 첫 규격이 나왔습니다. 배울 점은, 언어 이름만 보고 관계를 짐작하면 안 되고 만든 목적과 실행 환경을 확인해야 한다는 것입니다.

사례 2. 파이썬 2에서 3으로의 이행 (2008~2020년)

파이썬 3.0은 2008년 12월 3일 공개된 큰 개정으로, 이전 버전과 완전히 호환되지 않았습니다. 기존 코드를 옮기기 어려운 경우가 많아 파이썬 2.7의 지원 종료 시점은 2015년에서 2020년으로 미뤄졌고, 마지막 2.x 버전인 2.7.18이 2020년에 나왔습니다(위키백과 기준). 이 사례는 언어를 배울 때 "버전"도 함께 확인해야 한다는 점을 보여 줍니다. 오래된 책이나 예제는 파이썬 2 문법일 수 있습니다.

사례 3. C로 다시 쓴 유닉스 (벨 연구소, 1973년)

C는 1972년경 벨 연구소에서 데니스 리치가 개발했고, 처음에는 유닉스용 도구를 만드는 데 쓰였습니다. 1973년 11월의 유닉스 4판은 대부분 C로 다시 구현되었다고 위키백과는 설명합니다. 운영체제를 기계어에 가까운 언어가 아니라 상위 언어로 작성할 수 있다는 점을 보여 준 사례입니다. 1978년에는 커니핸과 리치의 책 The C Programming Language가 나왔고, 1989년에는 ANSI 표준(C89)이 확정되었습니다.

언어 고를 때 생각해 볼 점

흔한 오해와 정정

한계와 더 알아볼 점

이 글은 일곱 언어만 다루며 인기도 순위나 연봉, 취업 시장 같은 수치는 시기마다 달라지고 확인한 출처가 없어 다루지 않았습니다. 또한 "어떤 언어가 더 빠르다" 같은 성능 비교는 구현과 용도에 따라 달라져 일반화하지 않았습니다. 언어는 계속 변하므로 학습 전에는 공식 문서에서 현재 버전을 확인하세요.

자주 묻는 질문

프로그래밍을 처음 배운다면 어떤 언어가 좋나요?

문법이 상대적으로 쉽고 읽기 편한 파이썬이 입문자에게 가장 널리 추천되는 언어입니다.

SQL도 프로그래밍 언어인가요?

일반적인 프로그래밍 언어와는 목적이 달라, 데이터베이스에서 데이터를 검색하고 관리하는 데 특화된 별도의 질의 언어로 분류됩니다.

C와 C++는 어떻게 다른가요?

C++는 1979년 스트롭스트룹이 "C with Classes"로 시작한 C의 확장에서 출발했고, 지금은 별개의 언어로 표준화(1998년 C++98)되어 있습니다.

파이썬 2를 배워도 되나요?

파이썬 2.7은 더 이상 보안 패치를 받지 않습니다. 새로 배운다면 파이썬 3 기준 자료를 쓰는 것이 안전합니다.

자바와 자바스크립트는 같은 건가요?

아닙니다. 이름이 비슷하지만 서로 다른 언어이며, 만든 회사와 시기, 실행 환경이 다릅니다.

관련 가이드