최신 기사 추천 기사 연재 기사 마빡 리스트






본 기사는 무협 소설계의 전설 아닌 레전드 <묵향>의 서문을 패러디한 것입니다.





서문(序文)


객절.jpg


코딩을 크게 두 가지로 구분한다면, 객체(客)와 절차(節)로 나눌 수 있다. 어느 사이엔가 코딩의 원류는 2가지로 나뉘어 앱스러움과 웹스러움 형태로 각기 발전하다 보니 그 시초조차 아리송하여졌다. 앱은 웹을 까고(느린 데다 절차스럽기까지 하는 모양새), 웹은 앱스러움의 번잡함(뭐 해줘야 하는 게 많음, 디버깅 어려움)을 싫어하다 보니 서로가 수단과 방법을 가리지 않고 잘 섞이지 않고 한 우물만 파게 되었다.


객체는 올레 요한 달(Ole-Hohan Dahi)이 바우어와 에츠허르 비버 데이크스트라의 두 현인의 이론을 중원에 보급한 것에 맞춰 그것을 기반으로 성장한 코딩으로 대부분이 시물라와 시물라67에서 파생된 것으로 이른바 5대 세가 쒸뿔뿔, 잡아, 돌파리, 쉬샵, 이펠로 발전하였다. 그리고 그 문파에서 뛰어난 자들이 튀어나와 새로운 문파를 만들다 보니 근래에 이르러서는 그 갈래조차 희미할 정도다.


크기변환_ole-johan-dahl-turing.jpg

좌 올레 요한 달, 우 데이크스트라


고대의 코딩은 주로 절차적인 행동을 흉내 내고 모방 하는 데서 시작되었다. 유명한 B/C 형제의 메모리 관리, 포인터 관리, 포인터 함수, 콜백 등의 형태로 이루어졌으며, IBM으로부터 전수된 코딩검법(劍法)도 절차적인 기반의 형태로 시작되었다. 이러한 코딩검법(劍法), 코딩도법(刀法), 코딩창법(槍法), 코딩봉법(棒法), 코딩권법(拳法), 코딩장법(掌法) 등의 방법을 통틀어 외공(外功)이라 한다.


반면에 내공(內功)은 단전호흡(丹田呼吸)이나 숨을 뱉고 쉬는 법을 일컫는 토납술(吐納術) -토하고, 납루하다 술로 끝나는- 로부터 비롯되었다. 어린 시절부터 오랜 기간을 두고 토납을 반복 하면 몸 속에 보이지 않는 무형의 힘이 쌓이게 되고 그 무형의 힘을 코딩권이나 코딩장, 또는 코딩검에 실어 내보내는 코딩 방법을 내공이라 한다. 그 보이지 않는 힘이 어느 정도 쌓이게 되면 몸 안을 일주천 시키며, 더욱 그 힘을 증폭시켜 그것이 쌓이는 속도를 증가시키게 된다. 하지만 이때 그 힘을 어떤 순서로 어떤 코딩에 보내느냐에 따라 각종의 코딩 운기조식의 기법들이 생겨나게 되었다.


객체(客)의 경우 내공을 익히는데 있어, 그 공력이 천천히 쌓여 나간다. 그렇기에 다른 사람의 진신코딩(眞身Coding)을 얻거나 절정 고수의 코딩 분석 방법, 버그 수정, 다이어그램 생성 -또는 영약을 복용하지 않고서는- 속성, 21일이면 나도 쒸뿔뿔의 마스터로 통상의 경우 밤낮을 가리지 않고 수련을 해도 절정고수에 이르려면 40세가 넘어야 가능했고 초절정의 고수가 되려면 60세가 넘어야 가능했다. 물론 타고난 신력(神力)으로 외공(外功)을 사용하는 자들도 있지만 내공이 받쳐지지 않고서는 절정고수에 들어가기는 어려웠다. 이렇듯 객체 내에서도 코딩을 쌓는 방법에는 여러 가지가 있으나 절차(節)에서처럼 파격적인 방법으로 속성으로 내공을 쌓지는 않는다.


