사용 용도에 따른 컴퓨터 언어 분류
1. 문서 언어
- HTML : 마크업 언어로서 문서와 관련이 있으며 태그를 사용해 작성합니다.
- UML : 설계 언어로서 프로그램을 설계 할 때 사용하는 언어입니다.
2. 프로그래밍 언어
- 고급 언어(JAVA, C ..) : 자연어와 유사한 언어입니다.
- 기계어 : 환경에 따라 달라지는 언어입니다.
3. 스크립트 언어
- 클라이언트 : JavaScript가 있으며 동적 문서를 작성하는데 사용합니다.
- 서버 : JSP,ASP 등이 있으며 문서 작성하는데 사용하며 프로그래밍 요소를 가지고 있는 언어 입니다.
4. 작업 제어 언어
- OS와 밀접한 언어로 배치 작업 등을 처리하는데 사용합니다.
5. DB 언어
- 테이블 제작 및 각종 레코드들을 처리할 때 사용합니다.
UI에 따른 애플리케이션 분류
콘솔
- UI를 사용하지 않습니다.
- 개인용 프로그램
- 프로그램 드리븐으로 동작 : 프로그램 흐름을 프로그램이 주도합니다.
- 절차 지향적 성격을 가집니다.
윈도우
- 창을 UI로 사용합니다. => 창을 통해 입출력을 수행합니다.
- 개인용 프로그램
- 메시지 드리븐으로 동작 : 메시지에 의해 동작이 수행됩니다.
- 객체 지향적 성격을 가집니다.
서버
- 클라이언트 - 인터넷/웹 - WAS : 웹 어플리케이션 서버
- 인터넷/웹 을 통해 서버와 클라이언트를 연결 시켜 줍니다.
- 사용자 요청 드리븐으로 동작 : 사용자의 요청에 의해 동작이 수행됩니다.
- 객체 지향적 성격을 가집니다.
- 주로 엔터프라이즈 애플리케이션에서 이러한 방식으로 작성이 되며 다수의 사용자가 클라이언트를 통해 프로그램을 사용할 수 있습니다.
구성 단위에 따른 분류
함수형 프로그램
- 주로 이벤트핸들러, 병렬 처리를 할때 사용이 됩니다.
- 코드와 데이터를 분리한 구조입니다.
- 자바의 경우 람다식을 이용해 구현할 수 있습니다.
객체형 프로그램
- 실체를 구현한 객체 단위로 구성이 되있습니다.
- 코드와 데이터를 통합한 구조입니다.
설계 개념에 의한 분류
절차 지향 프로그래밍
- HW(하드웨어)는 순차적으로 실행 되는 구조로써 이를 고려한 제작 방식입니다.
객체 지향 프로그래밍
- HW를 고려하지 않고 실세계의 작업 처리 방식을 들고온 제작 방식입니다.
수행 환경에 의한 분류
OS 환경 프로그래밍
- 실제 OS위에서 직접 수행이 됩니다.
- OS별로 실행 구조가 달라 각 다르게 작성을 해야 합니다.
VM환경 프로그래밍
- VM(Virtual Machine) 환경 안에서 실제 기계와 매핑이 되며 동작됩니다.
- OS가 달라도 VM만 지원을 한다면 동일한 소스를 사용할 수 있습니다.