들어가기 전에
프로그래밍이란 무엇일까요? 그리고 프로그램이라는 관점에서 Javascript와 HTML은 어떤 차이가 있을까요? 이런 질문에 대해서 이론적으로 공부해보는 시간을 가져봅시다.
학습 목표
프로그램, 프로그래밍, 프로그래머의 의미에 대해서 이해하고, Javascript와 HTML의 차이점을 프로그램의 관점에서 설명할 수 있습니다.
핵심 단어
- 프로그램, 프로그래밍, 프로그래머
- 컴퓨터 프로그래밍 언어
강의 듣기
들어가기 전에
프로그래밍이란 무엇일까요? 그리고 프로그램이라는 관점에서 Javascript와 HTML은 어떤 차이가 있을까요? 이런 질문에 대해서 이론적으로 공부해보는 시간을 가져봅시다.
학습 목표
프로그램, 프로그래밍, 프로그래머의 의미에 대해서 이해하고, Javascript와 HTML의 차이점을 프로그램의 관점에서 설명할 수 있습니다.
핵심 단어
강의 듣기
Javascript란 무엇인가?
HTML과 Javascript는 모두 컴퓨터 언어입니다. 하지만 HTML과는 달리 Javascript는 컴퓨터 프로그래밍 언어이기도 하지요.
그렇다면 여기에서 프로그램이란 무엇일까요? 흔하게 접할 수 있는 단어이지만, 막상 그 의미가 무엇인지 생각한다면 명확하게 대답하기 힘들 것입니다. 지금부터 프로그램에 대해서 알아보도록 합시다.
프로그램, 프로그래머, 프로그래밍
프로그램에는 순서라는 의미가 있습니다. 프로그래밍은 이러한 순서를 만드는 행위를 말하죠. 프로그래머는 이러한 순서를 만드는 일을 하는 사람을 의미합니다. 이러한 용어는 소프트웨어 분야 뿐만 아니라 다양한 분야에서도 사용되는 말입니다.
컴퓨터를 사용할 때에는 다양한 기능을 순서대로 사용하게 됩니다. 그리고 보통은 이러한 기능이 반복적으로 이용됩니다. 컴퓨터 프로그래밍 언어란 시간의 순서에 따라서 실행되어야 할 기능을 글로 적어두는 방식을 의미합니다. 작업이 필요할 때마다 적어둔 글을 컴퓨터가 실행하도록 건네주는 것이죠.
HTML과 Javascript의 비교
HTML로 만든 웹페이지는 시간의 순서에 따라 실행되지 않고, 한 번 만들어지면 바뀌지 않습니다. 때문에 HTML은 컴퓨터 프로그래밍 언어가 아닌 것이죠.
반면에 Javascript는 사용자와 상호작용하고, 이를 위해서 시간에 따라 여러 기능이 실행되어야 하기 때문에 프로그래밍이라는 형태를 띄게 됩니다. 따라서 Javascript는 컴퓨터 프로그래밍 언어라고 부를 수 있는 것입니다.
그리고 더 나아가서 시간에 따라 코드가 실행되는 것 외에도, 조건에 따라 다른 코드가 실행되도록 하거나, 같은 코드가 반복적으로 실행할 수 있는 방법도 고안하게 된 것입니다.
생각해보기
1) 이번 강의에서 HTML과는 달리 Javascript는 컴퓨터 프로그래밍 언어라는 것을 배웠습니다. 오늘 배운 내용을 바탕으로 HTML은 왜 프로그래밍 언어가 아닌지 스스로에게 설명해봅시다.
comment
동적이지 않기 때문이다.
html은 묘사를 목적으로 하는 정적인 언어이기 때문이다.
html은 시간의 순서에 따라 실행되지 않고 한번 만들어 지면 변경되지 않기때문에 프로그래밍언어가 아니다.
HTML은 정적인 언어라 순서를 정해 실행되지 않으니까
html은 정적이기 때문에
HTML은 절차가 없고(시간순), 제어문, 반복문 등이 없어서 복잡한 로직을 만들지 못하고 만들어진 태그를 이용해서 정적인 페이지의 간단한 소통을 만들어줍니다. 그래서 언어라고 하기엔 복잡한 로직을 표현할 수 없습니다.
html은 틀을 잡는 식으로 이용되는 정적인 언어이기 때문에
html은 시간에 따른 순서가 필요없이 한 번 만들어지면 변화가 없기 때문
Html은 구성을 나타내는 뼈대역할을 할뿐 시간에 영향을 받지 않는다.
과정이 없이 단순 짜여진 하나의 구성만을 노출시키는 정적인 페이지
HTML : 시간에 따른 순서가 필요없는, 데이터 구조들을 웹페이지에 명시하기 위한 마크업 언어
JS : 시간의 순서에 맞게 여러 기능들이 순차적으로 수행되는 동적인 언어
html은 상태변화가 없다.
html은 시간의 순서에 따라 바뀌지 않고 문서의 묘사를 나타낸다.
HTML의 목적은 데이터를 받아 보여준다의 의미라면, JS 사용자의 선택에 따라 다르게 보여질수 있으며 시간에 따라 변화가 생기게할 수도 있다.
프로그래밍 언어란 시간의 흐름에 따라 기능을 수행하는 것인데 HTML은 시간의 흐름에 따라 작동하는게 아니고 시간이 지나도 상태에 변화가 없다. 그렇기 때문에 프로그래밍 언어가 아니다.
HTML은 시간의 순서에 따라 실행되지 않는다.
HTML은 사용자의 필요에 따라 순차적으로 무엇인가를 실행하는 것이 아니고, 자바스크립트는 사용자의 필요에 따라 저장한 명령들이 순차적으로 무엇인가를 실행하는 것이다. 따라서 HTML은 프로그래밍언어가 아니다.
html은 순서에 관련이 없다. (단순히구조를 구현하는 것)
js는 순서대로 실행한다.
html은 프로그래밍언어가 아닌 마크업 언어이며 문서를 구조적으로 꾸미기위해 만들어진언어입니다
html -> language라고는 하지만 programming language라고 하지는 않음.
why? 시간의 순서에 따라 실행되는 것이 아니기 때문.
javascript -> language임과 동시에 programming language라고 할 수 있음.
program -> 실행할 기능을 "순서"에 맞게 만드는 행위를 말한다.