HTMl은 프로그래밍 언어? 마크업 언어?
프로그래밍 언어
- 컴퓨터 시스템을 구동시키는 소프트웨어를 작성하기 위한 언어, 즉 컴퓨터에게 일을 시키기 위한 언어
- 메모리에서 데이터를 읽고, 데이터에 대한 조건부 논리를 제공하고, 반복적으로 논리를 실행하는 프로그래밍을 할 수 있는 방법을 제공
- 데이터를 관리하는 방법대로 변수를 선언하고, 변수에 값을 할당하는 방법을 제공
- 파이썬(Python), 자바(Java)
마크업 언어
- 태그 등을 이용해서 문서나 데이터의 구조를 표현하는 언어
- 웹사이트를 제작할 때 골격에 해당하는 부분을 만들어줌
HTML은 조건문, 변수, 반복 루프가 없기 때문에 프로그래밍 언어가 아니라 마크업 언어
→ HTML은 프로그래밍 언어에 해당하는 기능들을 지원하지 않기 때문
HTML, CSS, JAVASCRIPT 비교
HTML(Hyper Text Markup Language, 하이퍼텍스트 마크업 언어)
- Hyper Text는 단순 텍스트를 넘어 웹 페이지의 특정 부분과 연결되는 기능을 가진 링크를 의미합니다.
- Markup Language는 프로그래밍 언어의 한 종류로 정보를 구조적이고 계층적으로 표현할 수 있어요.
- 웹 페이지의 구조를 표현
- <head>, <body> 등 html 태그를 이용하여 헤더, 본문을 지정하고 어떤 이미지가 출력될지 지정
CSS(Cascading Style Sheets, 캐스케이딩 스타일 시트)
- HTML의 구성요소들이 표시되는 방법을 개선할 때 사용되는 스타일 시트 언어
- HTML로 만들어진 문서의 (컬러, 폰트 스타일, 레이아웃, 반응형 특징 등의) 스타일을 지정
- 정적인 언어이지만, 웹페이지가 시각적으로 더 매력적으로 보일 수 있도록 도와줌
- 글자 폰트, 크기, 배경색, 글자색 등
JS(자바스크립트)
- 마우스나 키보드 입력에 따라 웹페이지가 동작하는 것을 담당하기 때문에 웹페이지를 인터랙티브하게 만듦
- 웹사이트가 로딩된 이후에 CSS와 HTML 구성요소들을 변경
- 셋 중에서 가장 복잡한 언어
정리
- HTML: 웹사이트의 구조를 제공
- CSS: 그 웹사이트가 보이는 모습을 제어
- JS: 웹페이지에 포함되어 있는 다양한 구성요소들의 동작을 변경하는 도구를 제공
HTML의 역사
1) HTML 1.0
- 다양한 환경에서 동일한 웹페이지 콘텐츠를 열람할 수 있도록 표현성을 통일하기 위해서 생김
- HTML의 첫 버전
- 웹페이지를 제작, 웹을 이용하는 사람이 매우 드물어 표현할 수 있는 데이터가 매우 한정적
2) HTML 2.0~HTML 3.2
- 점점 사람들이 웹을 사용하고 제작
- 콘텐츠에 더 많은 정보를 표시해야 했고, 자연스럽게 많은 사용자들이 HTML의 표준화를 위해 노력
- 현재까지도 사용 중인 실용적인 태그들이 이 때부터 등장
3) HTML 4.01
- 격변의 시기를 지나, 드디어 안정기에 접어드는 시기
- CSS로 디자인 요소를 구분하고, HTML은 웹페이지의 구조만을 표현하는 것을 원칙\
- W3C(웹의 표준을 정의하는 국제 컨소시엄)에서는 HTML로 이미 다양화된 웹페이지를 모두 표현하기엔 한계라 생각해서 더 이상의 업데이트는 없다고 발표
4) XHTML 1.0
- XML과 HTML을 합성하여 더 확장된 태그를 사용하게 되었고, 문법의 정확도를 더욱 엄격하게 적용하는 새로운 웹의 표준, XHTML이 출현
- XHTML은 하위 버전의 호환성을 지원하지 않아 이전 태그로 작성된 부분이 사용될 수 없다는 불편함
- 문법이 정확하게 지켜지지 않는다면 아예 표현되지 않았기 때문에 실제로 사용하기가 어려움, 불편함을 많이 느낌
5) HTML5
- W3C에서 불편했던 XHTML을 표준으로 설정
- 대중적인 브라우저를 가지고 있던 기업들끼리 힘을 합쳐 HTML을 계승하는 언어를 만듦 -> HTML5의 시초
- 결국 W3C도 XHTML을 탈락시키고, 이 표준을 따르게 됨
- 지금의 HTML5와 CSS3가 표준으로 확정
자료 출처
https://www.inflearn.com/pages/infmation-61-20230404
'FrontEnd' 카테고리의 다른 글
[자바스크립트] 자바스크립트 언어 특징 및 문법 (0) | 2023.04.23 |
---|---|
[CSS3] CSS3로 웹 페이지 꾸미기 (0) | 2023.04.22 |
[HTML5] HTML5 문서 구조화 (0) | 2023.04.20 |
[HTML5] HTML5 기본 문서 만들기 (0) | 2023.04.20 |
웹 프로그래밍 개요 (0) | 2023.04.18 |
댓글