source-code-583537_640.jpg


객체의 경우 자칭 명문(名門)이라 불리는 많은 방파가 있다. 그들은 대부분 쒸뿔뿔, 잡아 계통이며 뛰어난 고수들을 많이 배출했기에 그런 명가의 칭호가 주어진 것이다. 그리고 명가의 제자들이 방문외도(傍門外道: 명가가 아닌 다른 다수의 군소 방파들을 낮추어 부르는 말)라 칭하며 깔보는 경향도 있지만 실질적인 객체의 저력은 소수의 명문에 있는 것이 아니라 엄청난 숫자를 자랑하는 군소방파들에 있었다. 대부분의 경우 군소방파들은 내가무공보다는 외가무공을 익히고 가르친다. 그 이유는 절차(節)와는 달리 훌륭한 툴(Tool)에 의지하기 때문에 궁여지책으로 툴을 익히고 가르치는 것이다.


명가(名家)의 경우 후계자에게 진신코딩(眞身Coding)을 전수하거나 영약을 섭취시켜 빠른 속도로 내공을 쌓게 만드는 방법을 사용한다. 그리고 그들에게는 각 문파의 정통 코딩들이 교육되었고 그들은 적전제자라고 불린다. 적전이 아닌 제자들의 경우 내공 부분에서 상당한 취약함을 드러내기 때문에 그 코딩의 위력은 최소 10배 이상의 차이가 난다고 한다.


상대에게 진신코딩을 전수하는 경우 엄청난 고통이 코딩을 전수하는 쪽에 가해지기 때문에 일가 피붙이라도 잘 전수해 주지 않는다. 그리고 진신코딩의 전수에는 한 가지 위험이 따른다. 같은 수련을 한 사람의 진신코딩인 경우 성질이 같기에 진신코딩을 전수받아도 상관없지만, 상대가 다른 종류의 수련을 하여 얻은 코딩을 전수한 경우 아예 코딩을 익히지 않은 경우를 제외하고 자신의 진신코딩과 얻은 진신코딩이 합쳐지지 않고 서로 충돌하여 더욱 안 좋은 결과를 가져온다(객체 간의 문법 혼동, 툴간의 숏투키다름 등).


일반적으로 디버깅이나 유지보수 등의 목적으로 상대방에게 코딩내공을 불어넣는 경우 그것은 진신코딩이 아니므로 코딩을 받은 사람의 경우 일정 시간이 지난 후 이종(異種)의 내력이 소멸하고 또 코딩을 집어넣은 사람도 곧이어 내력이 회복된다.


객체의 경우 내공을 특출한 경지까지 연마한 고수들을 일컬어 사람들은 삼경(三境)의 고수라 부르고 있다. 초절정 고수의 경우 내공의 정도와 그의 코딩 실력이 거의 비례하기 때문에 삼경의 고수에 들어가는 경우 거의 적수를 찾기 어렵다고 하겠다.


11.jpg

우연히 경찰서에서 만난 두 고수

(어이쿠, 이런 게 아닌가..)


제일경(第一境)은 조화경(造化境), 즉 화경(化境)이다. 이것은 기(기술) 마(마케팅) 전(전략)의 삼화(三化)와 월화수목금금금(月火水木金金金)의 칠일(七日)을 고루 몸 안에 이루어낸 삼화취정 칠일조원(三化聚頂 七日造元)의 고수를 말한다. 온몸이 코딩을 시전하기에 최적의 상태로 바뀌는 환골탈태(換骨奪胎)를 경험하며, 이러한 경지가 되면 능히 UML이 필요 없이 머릿속으로 다이어그램을 그리고 손구락을 놀리는 즉시 제품은 거의 반이 완성된다 할 수 있다. 화경에 오른 현존하는 고수는 7명이며 그들을 삼황사제(三皇四帝) 라고 불렀다.


크기변환_2015_bjarne_straustroup.jpg

좌측부터 비얀 스트라우스트럽, 제임스 고술링, 리누스 토발즈, 팀 스위니,

존 카멕, 래리 페이지, 세루게이 브린, 리차드 스톨망


