프로그램을 기술하는 소스 코드에 대한 형식 언어이다. 소스 코드 없이 프로그램을 작성할 수는 있지만 아주 귀찮은데다 그렇게 해서 얻는 이득도 없으므로, 프로그래밍 언어는 프로그래밍에서 빼 놓을 수 없는 요소이다. ‘언어’라고 해서 언어학의 범주에 들어간다고 생각하는 사람들이 은근 있지만, 형식 언어라는 공통의 개념을 공유하는 것 빼고는 저어어언혀어어어 상관이 없다.
프로그래밍 언어의 분류는 프로그래밍 패러다임과 밀접하게 연관되어 있다. 언어 및 그에 연관된 패러다임의 선택에 따라 쉽게 작성·관리할 수 있는 프로그램과 그렇지 않은 프로그램이 갈리는데, 이를 객관적으로 입증하기가 어렵기 때문에 프로그래밍 언어와 패러다임은 종교화되는 경우가 흔하다.