문과 마케터의 눈물
나의 첫 회사는 IT 회사였다. 말인 즉슨, 개발자가 넘쳐나, “어..?”가 금지인 회사였다. 어떤 회사원이 안 그러겠냐만은 개발자는 특히 작은 이슈에 예민한 직무이다. 작은 실수가 회사 전체를 패닉에 빠뜨릴 위험이 될 수 있기 때문이다. 사소하게 “어..?”정도로 시작했지만, “어..?로 끝날 수 있는 일이 아니라 “엄마ㅠㅠ..”가 될 수 있다. 하지만 첫 회사에서 느낀 개발 직무에 대한 느낌은 이 정도가 전부였다. 특히나 디자인 적인 일이 대부분인 마케터 였기에, 일적으로 마주칠 일이 별로 없었다. 그저 개발자 동기의 푸념을 들으면, ‘한국말이 맞는건가?’ 싶은 정도였다. 그게 또 멋있었다.
추노 생활 열심히 하고 돌고돌아 지금 또 다시 IT회사로 이직했다. 지금의 회사는 첫 회사와는 다르게, 개발자를 이해할 수 있어야 하는 마케터가 되었다. 어느정도의 이해냐면, ‘안드로이드 앱에 Koin으로 DI를 적용한다’ 등의 문장이 어떤 말인지 알 수 있어야 하는 정도였다.
그렇게 동공지진을 넘어서, 동공팝핀을 일으키며 온보딩을 하고 있던 와중에 사수에게 질문을 하나 받았다. “이전에 개발하는 것에 대해 관심이 있다고 했잖아요. 혹시 공부하고 있는 프로그래밍 언어가 있어요?”라는 질문이었다. 나는 당당하게 “아, 저는 HTML이랑 CSS 짧게 공부하고, 지금은 자바스크립트 공부하고 있어요! 정말 어렵더라고요.”라고 답했다. 돌아온 대답은 “아, 또 아시겠지만 HTML은 프로그래밍 언어가 아니라서~ 자바스크립트는 좀 하다보면 익숙해 질 거예요.” 였다.
개발자가 말하는 ‘언어’란 무엇인가
사실 이전부터 공부하며 ‘HTML은 개발언어가 아니다’ 라는 것 정도는 알고 있었지만, 이유는 정확히 알지 못했다. 속으로 ‘왜지..?’하면서 생각해 보다가, ‘그러면 또 프로그래밍 언어는 뭐지?’하는 생각에 다다랐다.
언어의 사전적 정의를 보면 ‘사람의 생각을 글자로 나타내는 수단’ 이라 나온다. 이를테면 한국어, 영어, 베트남어 등 과 같은 것이다. 만약에 한국인인 내가 영어를 유창하게 잘 해서 미국인과 프리토킹이 가능하다면 좋겠지만, 아쉽게도 나는 그렇지 못하다. 이럴 때 우리는 ‘파파고’같은 번역기를 사용한다. 프로그래밍 언어란 바로 ‘파파고’같은 것이다. 내가 컴퓨터나, 핸드폰에게 무언가 일을 시키고 싶을 때, 기계들이 알아들을 수 있게끔 프로그래밍 언어로 작성하는 것이다. 프로그래밍 언어는 들어봤을 법한 파이썬, 자바스크립트, C언어 등이 있다.
”HTML은 프로그래밍 언어가 아니다”짤의 진실
그렇다면 왜 HTML은 프로그래밍 언어가 아닐까? 이는 HTML이 어떤 단어의 약자인지를 보면 알 수 있다. HTML은 Hyper Text Markup Language 의 약자이다. HTML은 프로그래밍 언어가 아닌 Markup 언어이다. 우리는 워드로 글을 작성할 때, 여러가지 기능들을 활용해 작성한다. 밑줄을 칠 수도 있고, 글씨체를 바꿀 수도 있으며, 글자에 링크를 걸 수도 있다. 이런 기능을 하는 것이 마크업 언어이다. 하나의 프로그래밍 언어를 입력하면 프로그램이나 웹사이트가 되지만, 마크업 언어를 입력하면 그냥 보기좋게 정리된 하나의 문서같은 페이지가 된다.
그러니까 결론은
- 개발자가 말하는 ‘언어’는 컴퓨터, 핸드폰 등과 소통할 수 있는 언어를 말한다.
- HTML은 마크다운 언어이기 때문에 프로그래밍 언어가 아니다
그렇다고 HTML을 하는 사람을 “개발자가 아니다!” 라고 하는 것은, 논쟁거리가 될 수 있는 무례한 행동으로 비춰질 지 모르니 쉽게 사용하지 말아야 한다. 개발자의 ‘무엇이든 물어보살’ 같은 사이트 스택오버플로우에서는 예전에 이와 같은 질문이 나왔었는데 이에 대한 코멘트로 ‘적합한 질문이 아니다’라는 내용이 적혀있다고 한다.