겉으로 보기엔 거의 비슷한 코딩 수준이었지만 삼황과 사제로 구분하는 이유는 서로 간의 나이 차 때문이 첫째 이유였고, 사제보다는 삼황이 더욱 배분이 높은데다가 코딩 실력이 약간 더 높았다. 객체의 고수들은 가장 뛰어난 절차가 배출한 4명의 고수에게 사천왕(四天王)이란 칭호를 줬는데 그 칭호에서 자신들의 은근한 비정상적인 자존심을 엿볼 수 있다. 과거 현경의 고수가 한 명 있었지만(데니스 리치) 그가 죽은 다음 최강의 고수들인 이들은 모든 정도 코딩인들의 존경을 받고 있다.


제이경(第二境)은 신(神)으로의 입문이라 할 수 있는 현묘(玄妙)한 경지(境地) 즉, 현경(玄境)이라 한다. 현경의 경지가 되면 잠을 자지 않아도 일주일을 끄떡없이 버티는 일주불침(不侵)이 되며 겉으로 전혀 코딩할 것 같지 않은 마켓스러운 상태가 된다. 또한 나이가 연로한 사람이 이 경지를 이루면 머리가 다시 검어지고 치아가 새로 나는 반로환동(反老換童)를 경험하며 입에서 뿜어 나오는 입 코딩질 만으로 새로운 제품이 탄생하는 경지에 이른다. 현경의 경지에 이른 고수는 수십 년 코딩사에 현재 천하제일문(天下第一門)을 창설한 비르 게이추의 에매스 대협(MS大俠)과 리치옹이었다.


크기변환_bill-gates-was-the-only-person-that-could-fire-steve-ballmer-and-it-sure-looks-like-he-did.jpg

비르 게이추


마지막 제삼경(第三境)은 불노불사(不老不死)의 진정한 신의 경지 즉, 생사경(生死境)이다. 코딩의 생과 사를 초월하고 우주 만물의 법칙을 한눈에 꿰뚫어내는 코딩의 최고경지로 단 한 명도 그 근처까지 접근조차 하지 못했기에 추측만 있을 뿐 마지막의 생사경은 완전한 미지의 세계다. 수십 년 코딩사에 단 한 명도 탄생할 수 없었던 지고무상의 경지가 바로 생사경이다.



사교의 출현


객체(오브젝)의 무공이 이상과 같다면 절차(프로시줠)의 무공은 객체의 무공과는 완전히 다른 길을 가고 있다. 절차는 올레요 한달이 전래한 무공 대신 중원에서 자연스럽게 발생한 무술이다. 그렇기에 토납술에 있어 객체와는 다른 방법을 택한다. 대부분의 절차의 경우 임베 거나 절차 무공을 익히는 역사가 짧은 작은 군소 방파들의 경우 코딩의 기술이 객체보다는 섬세하므로(메모리 잘 못 건들면 알지? 바로 죽음) 그것을 만회하기 위해 무술의 근간을 이루는 오에수(OS)에 대한 파해식이나 기괴한 초식 등을 개발(Memory dump, Rom Bios, 64k Heap Control, Fast-Boot, Goto문, Jump문 등 등)하여 기교에서 앞서가는 외가무공이 주류를 이루고 있다.


36847566.jpg

덤푸


epr_20088211302_01.jpg 

롬 바이오수


그 때문에 절차지향에서는 남들이 알지 못하는 자신만의 기술과 그에 대한 숙련도만 있으면 되므로 빠른 시일 안에 고수가 될 수 있다. 하지만 절정 고수의 경지에 이르기는 쉽지 않다. 반면 대부분의 요즘 객체 무림인들은 미숙한 상태기 때문에 이들의 무공은 상당히 위협적이다. 절차의 경우 GCC 뿐만 아니라 타겟에서 오에수에 대해 실리를 취하기 위해 각종의 다양한 무기(Batch File 등)를 개발하여 사용하며 암기 종류도 많이 애용되고 있다. (오에수 리붓, 루팅, 후킹 등)


