2021-06-16

나의 첫 프로그래밍(?)

정확히 말하면 elisp(emacs lisp) 코드 다섯 줄(주석 제외)에 불과하지만, 나름 성취라고 할 수 있으므로, 기록 삼아 올려둡니다.

코드의 내용은 다음과 같습니다.

(defun new-file-with-date-time ()
  "날짜-시간 표기된 새 파일 만들기"
  (interactive)
  (find-file (format-time-string "~/Dropbox/txt/%y%m%d-%H%M%S.txt")))
(global-set-key (kbd "C-c C-n") 'new-file-with-date-time)
;; 날짜 시간 표기법은 이 링크를 참고 https://www.gnu.org/software/emacs/manual/html_node/elisp/Time-Parsing.html

이게 뭐 하는 거냐. 제가 글 쓸 때 쓰는 emacs라는 텍스트 에디터가 있습니다. 1976년에 만들어진, 저보다 나이가 많은 소프트웨어입니다.

구시대의 유물답게 emacs는 수많은 세팅을 자기 손으로 직접 해야 합니다. 그 단점은 반대로, 본인이 원하면 기존에 없던 기능을 써서 넣을 수도 있다는 뜻이 됩니다.

저 코드는 이런 뜻입니다. 이맥스에서 어떤 파일을 편집중이건, ctrl-c ctrl-n 을 입력하면, 210616-203308.txt 같은 이름의 새 파일이 열린다는 것입니다.

즉 저는 언제나 어느 상황에서나, '지금 이 순간'을 파일명으로 삼은 텍스트 파일을 만들고, 내용을 입력한 후, 저장할 수 있습니다. 저장 경로는 제가 텍스트 파일을 모아두는 드롭박스 내 txt 폴더.

이 '자체 확장 기능'은 세 가지 기능을 제공합니다. 1) 순간적으로 떠오르는 내용을 빨리 적어놓기 2) 메모에 고유 식별자(날짜-시간) 부여하기 3) 모바일에서도 접근 가능하게 하기(드롭박스라서 자동 싱크)

저는 프로그래밍을 따로 배워본 적이 없습니다. 단지 영어로 어떻게 어떻게 구글 검색을 좀 해보면 남들이 쓴 코드를 찾아볼 수 있고, 그걸 붙여넣어 실험해보다 보면 작동하는 결과를 얻을 수 있는 거죠.

그런 식이다보니, 솔직히 저 코드에서 (interactive)가 왜 들어가야 하는지 그 이유는 아직도 이해 못하고 있습니다. 하지만 뭐, 아무렴 어떻습니까. 제가 원하는 기능을 스스로 구현해냈으니, 그거면 된 거죠.

이런 글을 왜 쓰나 싶지만, 자랑? 기록? 뭐가 됐건 그냥 올려봅니다.

(참고로 제가 이준석의 '엑셀 시험' 어쩌구를 보고 콧방귀를 뀐 이유도 이런 겁니다. 저는 learning curve가 굉장히 가파른 고대 유물 소프트웨어를 즐겨 쓰는 사람이고, 심지어 간단한 스크립트도 짭니다. 하지만 이게 저의 '글쟁이'로서의 '능력'과 상관 있나요? 없습니다. 좋은 글쟁이는 글을 제 시간에 읽기 좋게 쓰는 사람이면 충분합니다. HWP에서 원고지 매수 확인하는 기능만 알아도 충분합니다. 이제 다시, 일하러 가야죠.)

댓글 4개:


  1. 최초의 영어사전을 쓴 새뮤얼 존슨은 다음과 같이 말했습니다. "지식에는 두 종류가 있다. 무언가를 아는 지식, 그리고 그러한 지식이 어디 있는지 아는 지식."

    21세기처럼 투명해진 시대에 전자의 절대량은 더 이상 어떤 권위나 실질적인 자격으로 기능하지 않습니다.
    혹자는 후자를 두고 그저 구글 검색능력 정도로 생각할 수 있겠지요. 하지만 지식은 아는 것도 중요하지만 잘 쓰는 게 훨씬 더 중요합니다. 누가 언제 어디에 어떻게 무엇을 왜 쓰는지 아는 것 말이죠.
    그걸 깨닫지 못하면 지식이 아니라 지성이 미숙한 겁니다. 훨씬 치명적이죠.

    저 역시 인문학을 공부하다 기술계통으로 온 사람이라 내세울 건 자격증 뿐이고, 그나마 현장에서 크게 쓸모있던 적도 없습니다. 근데, 모르는 건 물어서 하면 됩니다. 걸어다니는 현장사전들이 있으니까요. 엑셀 모르면 엘리뜨 비서 보좌관들에게 맡기면 됩니다.
    누가 뭘 잘 하는지 아는 지식이야말로 21세기형 지식이 아니겠습니까. 혼자 꾸역꾸역 다 하려 드는 게 무지한 거고.

    답글삭제
    답글
    1. 아닌게아니라 프로그래머들이 흔히 하는 말이 있더라고요. '최고의 프로그래밍 언어는 영어다.' 제가 영어로 검색을 해서 대충 스크립트를 짜는 걸 보면, 맞는 것 같습니다.

      4차 산업혁명이니 뭐니 호들갑 떨기 전에 한국은 일단 한국어로 풍부한 정보를 축적할 궁리부터 해야 하는 나라라고 생각합니다. 한국어로만 읽고 쓸 때와, 영어를 편하게 읽을 수 있게 되었을 때, 제 지식과 정보의 폭이 너무도 달라졌습니다.

      삭제
    2. 제대로 된 인문학 연구자는 늘 "외국어를 통해 양질의 정보를 얻자"는 생각과 "이걸 한국어로 출판해야 할 텐데" 하는 생각을 같이 하지요.
      어찌됐든 모국어에 그 나라의 모든 게 담겨 있고, 학자는 모국어라는 전이해를 통해 세계를 사유하는데, 꼭 접해야 할 자료가 이미 번역이 되어 있다면 학계 전체의 효율성의 차원에서 원서를 붙들고 있는 것과 비교가 안 되죠.

      물론, 박 모 씨같은 여당 정치인이 통대학원생들 앞에서 "번역기로 하면 되지 않아요?" 드립 치는 나라에선 갈 길이 멉니다.
      Garbage in, garbage out입니다. 결국 번역기도 번역가의 수준을 따라가는 법이거든요. 제가 영어, 일본어를 읽고 듣고 말하고 쓸 줄 알고 불어, 독어를 읽을 줄 안다고 해도 전문 통번역 인력만 못하지요.

      지식의 본질을 파악하는 능력이 지성이라고 생각합니다. 지성 떨어지는 위정자와 입법자가 정부와 국회에 있으면 지식의 흐름은 집단 지성으로 이행하지 못하고 소수 엘리트에게 희생을 종용하길 계속하겠지요.

      삭제