Logo 프로그래밍 언어 역사 - 거북이 그래픽의 원조

Logo란 무엇인가

Logo는 1967년 시모어 페퍼트가 개발한 교육용 프로그래밍 언어입니다. 40년간 프로그래밍 교육의 역사를 연구해온 저로서는 Logo가 '배움은 행함에 있다'는 구성주의 교육 철학을 프로그래밍에 적용한 선구자라고 평가합니다. 거북이(turtle)라는 커서를 명령으로 움직여 그림을 그리는 것이 핵심 아이디어입니다. Scratch의 직접적인 선조이며, 많은 현대 교육용 언어에 영향을 미쳤습니다.

거북이 그래픽

Logo의 거북이는 화면에서 펜을 들고 다닙니다. FORWARD(FD) 명령으로 앞으로 이동하고, RIGHT(RT), LEFT(LT)로 방향을 바꿉니다. PENUP(PU)으로 펜을 들면 이동해도 선이 그려지지 않고, PENDOWN(PD)으로 다시 내립니다. REPEAT 명령으로 반복합니다. 예를 들어 REPEAT 4 [FD 100 RT 90]은 사각형을 그립니다. 이 단순한 모델로 복잡한 기하학적 패턴을 만들 수 있습니다.

프로시저와 재귀

Logo에서는 명령의 묶음을 프로시저로 정의할 수 있습니다. TO SQUARE :SIZE로 시작하여 END로 끝나는 프로시저를 만듭니다. 입력값을 받아 다양한 크기의 도형을 그릴 수 있습니다. 재귀 호출이 가능하여 프랙탈 같은 복잡한 패턴을 간결하게 표현합니다. 코흐 눈송이, 시어핀스키 삼각형 같은 프랙탈이 Logo의 전형적인 예제입니다.

Logo의 교육적 가치

Logo는 '저수준 진입, 고수준 천장'(low floor, high ceiling) 원칙을 따릅니다. 간단한 명령으로 시작하지만, 복잡한 프로그램까지 발전할 수 있습니다. 디버깅을 '버그 사냥'이라 부르며 실수를 학습 기회로 봅니다. 그래픽 피드백이 즉각적이어서 결과를 바로 확인할 수 있습니다. 수학, 특히 기하학 교육과 자연스럽게 연결됩니다.

Logo의 현대적 계승

오늘날 순수 Logo는 많이 사용되지 않지만, 그 정신은 계승되고 있습니다. Python의 turtle 모듈이 Logo 스타일 그래픽을 제공합니다. Scratch, Blockly 같은 블록 기반 언어가 Logo의 교육 철학을 이어받았습니다. NetLogo는 멀티에이전트 시뮬레이션에 특화된 현대 Logo 방언입니다. 프로그래밍 교육의 역사를 이해하려면 Logo를 알아야 합니다.

댓글

0
첫 번째 댓글을 작성해보세요!
← 목록으로