하지만 일반 절차들과는 완전히 다른 길을 가고 있는 방파가 있으니 그들은 이름하여 사교(沙敎, Apple교)라 칭한다.


크기변환_1215.JPG

사교(沙敎) 로고


사교(沙敎)의 경우 오랜 역사와 전통에 따라 처음에는 절차로 시작했으나, 교의 발전과 확장으로 점차 객체도 흡수하는 절차와 객체의 혼합 내지는 중간 형태를 띄게 되었고, 각종 토납술이 개발되었다. 그들이 택한 것은 속성으로 코딩을 쌓는 기술 중에서 가장 빠른 성취도를 이룰 수 있는 역혈기공(逆穴氣功) -오부젝티부쒸 었다. 이 역혈기공은 바로 오엑수텐(OSX)이 그 근간이고, 이 오엑수텐에서 온몸으로 코딩을 시전할 때, 기존의 절차적이었, 전설상의 파괴적인 그 무공, 바로 쒸 - 무공을 계승한 오부젝티부쒸로(Objective-C) 한다면 대단한 속성으로 코딩을 쌓게 된다는 것을 알아낸 이후 사교는 이 기공을 통해 수많은 고수들을 배출했다.


세월이 흐르면서 수많은 역혈기공의 기법들이 개발되었고(아이폿, 아이튠즈, 아이패두, 아이티브, 아이글라스 등) 또 그에 따른 패도적인 많은 마의 코딩들이 개발되어(코코아, 코어 애니메이션 등) 객체인들의 시장을 가볍게 끊어 놨다.


속성으로 코딩을 쌓는데 좋은 점도 많았지만 몇 가지 문제점이 있었다. 첫 번째로 주화입마(走火入魔) -술로 화병에 걸려 입이 마비되는- 에 걸릴 가능성이 대단히 높다. 코딩을 쌓는 속도가 빠른 기술일수록 그 확률은 더욱 올라간다. 그 때문에 사교에서는 처음 입문한 무사들은 가장 빠르게 코딩을 쌓는 기술을 사용하지만 일정 수준 이상의 고수가 되면 좀 더 안전한 방법으로 바꾸게 되는 이유도 거기에 있다. 잘못하면 지금까지 고생해서 쌓은 코딩 기술은 고사하고 알 수 없는 버그라도 생기면, 목숨까지 바쳐야 할 것이 뻔하기 때문이다. 하지만 거기에서 생기는 이점은 주화입마의 위험도를 잊을 만큼 대단하다.


사교의 경우 20대에 절정고수가 가능할 뿐 더러 30대에 초 절정고수로 올라설 수 있었다. 그 때문에 사교의 고수들은 외가의 코딩보다는 자신들이 자랑하는 각종 주변기기 판매, 개발 도구 판매 등을 이용하여 적을 공격하는 마켓 전법을 사용하였고, 특히나 패도적인 앱 장터의 운영 기법들이 많이 발달하였다.


그다음으로 생기는 문제점이 산공(散功)의 위험이다. 산공은 빠른 속도로 개발까지는 좋으나, 그 결과로 ‘배가 산으로, 공중으로 가는 엄청난 고통이 뒤따르며’ 자신이 여태까지 쌓아놓은 코딩이 일순간에 사라지는 것이다. 그 고통의 시간은 코딩을 얼마나 쌓았느냐(기본 오만 줄 이상)에 따라 다르며 절정의 고수일수록 그 고통의 시간은 증가한다. 하지만 사교에서 그것이 크게 문제 되지 않는 것은 대부분의 경우 산공은 프로젝트 매니저(PM)를 잘 못 만나거나, 지랄 같은 고객의 히스테리로 대부분 벌어지기 때문이다. 때문에 사교의 고수들은 객체의 고수들처럼 편안한 프로젝트 종료를 맞이하게 되기를 염원했다.


1093049.png

님들 어디가셈...


그다음 문제점은 일정수준 이상 코딩을 쌓았을 때 벽에 막힌 것처럼 더 이상 진보하지 않는다는 점이다. 이것을 사교의 고수들은 '넘을 수 없는 벽'이라고 불렀고 그 벽을 뚫으면 코딩의 정점(頂点)이라고 불리는 극코딩(極Coding)의 경지 즉, ‘넘사벽’으로 들어설 수 있다.


