Markdown이란 무엇인가에 대해 설명하기에 먼저 개발자라면 누구나 겪었을 언어인 HTML에 대해 이야기하고자 한다.
HTML은 Hyper Text Markup Language의 약자로, 말 그대로 ‘마크업 언어’인 셈이다.
그럼 마크업 언어는 무엇일까? 개발을 하다 보면 흔하게 접하는 단어지만 막상 설명하자면 명쾌하게 정의가 되지 않는다. 평소 자주 사용하는 위키에서는 마크업 언어를 다음과 같이 정의한다.
마크업 언어(Markup Language)는 문서가 화면에 표시되는 형식을 나타내거나 데이터의 논리적인 구조를 명시하기 위한 규칙들을 정의한 언어의 일종이다. 데이터를 기술한 언어라는 점에서 프로그래밍 언어와는 차이가 있다.
거의 다 왔다. 마크다운 언어도 문서를 화면에 표시한다는 점에서는 동일하니 데이터의 논리적인 구조를 명시 한다는 점이 마크업 언어의 특징을 정확하게 나타낸다고 볼 수 있다. 따라서 컴퓨터가 이해하기 쉽고, 계층구조를 통해 데이터의 권한을 다르게 부여할 수 있다.
반면, 이와같은 특징으로 인해 사람은 한번에 이해하기 힘들다. 각 태그는 시작과 끝이 정확히 쌍을 이뤄야 하고 계층이 다양해질수록 언어의 가독성은 심히 나뻐진다. 이런 불편한 점을 해소하기 위해 등장한 언어가 마크다운이다. 간단한 문법만 익히면 초보자도 금새 능숙하게 다를 수 있으며 작성자 역시 한번에 글의 내용을 이해할 수 있다.
이 문서 역시 마크다운으로 작성했지만, 내가 한 일이라고는 메모장에 글을 쓰듯 내용을 정리하고 필요한 부분에 약간의 문법만 적용시켰을 뿐이다.
특히 스터디간 사용할 예정인 git에서는 Document를 ReadMe.md 파일로서 제공하므로 마크다운 언어의 사용을 강제하고 있다. 이 이유만으로도 마크다운문법을 익힐 이유는 충분하다고 생각되어 이 시간을 마련하게 되었다.