[블로픽] 프로그래밍 언어 계보도

가 +
가 -

프로그래밍 언어는 애초에 사람이 컴퓨터와 소통하기 위해 만든 것이지만, 필요에 따라 서로 다른 방식으로 발전해왔다. 처음에 사람과 컴퓨터는 바이너리 코드(2진수 언어)로 소통했다. 컴퓨터가 인식할 수 있는 건 1과 0 두 가지뿐이다. 전기가 통하면 1, 안 통하면 0이다. 컴퓨터에서 작동하는 모든 복잡한 프로그램과 데이터는 결국 1과 0의 조합이다.  컴퓨터는 1과 0으로 조합된 복잡한 명령을 재빨리 처리하는 장치다. 초기 컴퓨터에 명령을 내리려면 직접 전선을 연결해야 했다. 전선을 연결하면 1, 연결하지 않으면 0이라는 식이었다. 이런 식으로 수많은 전선 가닥을 연결해 복잡한 계산식을 설계해야 했다. 이것이 초창기 프로그래밍이었다.

이진수로 컴퓨터에 직접 명령을 내리던 단계에서 조금 나아가 자주 쓰는 비트 패턴을 사람이 이해할 만한 약어로 바꿨다. ‘move’, ‘jump’ 같은 명령을 패턴으로 만들어 두는 것이다. 이런 명령을 내리면 ‘어셈블러(assembler)’라는 프로그램이 명령어를 이진수로 바꿔 컴퓨터에 넘긴다. 그래서 이런 원시적인 프로그래밍 언어를 ‘어셈블리어’라고 부른다.

사람이 이해할 만한 프로그래밍 언어를 ‘고급 언어(high level language)’라고 부른다. 고급 언어가 나온 뒤 프로그래밍 언어는 급속도로 발전하기 시작했다. 요즘 널리 쓰이는 언어 대다수는 IBM이 항공우주 분야에 쓰려고 만든 고급 언어 ‘포트란’에 영향을 받았다. 프로그래밍 언어가 서로 어떻게 영향을 주고 받으며 발전했는지, 내가 쓰는 언어의 뿌리를 되짚어 보면 대학에서 C만 고집하는 교수님 속을 조금은 헤아릴 수 있지 않을까.

티오베 프로그래밍 언어 인덱스

▲소프트웨어 품질 관리 업체 ‘티오베(TIOBE)’가 조사한 2014년 6월 프로그래밍 언어 순위

지금 가장 널리 쓰이는 프로그래밍 언어 12개의 계보를 인포그래픽으로 그렸다. SQL은 데이터베이스에 저장해 둔 데이터를 추출하는 쿼리 묶음 언어다. ‘데이터베이스 관리 프로그램(DBMS)’과 소통하는 데만 쓰이기 때문에 다른 언어와 동급으로 보기엔 무리가 있어 생략했다.

마우스를 인포그래픽 위에 올리면 단추가 나타난다. 단추를 누르면 간단한 설명을 볼 수 있다.

프로그래밍 언어 계보도 인프그래픽 보러 가기

네티즌의견(총 13개)