공학을위한인문학

프로그래머의 관점에서 본 장자 “내편” #1 소요유와 제물론

by JamesLee posted Jul 01, 2019
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

 

l_2019030701000670300053551.jpg

 

 

 

 

프로그래머의 관점에서 본 장자 내편

#1 소요유와 제물론

 

 

 

연세대학교 공학대학원

 

테크노인문학전공 6기 이상만

 

 

 

[본 칼럼은 개인적인 분석 자료일 뿐이며, 학과 수업과는 무관함을 알려드립니다. 다만 장자 내편의 이해에 도움이 되기를 바라는 마음에서 작성하였습니다]

 

 

 

 지난 학기에 배운 장자 내편은 시간이 지날수록 더 이해하기 힘든 부분들이 생겨나기 시작했다. 장자 내편의 우화들은 현대의 느낌으로 이해하기에는 매우 어려운 내용들이다. 그리 하여 조금 더 쉬운 해설서들을 찾아 여러 책을 전전 했지만 제대로 된 해석이라고 느껴질 만한 책을 찾지 못하였다. 그러나 한가지 확실한 것은 2500년이 지난 지금 장자가 살던 때의 사람이 아니고서는 그가 고민하고 말하고자 했던 내용을 완벽하게 이해하기란 불가능 하다는 것이다. 다양한 해석들이 저마다 자신이 옳다 주장하고 있지만 누구도 정답을 말할 수 없다는 것이다. 따라서 감히 학생의 입장에서 다른 해석을 써보고자 한다. (장자에 정통하신 분들께서 비판하여 주시면 겸허히 받겠습니다)

 

 

 

1편 소요유 (逍遙遊) : 걸음마를 뗀 남명과 천지의 구만리 무위

 

 의 경지에 오르기 위한 첫걸음인 소요유 편에서는 남명으로 가기 위한 붕새의 날개 짓이 구만리의 허공이 필요함을 말하고 있다. , 자신의 몸에서 크나큰 기운을 6간지를 지나 천지(머리)에 이르게 하는 운행의 도를 말하고 있다. 다르게 표현하면 우주의 법칙이 12간지를 기준으로 구성되어 있고 거대한 빈공간(과학에선 암흑물질이라 하는) 이 존재하여야 새로운 탄생의 힘이 천지(탄생)로 갈 수 있다는 것이다. 우주나 별의 탄생, 그리고 우리 몸에서의 에너지의 탄생과 순환을 매우 우화적으로 설명하고 있다. 자 이것을 프로그래머의 관점에서 한 번 생각해 보자. 요즘 한 참 바람이 불고 있는 코딩이라는 것은 그 엉터리 교육법에서 말하는 번역(Interpreter) 기술이 아니다. 인간의 언어를 컴퓨터의 언어로 풀어주는 그런 것이 아니라는 것이다. 어느 정도 경력이 있으신 프로그래머는 무슨 말인지 아실 것이다. 프로그래밍 이라는 것은 자신의 철학과 논지를 세우고 그것을 컴퓨터 언어라는 것을 이용하여 구축해가는 과정이며, 사실상 언어의 영역이라기 보다는 사고의 영역에 가깝다. 만약 음식 배달앱을 만든다고 가정해보자, 가장 먼저 하는 것이 책을 찾아 프로그램 언어를 켜서 명령어를 타이핑 하는 것일까? 그것이 한국 사람들이 코딩을 못하는 가장 큰 이유가 된다. 해외의 개발자들과 잼(JAM) 개발을 진행하곤 하는데 그때에 만나는 해외 개발자들은 국내와는 매우 달랐다. 그들은 주제가 정해지면 제일 먼저 모여서 토론을 하고 책이나 써칭을 하며, 아이디어를 모은다. 그리고는 그 아이디어 위에 그것을 구현하기 위한 아키텍쳐(논리 구조도) 를 그려낸다. 그 다음 각자 역할을 정하고 잘하는 부분을 맡으면서 직접 작성하는 하드코딩 은 가장 나중에 마무리 작업용으로 쓸 뿐이다. 코딩의 과정은 사고의 과정이며 그 과정 자체가 논리적이면 최종 결과물도 결국 논리적일 수 밖에 없다. 언어로 풀어내는 프로그래밍의 기술은 마치 붓글씨의 글자 쓰기와 비슷할 뿐이다. 그렇다면 그 프로그래밍의 첫걸음은 무엇으로 해야할까? 그 것이 바로 소요유다. 그냥 마구잡이로 코드를 타이핑 해보면 된다. For 문으로 반복문을 만들어도 되고, 그것이 싫어 같은 문장을 수백번 써도 된다. 무엇이 문제랴. 그저 즐겁게 노늬는 모습이 가장 빠르게 발전하는 모습이리라. 또한 그 과정에서 불필요한 학문이 무엇이 있으랴? 코딩 한다면서 언어책부터 구매하는 사람들이 많다. 정말 오랜기간 프로그래밍 해오신 분께 물어보아라. 수학도, 과학도, 아니 철학도 다 유용 하리라. 누구도 거들떠 보지 않는 그런 것이 정말 소요유 하며 노닐 수 있는 자신만의 먹거리가 존재할 것이다. 컴퓨팅 기술은 소요유 하기에 너무도 많은 것들이 나와있다. JSP, ASP, JAVA, PYTHON, C++ 그리고 Database, Node JS, 그외에도 수많은 것들이 쏟아지고 있다. 그러나 그 본질이 무엇이랴? 무엇과 무엇을 연결하고 논리를 구축하고 저장하는 것이다. 조금 만 읽어보면 전혀 다른 것이 아니라는 것을 알 수 있으며, 새로운 것이 등장하여도 그 시작과 끝을 쉽게 짐작 할 있다. 그러니 무엇으로 시작하든 마음껏 소요유 하여라. 마지막으로 한가지! 어떤 일이라도 그 분야에서 끝까지 가보고자 하는 마음이 없다면 그 깊이는 한정적일 것이다. 남명에서 천지로 가고자 한다면, , 세계적인 프로그래머가 되고자 한다면 그 길이 어디까지 이어질 수 있을지 가늠하고 거기에 비추어 다양한 지식을 습득해야 하는 것을 반드시 명심해야 할 것이다.

 

 

 

