가비지 소프트웨어 제작 공정의 특성

소프트웨어 생산 라인을 잡고 있느라면 다양한 군상들을 보게 된다.
생산 라인에는 라인마다 구호가 있으며, 제작 방식이 있다.
또, 생산 라인을 타지 않고 삼삼오오 구석에 모여 수공예를 하고 있는 군상들도 있다.

특정한 무리들은 끊임없이 가비지만을 생산하기도 한다.
가비지만을 생산하는 류들은 어떤 공통적인 행위적 특성을 가지고 있는데 이러한 류를 감지하는 몇가지 징후를 들자면 다음과 같다.

a. 이상한 용어를 만들어 쓴다.
용어가 뜻하는 것과 무관한 개념으로 용어를 사용한다. 소집단끼리 일시적으로 사용하기에 괜찮다고 우긴다.
결국 점점 public하게 지속적으로 이상한 용어를 사용한다.
용어가 원래 가지고 있던 개념과 소집단이 정의한 개념이 서로 간섭하여 소통을 가로막고 쓰레기를 만든다.

b. 모든 문제는 단순하다.
모든 문제는 원래 복잡성을 내포하고 있으며, 전체를 조망하여 바라보면 다면적으로 심화하나, 그저 단순화의 의지에 따라 사물을 단순화하고 그것만 바라본다.
사물의 속성에 따라 추상화를 통한 단순화를 하는 것이 아니라 단순화의 의지에 따라 사물을 왜곡하고 협애하게 바라볼 뿐이다.
이제 항상 모든 사물은 단순하나, 모든 세상 문제들마다 새롭게 다른 해결책을 강구해야 한다. 즉, 일반해란 출발점부터 불가능하고 모든 것은 얄팍한 특수해뿐이다.
전형적인 쓰레기를 생산하는 지적 방법이다.
(cf. Occam's razor)

c. 모든 문제는 천상의 뛰어난 누군가가 해결해놓았다.
이미 문제는 잘 알려져있고, 누군가가 풀어놓았다. 그저 가져다쓰면 될뿐이다.
제대로 풀어놓았는지, 개선할 방법은 없는지 또, 다른 안은 없는지 세상은 오래전에 천상의 뛰어난 누군가에 의해 탄생되었을 뿐이다.
아마도 천상의 누군가가 지상의 하급 생물들을 위해 시혜적으로 만들어둔 것이 있을 것이다.

d. 기반에 대한 이해는 불필요하다. 표면만 암기하여 사용하면 된다.
모든 제조물은 골조가 있고, 에너지원의 전달 메커니즘이 있다. 이것을 이해못하고 죽은 껍질만 바라본다.
스스로 뭘하는지 모르고 지적 노동을 한다는 것은 본인으로서 피곤한 일이자, 피조물인 소프트웨어로서도 매우 불행한 일이다.

댓글

이 블로그의 인기 게시물

[Java] Java G1 GC의 특성에 따른 Full GC 회피 튜닝 방법

일론 머스크의 First Principle Thinking (제1원리 기반 사고)

엄밀한 사고(Critical Thinking)란 무엇일까