본문 바로가기

언어/_PHP&MySQL

[영남이공대학교 사이버보안과]PHP정리-1.컴퓨터와 언어에 대해알아보자!

※컴퓨터와 언어

→언어(Language)

-자신의 생각이나 느낌을 표현히기 위한 문자나 음성등의 수단과 체계

-일종의 ‘약속’ 그언어를 사용하는 사람들이 오랜시간 동안 만들어온 규칙과 체계


→기계어와 어셈블리어

-기계어(Machine Language)

·기계가 사용하는 언어로, 컴퓨터의 주언어

·“0”과 “1”로 구성


→어셈블리어(Assembly Language)

-인간이 기계어를 제대로 이해하고 프로그램을 작성하는 것은 어렵고 효율이 떨어짐.

-기존의 숫자로 이루어진(binary)명령어를 사람이 보기 쉽게 영문으로 변경(효율증가)

-기계어보다는 편리하나 어셈블리어로 프로그램 작성은 여전히 어려움.


→고급 프로그래밍 언어

-기계어보다 이해하기 쉽게 정확하고 간결한 언어

-어셈블리어와 같은 언어와 구분 짓기 위해 붙여진 이름

-저급 언어

 ·어셈블리어처럼 컴퓨터 입장에서 프로그램을 작성하는 언어

-고급 언어

     ·인간이 이해하기 쉽게 만들어진 언어

 ·인간의 언어를 명확하고 간결하게 하여 컴퓨터가 이해할 수 있게 하는 언어

-통역사를 통해 컴퓨터가 이해할 수 있는 기계어로 변경됨

 ·컴파일러(Compiler)와 인터프리터(Interpreter) : 고급 프로그래밍 언어를 통역.




→컴파일러(Compiler) → C, C++, JAVA, Delphi등...

-A라는 언어로 만들어진 코드를 B라는 언어로 변환하는 프로그램

 ·어떤 언어든지 다른 언어로 변환할 수 있다면 일종의 컴파일러라 할수 있음.

-고급 언어의 코드 ⇒ 어셈블리어로 변환해주는 컴파일러

-어셈블리어 ⇒ 기계어로 변환해주는 어셈블러(Assembler)

 ·C언어 : 컴파일러가 어셈블리어를 생성, 생성된 어셈블리어를 기계어로 변환.

 ·JAVA : 바이트 코드라는 플랫폼에 독립적인 중간 코드 생성.


→인터프리터(Interpreter)

-Basic, perl, PHP 그 외 많은 스크립트 언어들이 사용

-프로그램을 실행할 때마다 한 줄씩 코드를 해석,(컴퓨터가 알 수 있는)기계어로 변환

-컴파일된 프로그램보다 속도 느림.

-PHP가 인터프리터 방식을 사용하는 이유.

 ·소스 코드의 유지보수 떄문.

 ·PHP의 경우 소스코드를 직접 서버에 업로드하여 작업 ⇒ FTP를 지원하는 에디터 프로그램을 이용, 저장


-JSP, ASP, .NET 등 웹 언어에서는 인터프리터 방식과 컴파일러 방식을 혼용하여 사용

 ·속도를 향상시킬 수 있음.

 ·최초로 실행된 경우 컴파일 작업하고 두 번째 접근부턴 이미 컴파일된 파일 재사용.

 ·소스 코드 수정 시 다음 번 접속에서 다시 한번 컴파일 작업이 실행.