2편 제물론(齊物論) : 장주와 나비의 Linked List

 

 제물론은 다양한 해석이 난무하는 가장 난해한 부분이다. 가지런할 제()는 검이나 창 등이 가지런하게 꽂혀 있는 형상을 말한다. 세상 만물은 무위하면(고정관념이나 개념화 하지 않고 본다면) 모두 평등하게 볼 수 있다는 말이기도 하다. 그러나 그 가지런하고 평등하게 볼 수 있는 시각은 다양하게 말할 수 있다. 첫 구절에 나오는 세상 만물에서 나오는 소리와 그 소리가 나오게 하는 바람은 세상의 이치가 무엇으로부터 나오는지 그 근원적인 질문을 던진다. 세상의 소리란 것은 각기 다른 구멍으로부터 나오는 것이며, 그 구멍으로 바람이 들어온 것일 뿐이며, 세상의 모든 소리란 바람이 일으킨 것이다. , 세상 모든 것이 내는 소리는 한가지 인데 다양하게 들릴 뿐이라는 것이다. 그 형상에서도 마찬가지다 다양한 사람이 있을진데, 그 모습이나 목소리, 지위만으로 사람을 판단할 수 없으며 그 사람이 가진 본질로 평등하게 보아야 한다고 말하고 있다. 최근 어플리케이션 프로그래밍을 하는 것에 있어서 가장 중요한 것이 UI/UX 이다. 이것은 앱의 기능과 사람을 이어주는 가장 중요한 부분이기에, 디자인 적으로도 사용자의 경험적으로도 잘 조화된 설계가 필요하다. 그러나 그 UI/UX를 제물론적으로 본다면 사실 없는 것이 가장 쓸모 있어 질 수도 있다는 해석을 할 수 있다. UI/UX는 대부분 개발사에서 고객에게 자신의 서비스를 잘 사용하기 위해 자신만의 철학으로 만들어 넣게 된다. 그러나 그러한 개발사의 생각이 가장 위험한 발상이기도 하다. 소비자는 절대 개발사의 의도대로 움직이지 않기 때문이다. 가장 편리한 보편적인 방식으로 제작된 앱이 가장 경험적으로 많이 사용하였으니 고객이 좋아할 것이어야 하는데 그렇지 않기 때문이다. 실제로는 고객이 많이 사용하도록 강요되었을 뿐이었던 것이다. 고객이 필요한 것은 필요할 때에 나와주고, 필요없을 때에는 아예 없어져 주는 것이 가장 좋다. 그렇기에 가장 좋은 UI/UX는 없애는 것이라 했다. 그 대표적인 것이 애플의 iPhone 철학이다. 버튼을 없애고, 최소한의 터치로 운영하는 것이 처음에는 이상하게 보였지만 지금은 iPhone과 다른 UI의 방향을 가진 복잡한 기기들이 이상하게 보이게 되었다. 프로그램 개발의 입장에서도 불필요하게 여겨졌던 숨김 기능, 슬라이딩, Popup Menu 등이 고객에 의해 중요한 기능이 되었고, 실제 핵심 서비스는 내부에 존재하게 되었다. IT 의 발전을 보면 점점 더 가지런한 제물론과 같이 본질을 살리고 군더더기를 없애 가는 평등화 과정을 가고 있다. 마지막으로 장주와 나비의 우화에서 보여준 호접지몽은 프로그래밍의 생사를 그대로 보여준다. 장주는 꿈에서 본 나비가 나인지 현실의 지금이 나인지 모르겠다고 했다. 그 것으로서 물화의 경지를 말하고 있다. 물화의 개념은 좀 이해하기 힘든 말이다. 물화란 생명체가 나오고 죽고, 또 다른 존재로 옮겨가고 다시 태어나고 하는 자연의 이치를 말한다. 그렇기에 기나긴 세월의 물화에 비추어 보면 장주는 나비가 될 수 도 있고 사람이 될 수 도 있는 것이다. 이 호접지몽은 장자만이 독특한 표현 법이고 그의 사상 기반을 보여주기도 한다. 이것을 프로그래밍의 관점에서 보자면 Pointer 라는 개념으로 설명할 수 있다. 최근에는 거의 공부하지 않는 C, C++ 언어에서 가장 힘들어 하는 개념이 Pointer 였다. 컴퓨터 프로그램은 변수와 상수, 그리고 명령문들로 이루어 진다. 이중에서 가장 많이 사용하는 것이 변수이다. 변수는 정수, 실수, 문자 등 실제 저장되는 값을 중심으로 다양하게 선언되어서 사용할 수 있다. 하나를 예를 들어 보겠다.

 

