테크레시피

프로그래밍 언어 하나 배우면 다른 것도 쉽게 배운다?

프로그래밍 언어를 가르치는 사람 중에는 언어 하나만 습득하면 새로운 언어도 쉽게 배울 수 있다고 주장하기도 한다. 하지만 미시간대학 전기공학·컴퓨터과학 교수인 마크 구즈디알(Mark Guzdial)은 이런 주장에 의문을 제기하며 현대 프로그래밍 언어 습득 실정에 합당하지 않다고 말한다.

그는 최근 다른 학교에서 근무하는 컴퓨터과학 교육자로부터 처음 공부하는 프로그래밍 언어는 그다지 중요하지 않기 때문에 신경 쓸 필요가 없다는 의견을 들었다. 그는 첫 번째로 배우는 프로그래밍 언어로 확실하게 개념을 배울 수 있다면 구문이 다른 프로그래밍 언에도 같은 개념을 적용할 수 있다는 생각은 오래 전부터 존재하지만 이는 기본 개념이 다른 프로그래밍 언어에는 적용할 수 없다며 많은 학습자에게 2번째 프로그래밍 언어 습득은 쉽지 않다고 밝혔다. 또 다른 프로그래밍 언어로 갈아탈 수 있더라도 완벽하지 않다고 말한다.

물론 컴퓨터과학 이외 분야를 전공하는 학생에게 먼저 공부하는 프로그래밍 언어는 중요하다고 지적한다. 실제 프로그래밍 언어를 학습하고 싶은 상당수 학생은 자신의 전문 분야와 지역 사회에 도움이 되는 언어를 배우고 싶다고 생각한다. 예를 들어 데이터 과학자가 되고 싶은 학생은 C언어보다 파이썬을 배우는 게 의미가 있으며 시각 디자인에 관심이 있다면 메타랩보다 프로세싱을 배우겠다는 의욕이 높다.

그는 요즘은 프로그래밍 언어를 배우는 모든 사람이 컴퓨터 과학자처럼 쉽게 언어를 전환할 능력을 원하거나 필요로 하는 건 아니라고 주장한다. 최근에는 원래 많은 사람이 첫 번째로 배우는 프로그래밍 언어가 중요하지 않다고 생각하는 일이 늘었다.

그는 실제로 컴퓨터과학 분야가 탄생한지 얼마 되지 않은 시기에는 첫 번째로 배우는 프로그래밍 언어는 중요한 문제가 아니라는 생각이 일정한 정확성이 있었다고 생각한다. 1960년대 후반 컴퓨터과학이 학문으로 확립될 무렵 프로그래밍 수학적 기초에 중점을 뒀다. 따라서 당시 컴퓨터과학 전공자는 현대 학생과 비교하면 수학적 배경이 풍부한 인재였다.

그가 갖고 있는 가설은 다양한 수학적 배경을 갖고 있는 사람에게는 프로그래밍 언어가 달라도 같은 수학적 기반 위에 성립됐다는 점은 변하지 않기 때문에 습득한 프로그래밍 언어와 새로운 언어간 차이는 표기법 차이에 불과하다는 것. 한 정리에 여러 인증 방법이 존재하는 수학을 잘 하는 사람은 상대적으로 여러 프로그래밍 언어 습득을 잘 할 수 있었다는 것이다.

하지만 현대에는 초등학생도 프로그래밍 언어를 공부하게 됐고 프로그래밍 언어 학습자가 갖는 평균 수학 소양이 내려간 건 분명하다. 수학을 싫어하는 사람도 직장이나 취미로 프로그래밍 언어를 사용하고 싶은 경우가 있고 그 중에는 자신이 소프트웨어를 개발하는 건 아니지만 작업에 대한 프로그래머와 대화를 위한 목적도 있다. 이런 사람에게 여러 프로그래밍 언어 학습을 어려울 것이라는 지적이다.

현재는 학습 도구와 프로그래밍 언어 진화로 수학적 배경이 없이도 언어를 학습할 수 있다. 하지만 언어 하나를 학습하면 다른 언어도 쉽게 배울 수 있다는 생각은 맞지 않을 가능성이 높기 때문에 연구자와 교사는 이 점을 유의해 학생을 지도, 교육할 필요가 있다는 지적이다. 관련 내용은 이곳에서 확인할 수 있다.