인터페이스라는 말을 들어본 적이 있는가?

어쩌다 시작한 Java 언어 덕분에 인터페이스라는 말을 들어보기는 했는데, 그렇게 써오다보니 인터페이스라는게 단순히 프로그래밍 언어의 한 부분이라고 생각해온게 사실이다만, 인터페이스라는 말은 프로그래밍 언어를 넘어 모든 디자인의 한 부분에 속하는 것이라고 요즘들어 생각한다.

프로그래밍 언어만 갖고 보면, 언어를 공부하면서 그냥 그런게 있구나하고 2년 가까이 한번도 쓰질 않았다. (다른 라이브러리를 가져다 쓸 때 말고는) 그러다가 어찌어찌하야 인터페이스를 써보게 되었고, 최근들어서는 인터페이스로 프로그래밍 하려고 노력한다. 설계가 좋아지니까 - 라기 보다는 컴파일되는 코드를 빨리 만들 수 있으니까. 일단 짜 놓고 한참 들여다보고 있으면 마음에 들지않는 부분들이 슬금슬금 삐져나오는데 그런 것들을 고치기엔 인터페이스로 구현된 코드가 훨씬 수월하거든.

최근 들어서는 인터페이스를 생각하는 범위가 좀 더 넓어지고 있다. user-interface라는 말이 있지 않은가! 윈도우의 아이콘, 메뉴들, 모니터 앞면의 버튼 배열, 자동차의 손잡이도 다 user-interface다. 인터페이스는 사용자가 - 반드시 사람일 필요는 없다 - 접하여 조작을 하기위한 조작기랄까? 조작기는 너무 공학적이고, 뭐랄까... 인터페이스라는 것은 좀 더 인문학적인 접근이 필요하지 않은가 싶다.

코드에 파묻혀 살다보면 생각하는게 완전 공대생이 되어버린다. 모든게 숫자로 보이고 모든게 선으로 이어져야한다. 이런 구렁텅이에 빠지다보면 남들이 이해못하는, 혼자서만 즐길 수 있는 결과물이 도출된다. 자신도 모르게 세상과 동떨어진달까나. 인터페이스는 여기에 철학을 부여한다. 다른 시스템을 엮을 수 있을까? 좀 더 아름답게 보이려면 어떻게 해야하나? 남들은 어떻게 생각할까? 인터페이스를 생각하다보면 공학은 조금씩 철학이 된다.

인터페이스는 짧은 코드의 구현보다 전체적인 디자인을 먼저 생각하게 한다. 디자인, 내가 좋아라 하는 단어다. 많은 기능을 구현한 코드보다 디자인이 아름다운 코드가 더 마음에 든다. '디자인이 개판입니다' 라는 말을 듣고 한참을 방황하다보니 내가 뭔가 잘못 생각하고 있었구나 싶더라. 코더 보다는 프로그래머를 지향하고 프로그래머보다는 디자이너를 지향하는, 그게 내가 원하는 것이 아니었었나!

오랜만에 글을 쓰려니, 정말 두서가 없어도 너무 없다만. 곰곰히 생각해 볼 문제가 아닌가 싶다. 프로그래밍뿐만 아니라 발표 자료, 문서, 외모, 책상 정리도 우기면 다 디자인이고 인터페이스다. 시야를 넓힐 필요가 있다.
이 글의 트랙백 주소는 http://semix2.tistory.com/trackback/235 입니다