int aaa;

 

aaa = 1;

 

위 구문은 단순한 C 언어 구문이다. int 라는 것은 변수를 선언하는 것이고 다음에 나오는 문자열이 변수를 대변하게 된다. 위의 구문은 int(정수) aaa 를 선언하고 그 aaa 에 정수 1을 저장하는 명령문이다. 언어는 이런 식으로 저장해야하는 변수의 종류에 맞게 선언하고 프로그램 내에서 사용하게 된다. 그런데 Pointer는 이러한 변수의 종류를 벗어난 매우 이질적인 존재이다. Pointer는 모든 변수를 지칭할 수 있고, 함수라고 하는 수식 집합체를 지칭할 수 도 있고, 심지어는 OS의 한 부분을 지칭하기도 한다. Pointer는 자유롭게 변수의 형식을 변화해가며 다양한 정보의 주소를 저장하는 기능이다. 그러나 이것이 CC++ 언어의 가장 중요한 꽃이다. Pointer 에 화면의 메모리 주소를 저장해놓고 값을 넣으면 화면에 글자가 써진다. 또한 이 Pointer 에다가 프린트기의 메모리 주소를 넣어두고 값을 입력하면 프린트가 출력된다. 빠르고 정교한 프로그램은 이러한 Pointer를 활용하여 메모리 주소를 옮겨가며 정수가 되기도 하고, 마우스가 되기도 하고, 스크린 화면이 되기도 한다. 현재는 다양한 JavaScript 언어들이 탄생했지만 실제 그 언어의 내부에서는 Pointer라는 개념으로 동작하고 있는 것이다. 사용자는 과연 화면과 프린트, 그리고 저장장치가 하나의 주소에서 동작하는 것을 알 고 있을까? 장주의 나비는 컴퓨터 프로그램의 Pointer 처럼 이것인 것은 저것에서 나오지 않은 것이 없고 저것은 이것에서 나오지 않은 것이 없는 것이다. 세상 만물의 물화는 이렇듯 컴퓨터 프로그래밍에서도 나타낼 수 있지만 감히 인간의 언어로 표현하기는 매우 어렵다. 그러나 장자의 말씀에서 가장 중요한 것은 참 의 경지에서 세상 만물을 좌/, /, 옳고/그름 으로 나누지 않고 평등하게 볼 수 있어야 한다는 것이며 그렇게 할 수 있는 나 자신에게 깊숙히 있는 참 의 경지를 찾을 것을 요구하고 있다. 현대의 컴퓨터 프로그래밍에서도 장자의 말씀과 같이 중요하게 보아야 할 것은 나 자신의 깊숙한 곳에 있는 그 참’, 와 같이 프로그램언어들로 제작 되어진 운영체제와 기본 프로그램들의 본질을 이해해야 더 발전된 프로그래머가 될 수 있을 것이다.

 

 

 

 

 

 

 

 


