이발소 깨어진 유리창에

아재 프로그래머로서

산 그늘이 되는 나무 2021. 6. 7. 11:26

내가 대학을 졸업할 때쯤인가, 무작정 온갖 종류의 컴퓨터 언어에 매달렸던 때로 기억한다.

인공지능 언어라고 소개된 Prolog, 미 육군에서 개발했다는 Ada (바이런의 딸 이름으로 최초의 여성 프로그래머로 알려져 있다. 이 놈은 한국에 Complier가 없어 뉴욕대에 접속하여 돌렸던 기억이 새롭다.), 그 외 볼랜드 사의 터보 프로그램 시리즈들....

앞으로는 컴퓨터 언어 매뉴얼을 쓰는 놈이 성공한다고. (이 말은 지금은 맞지 않은 게 확실해보인다.)

당시에 이미 임인건이란 이가  '터보 C 정복'이라는 '베개만 한 책'이라고 알려진 책을 냈었고 (꽤 성공한 걸로 알고 있다),

여타의 많은 컴퓨터 언어 매뉴얼이 있었다.

볼랜드 사의 터보C 컴파일러를 사용하던 시절의 이야기이다. (이게 아재 인증이다.)

 

모르긴 몰라도 컴퓨터 언어에 대한 교육은 문제해결 방법론을 배우는 것이다. 

사람이 하기엔 우원하고 미련해 보일지라도, 순차적으로 차곡차곡 한 발자국씩 처리한다면 문제가 해결되는 방식들,

(divide & conquer! 쪼갤 수 있는 능력이 있다면 문제를 해결할 방법도 있기 마련이다.) 

그것이 전통적인 컴퓨터가 하는 일이다. 그리고 그것을 위해 메모리 창고를 어떻게 관리할 것인지도 (자료구조론이라고 불리우는). 그런 문제해결의 방법을 정의하고 그 값이 수렴되도록 확인하는 것이 코딩의 한 과정이다.

 

조금 고급스럽게는, 문제해결의 방법으로서 이른 시간 안에 최적의 답을 찾아가는 것,

접근할 수 있는 모든 데이터를 이용하여 최적의 과정을 통해 해답을 찾아가는 방법 자체를 (엄밀하게는, 방법은 정해져 있고 그 방법을 통해 해답을 결정할 수 있는 '파라미터'들을 데이타를 통해 하나씩 혹은 주효한 것부터 결정해가는 파라메타 결정의 '학습'을 통하여) 문제해결에 적합토록 설계하는 것이 프로그래밍이다, 라고 생각한다. (무언가 확정적으로 말하기엔 '년배'로 보나. 또한 아재로서는.)

말이 길고 숨이 차다. 모르는 AI를 아는 척 하려면 이렇게 길게 말하여 티가 나게 마련이다. 

(이점이 고수와 하수가 갈리는 지점이다. 오캄 사람 윌리엄의 면도날이라지 않던가.)

 

신문 쪼가리에서 코딩 교육 어쩌고 하는 내용을 보고 하 어이가 없던 차에,

여튼 볼랜드 C가 생각나는 아침이라 몇 마디 적어본다. 

참, '눈이 큰 아이와 그의 하숙생' 출판사가 펴낸, Vax 750 중형 컴퓨터 사용자 매뉴얼도.

그건 일종의 중형컴퓨터의 dos 설명서였다.

그들의 시대를 앞선 노력에 영광을.

 

그리고 묵묵히 무소의 뿔이더래도 '같이' 가야 한다.

녹색 프롬프터의 깜빡임이 설레이던 날들로부터.