
5
개발자라면 누구나 한 번쯤 ‘내가 생각하는 그대로 프로그램이 만들어질 수 있으면 좋겠다’라는
생각을 해봤을 것이다. 최근 인공지능이 발전하는 속도를 보면 조만간 가능한 꿈일 수도 있겠
지만, 오늘도 전 세계의 수많은 개발자들은 생각하는 내용 이상으로 헤아릴 수 없을 만큼 많은
양의 코드를 만들고 있다.
프로그래밍 언어는 개발자와 컴퓨터 간의 인터페이스다. 일종의 약속인 것이다. 이 약속은 컴
파일러나 인터프리터에 의해 지켜지고, 이에 따라 개발자가 만든 소프트웨어가 컴퓨터에서 작
동하게 된다. 컴퓨터에 가까운 어셈블리어 같은 언어는 개발자의 사고방식으로 자연스럽게 표
현되어 있지 않기 때문에 일반 개발자가 다루기 쉽지 않다. 다시 말해 인간이 컴퓨터가 작동하
는 방식대로 사고하지 않으면 이런 언어로 소프트웨어를 만들 수는 없다는 뜻이다.
소프트웨어를 통한 혁신적인 발전이 일어나려면 인간의 추상적인 사고를 통해 발생한 아이디
어들이 컴퓨터의 극대화된 작업 수행 능력을 사용할 수 있게끔 쉽게 구현되어야 한다. 이 작업
에서 사용되는 프로그래밍 언어가 인간의 추상적 사고에 가까울수록, 이런 발전에 속도를 더해
줄 수 있을 것이다. 다시 말하면, 인간의 사고를 가장 자연스럽게 서술할 수 있는 패러다임과
그 패러다임을 가장 쉽게 사용할 수 있는 언어가 소프트웨어를