공지 공학, 인문학, 예술까지 모두 아울러 융합하고자 노력하는 테크노인문학도들의 컬럼입니다. 관리자 2019.04.05
  1. 현대의 버킷리스트

       현대의 버킷리스트     1. 논어(論語)와 주제어 그래프     이제 반환점을 돌았다. 논어 읽기를 인생으로 빗대어 생각하면 9편까지 익히고, 이제 막 반환점을 돈 셈이다. 인생의 반환점을 돌고 있는 나이 불혹을 넘어 논어를 만난 것도 어쩌면 이와 비슷한...
    Date2019.10.10 Category공학을위한인문학 By7기_김혜은 Reply2 file
    Read More
  2. 현대인에게 스며드는 어떤 것... 논어(論語)

        현대인에게 스며드는 어떤 것... 논어(論語)       1. 첫 논어(論語) 이야기   간장게장 좋아하세요? [논어는 처음이지?] 책을 펼쳐들고 첫 장을 읽는 순간 떠오른 문장이다. 안도현의 [스며드는 것]이란 시가 떠올랐기 때문이다. 안도현의 [스며드는 것]...
    Date2019.10.10 Category공학을위한인문학 By7기_김혜은 Reply0 file
    Read More
  3. 기업의 조직내 갈등을 변화시킬 수 있는 중용(中庸)의 자세

    중용(中庸)은 사서삼경(四書三經) 중 하나이며, 공자(孔子)의 손자인 자사(子思)의 저작이라 알려지고 있다. 사서(四書)는 논어(論語), 맹자(孟子), 중용(中庸), 대학(大學)을 말하며, 삼경(三經)은 시경(詩經), 서경(書經), 주역(周易)을 말한다.     ‘中’이...
    Date2019.10.09 Category미래사회와 인문학 By조형동 Reply2 file
    Read More
  4. 공자가 하지않은 '子絶四(자절사)'

        공자가 하지않은 "子絶四(자절사) : 毋意(무의), 毋必(무필), 毋固(무고), 毋我(무아)"   인문학에서 보는 인간은 욕망하는 존재라서 자신의 본성(本性)을 잊고, 好利避害(호리피해 - 자신에게 이익이 되는 것을 좋아하고, 손해가 나는 것을 싫어함)의 삶...
    Date2019.07.23 Category공학을위한인문학 By맹자 Reply1 file
    Read More
  5. 『맹자』로 바라보는 인생 칼럼 -1

          테크노인문학과 4기 강희범       『맹자』로 바라보는 인생 칼럼 -1     불감거부(不敢去婦)   不 : 아니 불 敢 : 감행할 감 去 : 쫓을 거 婦 : 아내 부(또는 며느리 부)   안방에서 두 다리를 벌리고 드러누워 있는 아내를 본 맹자가 예의 없는 아내...
    Date2019.07.14 Category공학을위한인문학 By맹자 Reply1 file
    Read More
  6. 프로그래머의 관점에서 본 장자 “내편” #1 소요유와 제물론

              프로그래머의 관점에서 본 장자 “내편” #1 소요유와 제물론       연세대학교 공학대학원   테크노인문학전공 6기 이상만       [본 칼럼은 개인적인 분석 자료일 뿐이며, 학과 수업과는 무관함을 알려드립니다. 다만 장자 내편의 이해에 도움이 되...
    Date2019.07.01 Category공학을위한인문학 ByJamesLee Reply0 file
    Read More
  7. 코딩을 할 때도 스토리텔링이 기본이다.

    일단 Python의 그래프가 R에 비해 예쁘지 않다는 걸 알리고 시작하겠다. (본격적으로 예쁜 데이터 시각화를 위해서는 Web일 경우 javascript의 D3 등을 추천한다. ) * 다음은 필자가 필드에서 강의때에 진행하는 짤막한 기초 예제 중 일부이다. 그리고 아래는 ...
    Date2019.04.21 Category공학을위한인문학 By주영아 Reply1 file
    Read More
  8. 장자를 위한 변명 (소요유와 제물론)

                      장자를 위한 변명 (소요유와 제물론)       연세대학교 공학대학원   테크노인문학전공 6기 이상만       [본 칼럼은 개인적인 분석 자료일 뿐이며, 학과 수업과는 무관함을 알려드립니다. 다만 장자 내편의 이해에 도움이 되기를 바라는 마...
    Date2019.04.10 Category공학을위한인문학 ByJamesLee Reply0 file
    Read More
  9. 2019 가트너(Gartner) 10대 전략기술 트렌드

    4차 산업혁명 시대, 과거 “마이너리티 리포트”, “A․I" 등 영화 속 이야기들이 자율주행차, 드론, 로봇, AI 등 여러 기술들로 우리의 미래에 빠르게 다가오고 있다. 또한, 지금도 전 세계 각지에서 새로운 아이디어가 체계화되고 혁신적 기...
    Date2019.04.05 Category미래사회와 인문학 By정상훈 Reply2 file
    Read More
  10. 노자와 장자, 그리고 테크노인문학

          노자, 장자 그리고 테크노인문학   연세대학교 공학대학원 테크노인문학전공 6기 이상만    어릴 적 어느 날이었다. 학교에서 돌아온 나를 아버지는 여러 어른들에게 인사를 시키셨다. 대부분 60, 70년대를 달려오셨던 분들이었다. 그분들이 늘 하시던 ...
    Date2019.04.04 Category공학을위한인문학 ByJamesLee Reply1 file
    Read More
  11. 소크라테스를 입은 알파고!

    인공지능과 로봇, 바둑을 합성한 <한겨레> 자료사진. 그래픽 강민진 디자이너 rkdalswls3@hani.co.kr 소크라테스를 입은 알파고! 연세대학교 공학대학원 테크노인문학전공 6기 이상만 필자가 처음 인공지능을 공부하기 시작한 때는 한참 PC통신을 즐기던 1994...
    Date2019.04.04 Category4차 산업혁명과 인문학 ByJamesLee Reply1 file
    Read More
  12. 테크노인문학의 시대가 온다.

    자동차 회사 닛산은 자율주행 자동차 개발을 위해 라이스대학 출신 인류학 박사 멀리사 세프킨을 초빙, 인간과 기계의 상호작용에 대한 연구를 맡겼습니다. 인공지능을 이용한 챗봇을 개발하는 회사 ‘웨이드앤드웬디’는 세인트 존스 칼리지에서 인...
    Date2019.04.03 Category미래사회와 인문학 By주영아 Reply1 file
    Read More
  13. [피카소와 큐비즘展]_혁신이라는 색채를 덧입히다_❷

        [피카소와 큐비즘展]_혁신이라는 색채를 덧입히다     ▒ 테크노인문학과 7기 김혜은       4. 로베르 들로네, 리듬 n°1 ~4     (80년만에 해외에 첫 전시되는 5m 넘는 초대형 작품)      마지막에 전시된 작품은 로베르 들로네의 리듬 시리즈, 리듬 n°1 ~4...
    Date2019.04.03 Category예술과의 융합 By7기_김혜은 Reply1 file
    Read More
  14. [피카소와 큐비즘展]_혁신이라는 색채를 덧입히다_❶

        [피카소와 큐비즘展]_혁신이라는 색채를 덧입히다     ▒ 테크노인문학과 7기 김혜은       1. 미술관 특유의 향수(鄕愁)를 만나다     2019년 피카소와 입체파 작가들의 그림이 예술의 전당에 찾아왔다. 소식을 듣고 2019.3월 테크노인문학과 여학우 선배...
    Date2019.04.03 Category예술과의 융합 By7기_김혜은 Reply1 file
    Read More
  15. 배워야 하는 이유

    터키에 '트로이'라는 도시가 있다. 트로이는 트로이 전쟁이 일어났던 신화의 도시이다. 지금 트로이는 고대 트로이 모습을 찾아볼 수 없다. 트로이 목마가 있지만, 이 목마는 관광객을 위해 최근에 만들어진 것이다. 그래서 터키를 가는 사람들은 두 부류로 나...
    Date2019.04.02 Category여행에서 느끼는 인문학 By별님 Reply2 file
    Read More
  16. 블록체인은 철학자가 필요하다.

          블록체인은 철학자가 필요하다   연세대학교 공학대학원 테크노인문학전공 5기 김상완     블록체인이 대한민국에 널리 알려진 건 광기어린 투자의 대상이었기 때문이리라. 하지만 그 이전에 탈중앙화 세상을 꿈꾸는 ‘프로그래머들과 블록체인 팬들’이 ...
    Date2019.04.02 Category4차 산업혁명과 인문학 By와나 Reply3 file
    Read More
Board Pagination Prev 1 Next
/ 1