보편적이지 않은 코딩

보편적이지 않은 코딩

| 공개

요즘은
보편적 소프트웨어와
개인적인 소프트웨어의 관계에 대해서
꾸준히 생각해오고 있습니다.

여기서
보편적 소프트웨어는
다른 사람이 사용하도록 만들어진 것을,
개인적인 소프트웨어는
자기가 쓰려고 만든 것을 의미합니다.

오랫동안
소프트웨어의 소비자로 살아온 사람은
보편적인 소프트웨어만을 만나게 됩니다.

자연스럽게 소프트웨어라고 하면
타인이 사용할 수 있는 것을 생각하는 것 같습니다.

이런 상태에서
소프트웨어 제작을 마음 먹으면
보편적인 것을 만들려고 합니다.

이건 좀 비현실적인 것 같습니다.
자기가 쓸려고 만든 소프트웨어는
복잡하지 않습니다.
자기가 조심해서 쓰면 되기 때문이죠.

남을 위해서 만든 소프트웨어는 복잡합니다.
이런 말이 있습니다.
"고양이가 키보드 위로 지나가도 문제 없도록 코딩하라"
고양이에게도 안전한 것을 만들기 위해서는
많은 것을 해야 합니다.

본질은 작은데
본질이 현실에서 존재하기 위해서는
본질보다 훨씬 거대한 것이 필요합니다.
이런 복잡성을
입문자가 감당하는 것은
어려운 일이 아닐까요?

특히나
보편적 소프트웨어의 환상은
그 소프트웨어의 사용자에서
자기를 누락시키는 오류가 생기기 쉽습니다.
'이런 걸 만들면 누군가 사용하겠지'라고 생각하면서도
자기 자신은 사용자가 아닌 상황.

자신이 만든 소프트웨어가
진정 자기 자신에게 필요한 것이라면
그것은 자연스럽게 보편성을 띄게 된다.고
저는 믿게 되었습니다.
사람 사는 것은 다 비슷하기 때문이죠.

자기가 쓰려고 만든 것에서
충분한 보편성을 확인했을 때
그것을 타인도 사용할 수 있도록
조심스럽게 확장하는 것이 자연스러운 것 같습니다.

보편적인 것에 대한 관심은 자연스러운 것이지만
처음부터 보편적일 수는 없는 것 같습니다.
개별성이 모이면 일정한 패턴이 생기고,
그 패턴에서 보편성을 발견해서
모두를 위한 것을 추구하는 것이
좀 더 자연스러워 보입니다.

우리 수업에서는 보편적이지 않은 코딩의 사례를 소개해드리려고 합니다. 
동시에 보편적인 것이 되어가는 과정을 보여드리겠습니다. 

댓글

댓글 본문
graphittie 자세히 보기