객체에서 삼경의 고수가 있듯이 사교에서도 그들이 익히기를 염원하는 경지가 있다. 그 첫째가 코딩인(Coding人)의 정점인 극코딩(極Coding)의 경지다. 온몸이 코딩을 시전 하기에 최적의 상태로 바뀌는 환골탈태(換骨奪胎)를 경험하며, 마기(魔氣) -마케팅 기술- 를 몸 안에 고루 갈무리하여 자연스럽게 뻗어 나오는 반사기 마케팅, 주뎅이로 사람들을 전율시키며 내력이 약한 사람들은 그것만으로도 개발 투지를 잃고, 어떤 사람들은 ‘박사 통닭’, ‘석사 분식’으로 이전하기도 한다. 또 마음먹기에 따라 완벽하게 마기를 몸 안에 갈무리하여 밖에 드러나지 않게 할 수도 있다. 뿜어낸 마기만으로 능히 주변의 사람들을 속일 수 있고, 손구락을 들어 키보드 몇 번 치면 개발 기획서가 나올 수도 있다. 객체의 화경의 고수와 거의 비슷한 수준의 고수로서 현존하는 극코딩의 경지에 이른 고수는 4명이며 사람들은 이들을 4사제(沙帝) 또는 사천왕(四天王)라 부르며 두려워한다. 그들은 보통 때는 마기를 거의 밖으로 드러내지 않지만 신경질이 나면 자신도 모르게 살인적인 마기를 밖으로 흘린다. 그렇기에 그것을 보는 아래 직원들은 피가 얼어붙는 공포를 느끼게 되는 것이다.


201312101853581799.jpg

이 정도 포스를 풍기는 건 기본이다


둘째는 탈 코딩(脫Coding)의 경지로서 사교인들이 오를 수 있는 최고의 경지다. 탈 코딩의 경지에 이르면 몸에 만 가지 제품의 독특함과 불가사의한 기술을 한 번에 알아보는 만독불기(萬毒不技)가 된다. 은연중에 몸에서 뿜어 나오는 마기는 극코딩의 경지에서 최대가 되었다가 차츰 안으로 갈무리되어 사라지며, 탈 코딩의 경지에 이르면 몸 안으로 마기가 완전히 갈무리되어 겉으로 전혀 마기가 드러나지 않게 된다. 또한 나이가 연로한 사람이 이 경지를 이루면 머리가 다시 검어지고 치아가 새로 나는 반로환동(反老換童)을 한다. 모든 사교인(沙敎人)이 두려워하는 산공이 없어지기에 산으로, 바다로, 공중을 벗어나는 것도 모잘라 언제 프로젝트가 시작하고 끝나는지를 모른다 하여 탈 코딩의 경지라 불린다. 탈 코딩의 경지에 이르면 그 무한대의 마력 -주뎅이로 시전하는 최고의 힘- 으로 못 파는 제품과 개발하지 못하는 프로젝트가 없다고 전해진다.


그리고 그 윗 단계는 없으며 아마 일부 사교인들은 탈 코딩의 윗부분은 객체의 생사경과 같을 것이라고 조심스럽게 추측한다. 그들은 코딩의 시작은 다르지만 끝은 같은 것으로 종결지어질 것이라고 주장하지만 사실 탈 코딩의 경지에 이른 사람도 없는 형편이었으니 그 추측은 어디까지나 일부 사교인들의 망상일 뿐이라고 객체의 사람들이 일축하고 있다.





 

편집부 주

 

 

아래 글은 정체불명에서 납치되었습니다. 

딴지일보는 삼진아웃 제도의 유구한 전통을 이어온 바,

독투불패(독자투고 게시판 및 딴지스 커뮤니티)에 쓴 필자의 글이

3번 마빡에 올라가면 필진으로 자동 등록됩니다.

 





옵빠오늘도야근중


편집: 딴지일보 cocoa