600 년 후 서울대  2학년 교양 필수

"evolution of programming language"

----------

이번 학기 강좌는 컴퓨터가 처음 등장했던 20세기부터 현재에 이르기까지 프로그래밍 언어의 진화 양상에 대해서 살펴보고 미래의 언어가 나아갈 방향성에 대해서 논의해 보도록 하겠습니다.

선수 과목 : 고전 프로그래밍, 양자 프로그래밍 입문

------------

20세기 프로그래밍의 상징을 꼽자면 키보드를 들 수 있습니다. 이게 키보드의 모습이구요... 600년 전의 사람들은 이걸 손으로 쳐서 프로그램 코드라는걸 짰다고 합니다.

코드를 손으로 짜요? 왜 손으로 짜요?

네, 좋은 질문이네요. 지금 우리들 상식으로는 이해가 안되겠지만 당시 사람들은 인스트럭션 하나하나를 사실상 손으로 입력했다고 합니다.. 입력의 방식은 조금씩 다르지만 300년 넘게 손으로 코드를 짜는 행위에는 변함이 없었습니다. 키보드라는 저걸 보시면 네모난게 있는데요, 저걸 한번 누르면 전기 신호로 변환돼서 최종적으로 화면에 출력되는 시스템이었습니다.

전기 신호를 일일이 손으로 보내면 효율성이 엄청 떨어질거 같지만 당시의 전산 과학에서는 그 이상은 생각할 수 없었어요.



교수님, 눈동자로 코딩을 하는 것도 번거롭고 시력에 안좋다고 비판을 받는데 손가락으로 코딩을 했다는게 납득이 안가거든요.. 왜 그런 비효율이 300년간 계속된거죠?


네, 인류의 역사를 돌아보면 그런 시대가 있어왔습니다.

꽤 오랜 시간동안 별다른 진전 없이 매너리즘에 빠져서 주어진 기술적 틀 안에서 최선을 도모하는건데요,그래서 21세기부터 24세기까지를 "전산의 암흑시대"라고 말합니다. 이 시기 동안 폰노이만 아키텍쳐를 교조적으로 받들면서 근본적으로 프로그래밍 언어의 발전이 지체되어온 겁니다.

당시 다국적 기업인 오라클이나 MS같은 기업이 모든 랭귀지 권한을 독점하면서 새로운 언어 패러다임의 발전을 지구적 규모로 막아욌고 이때문에 프로그래밍 언어의 발전이 더뎌졌다는 얘기가 있습니다.

당시에는 인스트럭션을 순차적으로 실행하는 근본적인 한계를 벗어날 수 없었고 자연히 프로그래밍 언어도 그 한계 내에서만 변화를 도모하다보니 규모의 경제와 자본주의적 힘의 논리로 다국적 기업들이 기술을 독점해온 것입니다. 사실 지금과 같은 현실이 자리잡은건 100년이 채 안되죠.
------