본문 바로가기

카테고리 없음

개인적으로 생각하는 프로그래밍의 정리

프로그래밍(혹은 프로그램)이란 무엇으로 정의할 수 있는가?

1. 현실에 있고 '실존했던' 다양한 문제, 혹은 문제풀이에 이용되는 것들을 컴퓨터(계산기)의 영역으로 들여와 수(數)의 영역으로 바꾸고 해결하는 것.

 

2. 현실에 '있을거 같은' 문제를 가정, 즉 창조하여 새로운 문제를 만들어 내고 그것을 토대로 예측하여 자료의 영역으로 바꾸는 것.

 

3. 현실에 '없었던' 문제를 가정하고 창조하여 새로운 가치와 문제풀이 방법을 제시하고 수정해 나가는 것.

 

4. 그리고 상기한 모든 내용을 하나로 합쳐 현실 혹은 컴퓨터에서 적용시키거나 실현시키는 것.

 

스스로 생각하기에도 그렇지만, 프로그래밍의 정의는 하나라고 하기에는 너무 작다. 프로그래밍 할수있는 영역(최근은 의학, AI, 예술쪽 등등)이 커지면 커질수록 이 또한 범위가 넓어지기에.

마치 관측가능한 우주가 커질수록 더 넓은 세상이 존재하는 듯한 느낌이다. 이중 슬릿 파동이나 슈뢰딩거의 고양이와도 같다. 관측하지 않는다면 존재하지 않는 것이고 상상하는 순간 그것은 존재하는 것이기도 하니까.

15~16세기 유럽의 중세시대 농민들이 평생 알았던 정보의 양의 현재 21세기의 뉴욕타임즈 2페이지 수준이었다고 한다. 하지만 지금 현시대 인류가 하루에 창조하는 정보의 양만 해도 그것의 수십 수백곱은 될 것이며 열람하는 정보는 그것보다 훨씬 더 많을 것이다.

 

정보의 '정의(define)'역시 프로그래밍이고, 정보의 계산(compute)역시 프로그래밍이며, 정보의 정렬 또한 프로그램이다.

 

모든 정보는 수학적이지 않지만 그것을 이해하고 정리하는 원리는 참으로 수학적이다. 수많은 고전과 철학 역시도 결국은 수 앞에서 대기표를 뽑아 분류된 이후 의미와 가치를 부여한다.

우리가 알지 못했던, 혹은 알고 있었으나 표현하지 못했던 세상의 규칙을 이해할수 있는 선으로 끌어내리는 것. 수를 몰라도 세상을 관착하게 해줄수 있는 규칙을 만드는 것.

이것이 아마 내가 생각하는 프로그래밍의 정의에 가장 가까우리라 생각한다.