정적언어, 동적언어, 정적 프로그래밍, 동적 프로그래밍....자칫 헷가릴 수 있는 개념들을 정리해보고자 한다.
타입은 자료형을 뜻한다. 우리가 흔히 아는 int, short, float, bool 등이 있다.
정적언어는 바로 그 Type을 컴파일 시에 결정한다. 변수에 들어갈 값의 형태에 따라 자료형을 지정해주어야 한다. 컴파일 시에 자료형에 맞지 않은 값이 들어가 있으면 컴파일 에러가 발생하게 된다.
동적언어는 Type을 컴파일시 정하는것이 아니고 런타임시(실행 도중) 결정한다. 타입 없이 변수만 선언하여 값을 지정할 수 있다.
정적 프로그래밍은 웹서버에 미리 보여줄 HTML 페이지, CSS, 이미지, 자바스크립트 파일 등을 저장해놓고 브라우저에서 요청할 경우 그대로 전달하는 방식이다. 따라서 사용자는 페이지가 변경되지 않는 한 고정된 웹 페이지를 보게 된다.
정적 프로그래밍의 단점을 극복한 방식으로, 서버에 있는 데이터들을 스크립트에 의해 가공처리한 후 생성되어 전달되는 방식이다. 서버는 사용자의 요청을 해석하며 데이터를 가공한 후 생성되는 웹페이지를 내보낸다. 정적 웹프로그래밍과 달리 사용자는 상황, 시간, 요청 등에 따라 달라지는 웹 페이지를 보게 된다.
정적 웹 프로그래밍에서는 관리자가 서버에 정보를 수시로 업데이트해야 하던 과정을, 동적 웹프로그래밍에서는 엡 애플리케이션 서버(WAS)에서 수행한다. 이런 기술에는 JSP, ASP, PHP 등이 있다.