지난 5월, 디자이너가 프로그래밍을 배워야 하냐는 논쟁에 대해 《홀로덱 위의 햄릿》(한국 출판명: 인터랙티브 스토리텔링)으로 잘 알려진 자넷 머레이 교수가 글을 썼습니다. 그는 디자이너들이 코딩 자체보다는 컴퓨터 아키텍처의 원리를 이해하여 디자인 과정과 과정의 기술에 활용하는 것이 좋다고 이야기합니다.

정보 추상화: 데이터가 사유 코드와 분리되어 표준화된 포맷으로 저장되어 있는가? (예: 플래시 내부보다는 XML 파일이나 SQL 데이터 베이스로 저장되어 있나?) 다양한 단계에서 접근할 수 있게 의미론적으로 분할되어 있는가?

모듈화: 프로그램의 표시부가 데이터 및 다른 복잡한 계산과 분리되어 있는가? 그 소유자가 데이터를 다양한 플랫폼에 표시하거나 현재 플랫폼이 구식이 될 때 옮길 수 있는가?

캡슐화: 연산 구조를 러시아 인형처럼 하나 속에 다른 하나가 들어있게 만들어 그 중 하나를 변경할 때 모든 레이어를 다시 코딩할 필요가 없도록 했는가? 동일한 루틴을 다시 사용할 수 있는가? 특히 다른 사람의 함수(예: 자바 라이브러리)에 의존하면서 일반적인 기능(예: 트리 다이어그램 그리기)에 루틴을 다시 사용할 수 있는가?

디자이너들은 이런 개념을 이해하는 게 특정한 프로그래밍 환경의 문법을 배우는 것보다 훨씬 중요하다.

물론 이상적인 세상이라면 모든 디자이너가 빌 앳킨슨처럼 코딩의 마법사면서 매킨토시 디자인 팀의 리더일것이다. 하지만 우리별 지구에서는 모든 디자이너가 과정을 기술할 때 다음과 같은 개념을 충분히 활용할만큼만 프로그래밍을 배우면 된다고 생각한다.

  • 루프
  • 조건문
  • 변수
  • 속성과 값
  • 오브젝트 클래스와 클래스의 인스턴스

나는 모든 디자이너들이 좋은 디자인의 원칙인 정보 추상화와 모듈화, 캡슐화에 전문가가 되고자 프로그래밍을 배우길 바란다. 그러면 절차적으로 생각하고 컴퓨터 매체의 유연성을 이해하는 데도 도움이 될 것이다. 자신의 경력에서 가장 오래 가는 것은 코딩 자체가 아니라 컴퓨터 아키텍처의 원리임을 다시 한 번 강조하고 싶다.


Posted by 밝은해

댓글을 달아 주세요