단호주의) HTML은 프로그래밍 언어가 아닙니다.
유형: 개발새발
저도 배우다보니 생각보다 많은 논쟁?도 있고,
사실 조금은 헷갈리는 주제인 HTML에 대해서 제 생각을 적어봅니다.
우선 HTML에 대한 제 의견은
HTML는 언어는 맞는데, 프로그래밍 언어가 아닙니다
( 이제 아래문장부터는 '제 생각에는' 또는 '제 의견은'이라는 말은 제외하겠습니다. 당연히 뇌피셜 & 100프로 느낀점이거든요 ㅋ)
일단,
프로그램은 컴퓨터가 어떤 일을 할 수 있도록 지시하는 명령어들의 모음이에요.
즉, 프로그램 언어는 우리가 컴퓨터에게 무언가를 시킬 때 쓰는 특별한 언어입니다.
프로그래밍 언어는 몇가지 요소가 있습니다.
1)명령어
"컴퓨터야? 내말듣고 있지? 너는 이제 부터 이걸해!"
프로그래밍 언어는 컴퓨터에게 무엇을 할지 지시할 수 있어야 합니다.
(예를 들어, 계산을 하거나, 데이터를 저장하거나, 그림을 그리거나 등등...)
2)논리구조
'if', 'else', 'while' 'for'와 같은 논리적인 구조가 있어야 합니다.
논리구조가 있어야 조건에 따라 컴퓨터가 다르게 행동할 수 있도록 해줘요.
3)변수
변수와 데이터, 즉 우리가 명령을 할때 뭔가를 지정하고, 그걸 시키려면, 데이터를 저장하고 처리할 수 있는 기능이 있어야 합니다.
예를 들면,
"컴퓨터야! 이 가방안에 내가 여행용품을 넣었고, 이제 부터 이건
여행가방이라고 부를거야!"
"컴퓨터야! 여행가방을 작은방에 넣어줘!"
이런식으로 내가 뭔가를 정하고,그걸 내마음대로 명령할수있어야 합니다.
하지만, HTML은....
HTML은 무엇의 약자일까요?
지난번에 말했듯이 HTML: HyperText Markup Language의 줄임말이라는데,
그냥 직관적으로 해석을 한다면
HyperText: 다른 페이지로 연결할 수 있는 텍스트
Markup Language: 문서의 구조를 표시하는 언어
다른 페이지로 갈수있게 해주는, 텍스트(웹페이지)의 구조를 만드는 언어예요.
즉, 컴퓨터한테 페이지의 구조를 설명하고,
컴퓨터는 구조를 지정한 법칙?에 따라 수행만 하는겁니다.
언어라고 부르기에는 위 언급한 내용이 없습니다.
명령어 부족: HTML로는 컴퓨터에게 직접적인 명령을 줄수 없습니다. 단지 웹페이지의 구조를 설명할 뿐입니다.
논리 구조 없음: HTML에는 'if', 'else' 같은 논리적인 구조가 없습니다.그래서 조건에 따라 다르게 행동할 수 없습니다.
변수와 데이터 없음: HTML은 데이터를 저장하거나 처리할 수 없고, 단지 텍스트와 이미지 등을 나열할 뿐입니다.
결론
HTML은 웹페이지의 구조를 만드는 데 사용되는 언어로, 프로그래밍 언어는 아닙니다.
만일,
내가 일기에 글과 그림을 그리고 싶은데 직접 그릴수가 없어 남(컴퓨터)한테, 지시를 한다면
"첫 줄에는 글씨를 ㅋ크게 쓰고, 조금 아래에 제목: 일기라고 써줘"
"두 번째 줄은 박스를 그려서 그안에 그림을 넣을거야"
어떠세요? 의사가 정확히 전달되기 힘들겠죠?
구체적이지 않죠. 그러니까~글씨를 크게 얼마나 크게?
박스의 크기는?박스는 무슨 굵기로?그림을 어떻게?
그래서, 약속된 규칙을 정하고 그걸로 소통하는겁니다.
그래서
글씨의 크기를 정하는 규칙을 만들자. 가장 큰 글씨는 H1이라고 할거고, 그다음 H2.....
너무 많으면 안되니 H6까지만 할까?
가로줄은 HR이라고 하자.
그런데, 어떤게 글씨고 어떤게 규칙인지 모르겠으니, 규칙은<>이런식으로 가로안에 넣고 규칙명을 넣자
규칙이 언제 시작해서 언제끝나는지 모르니, 시작은 <규칙명>으로 하고 끝날때는 </규칙명>이라고 하자
글은 <규칙명> 글 </규칙명>이라고 하면 되겠네.
<>
그래서 규칙만 있고 프로그래밍 언어가 갖추어야할 요소가 없으니, 마크업 언어라고 하는겁니다.
살짝 머리 아프겠지만, 그냥 그러려니 하시면 됩니다.
자!자! 웃고 넘어가시죠
그럼 다음에 다른 글로 뵙지요
# 나도 내가 쓴글이 뭔지 모르겠다 #예를들어