데브허브 | DEVHUB | HTML이 프로그래밍 언어인 이유 (선언형 언어 관점, 튜링 완전성 논점)HTML이 프로그래밍 언어인 이유 (선언형 언어 관점, 튜링 완전성 논점)
- HTML은 프로그래밍 언어인지 마크업 언어인지에 대한 논쟁이 있으며, 이는 언어 스타일과 튜링 완전성 논점으로 나뉩니다.💬
- 언어는 문제 해결 방법을 단계별로 지시하는 '명령형'과 원하는 바를 선언하는 '선언형' 스타일로 구분됩니다.📝
- HTML 태그(예: H1, P)는 브라우저가 렌더링 과정을 처리하도록 '무엇을 원하는지' 선언하는 함수 호출과 유사하여 선언형 프로그래밍 스타일과 잘 맞습니다.🌐
- HTML은 조건문이나 메모리 요청 기능이 없어 '튜링 완전하지 않다'는 이유로 프로그래밍 언어가 아니라는 비판을 받습니다.🚫
- 그러나 HTML은 웹페이지 생성을 위한 특정 목적의 언어이며, 데이터베이스 작업을 위한 SQL처럼 넓은 범주의 프로그래밍 언어로 분류될 수 있습니다.🛠️
- React의 JSX와 같이 마크업과 프로그래밍이 혼합된 최신 웹 기술은 언어 분류의 경계를 모호하게 하며, 더 유연한 관점을 요구합니다.💡
- 따라서 HTML은 범용적이거나 튜링 완전하지 않더라도, 웹페이지 콘텐츠를 선언적으로 지시하는 제한된 의미의 프로그래밍 언어로 볼 수 있습니다.✅