설계 관련 한국말 오리지널 글 쓰기
<소프트웨어 설계에 대한 한국말 오리지널 글 쓰기> 작성 이후 비슷한 자극을 주었던 일들을 다루는 글입니다.
먼저 <월말김어준>에서 박구용 교수님의 어떤 강의를 듣는데 '수'에 대해 설명하면서, '양을 수로 대신하는 일' 그리고 '질적 특성을 제거하는 일'이라고 설명했습니다.
이런 식의 정의를 처음 듣기에 신박하다는 느낌이 들었습니다. <낱말의 뜻을 깊고 넓게 묻고 따지는 일의 소중함>을 실천하기 위해 수학을 사전에서 찾아보았습니다.
수포자이긴 했어도 학창 시절 수학을 배웠는데, 수학이 뭔지도 모르고 단지 문제 푸는 법으로 강요 속에 배웠다는 사실을 깨닫습니다.
이렇게 박구용 교수님의 표현이 소화가 된 후, 어느날 아이가 칸 아카데미에서 수학 수업을 듣는 것을 뒤에서 보고 있는데 '질적 특성을 제거한 모습'이 그대로 보이는 듯했습니다.
기록을 찾다 보니 박구용 교수님 강의를 들은 시점이 지난 9월이란 사실을 알게 됩니다. 비슷한 시기에 <수학의 역사>를 읽다가 출처가 다른 지식을 섞어서 <수(數)와 양(量)에 대해 처음으로 깊이 생각해 보다>란 글을 쓴 흔적을 발견했습니다.
심지어 수가 무엇인지까지 처음으로 생각한 흔적이 있습니다.
다시 보면서 양을 수로 대신하려고 했더니 '연속성' 문제에 직면했다는 사실이 굉장히 흥미로웠습니다.
디지털에 너무나 익숙한 나머지 아날로그가 바로 연속성의 세계이고, 디지털 세상이란 바로 그 연속성이 질적 소거 되어서 만들어졌다는 사실을 처음 인지했습니다.
이런 생각을 할 즈음에 욕실에 함께 있는데 둘째 아들이 이렇게 말했습니다.
아빠, 우리는 모양 비누는 참 안 써요. 거품 비누만 쓰고
욕실에 비누가 두 개 놓여있지만, 고체형 비누는 사실상 취향이 다른 손님이 왔을 때를 대비해 비치한 접대용에 가까웠습니다.
이를 두고 아이가 '모양 비누'라는 말을 쓸 때 귀여운 표현력에 놀라면서도 동시에 아이도 추상화 수준을 인지하고 있음을 깨닫습니다. 다시 한번 <낱말의 뜻을 깊고 넓게 묻고 따지는 일의 소중함>을 실천하기 위해 이번에는 추상에 대해서 사전을 찾아보았습니다.
정의를 보니 당연한 말인 듯하지만, 추상 역시 학창 시절에 배운 것도 아닌데 그 관성이 남아서인지 목적 없이 그저 시키니까 방법만 배웠단 사실을 깨닫습니다.
언젠가 지인이 '추상화 수준'이 무슨 말이냐며 물은 일이 있었습니다. 당시 뭐라 답했는지 기억이 나지 않습니다. 제 경우는 학부 마지막 해에 자기가 쓴 논문으로 수업을 하던 한 교수님이 Level of Abstraction이라는 표현을 입에 달고 살아서 익힌 기억이 있습니다.
하지만, 지인의 경우 소프트웨어 설계 맥락에서 한 질문입니다. 그래서 혹시나 쉽게 예를 찾을 수 있나 싶어서 UML 스펙을 찾아봅니다. 표현이 있기는 한데, 도식도 없고 직관적이 아닙니다.[1]
근데 굳이 추상화 수준이란 말을 쓰지 않아도 해당 개념을 더 익숙한 말로 표현할 수 있네요. 멀티 레이어링과 추상화 수준이 같은 말은 아니지만, 추상화 수준을 맞춰서 동시에 표현하면 멀티 레이어링으로 표현할 수 있습니다. 아래 그림에서 파란색 층(layer) 비누가 있다면, 연두색 층에는 고체 비누와 거품 비누가 존재하게 그리면 추상화 수준을 구분하여 멀티 레이어링으로 표현하게 됩니다.
[1] 제가 기대하던 도식은 UML1.x 버전에만 있었던 모양입니다. 최신 스펙을 보니 제가 기억하는 문구들이 나타나긴 하네요.