본문 바로가기
프로그래밍

프로그램 언어의종류와 특징

by violetoz 2013. 5. 14.

 http://blog.naver.com/seungp916/60155089993

1) 저급 언어와 고급 언어

① 저급 언어 (Low-Level Language)

- 기계 중심의 언어

- 실행 속도가 빠름

- 상이한 기계에서 수정을 해야 실행 가능하다

 

기계어 (Machine Language) : 컴퓨터가 직접 이해할 수 있는 언어, 0과 1의 2진수 형태로 표현되며 수행시간이 빠름

전문적인 지식이 없으면 프로그램 작성 및 이해가 어렵다, 기종마다 기계어가 다르므로 언어의 호환성이 없음

프로그램 유지보수가 어렵다.

 

어셈블리어 (Assembly Language) : 기계어와 1:1로 대응되는 기호로 이루어진 언어, 기호 코드(Mnemonic Code)라고도 함

기계어와 가장 유사하며, 기계어로 번역하기 위해서는 어셈블러(Assembler)가 필요함

 

② 고급 언어 (High-Level Language)

- 사람 중심의 언어

- 실행을 위해서는 번역하는 과정이 필요함

- 상이한 기계에서 별다른 수정 없이 실행이 가능함

 

-  포트란 (FORTRAN) : 과학 계산용 언어로서, 뛰어난 실행 효율성으로 성공한 언어

-  코불 (COBOL) : 회사의 사무용 자료처리 언어로 개발되었다. 기계 독립적인 부분과 기계 종속적인 부분을 분리하는데 성공한

                           언어이다.

 

-  ALGOL : 알로리즘의 연구개발을 위한 목적으로 개발된 언어, 실무보다는 주로 교육용으로 사용되었다.

-  LISP : 리스트 처리용 언어, 인공지능 분야에서 주로 사용되었다.

-  APL : 고급 수학용 프로그래밍 언어

-  PL/1 : 과학, 공학 및 산업 응용 프로그램을 위해 개벌된 명령형 프로그래밍 언어

-  BASIC : 교육용으로 개발된 프로그래밍 언어

-  SNOBOL : 스트림 자료 활용이 가장 많은 언어, 문자열 대치, 복사, 치환 등과 같은 문자열의 조작을 편리하게 수행할 수 있도록

                   여러 가지 기능을 제공함

 

-  Pascal : 간결하면서도 강력한 언어로 손꼽히고 있다. 교육용 언어로는 뛰어나다는 평가를 받고 있다

-  PROLOG : 논리 기반의 비절차적 언어, 인공지능 분야에서 주로 사용되었다

-  Ada : 미 국방성의 주도로 개발된 고급 프로그램 작성 언어, 데이터 추출과 정보 은폐에 주안점을 두었고, 입출력 기능이 뛰어나서 대량 자료 처리에 적합함

 

-  C : 1972년 미국 벨연구소의 데니스 리치에 의해 개발된 언어, 고급 언어 프로그래밍과 저급 언어 프로그래밍도 가능하다

시스템 프로그래밍에 가장 적합한 언어이다.

 

-  Java : 썬 마이크로시스템즈에서 개발한 객체 지향 프로그래밍 언어이다.

 

③ 저급 언어와 고급 언어의 특징

구분

고급 언어

저급 언어

  호환성

  좋다.

  나쁘다.

  용이성

  쉽다.

  어렵다.

  실행속도

  상대적으로 느리다.

  빠르다.

 

2) 객체지향 프로그래밍 언어

① 객체지향 프로그래밍 언어의 개념

- 현실 세계의 현상을 컴퓨터상에 객체(Object)로 모델화함으로써, 컴퓨터를 자연스러운 형태를 사용하여 여러 가지 문제를 해결할 수 있는 언어이다.

 

- 절차적 언어에 비해 특히 유지보수성(Maintainalbility) 과 재사용성(Reusability) 이 좋다.

- 종류 : Ada, Smalltalk, C++, Java 등

 

② 객체지향 언어의 기본 구성 요소

  객체(Object)

  - 데이터와 메소드로 구성된다

  - 데이터(Data) : 객체가 가지고 있는 정보로서, 속성(Attribute)이라고도 한다

  - 메소드(Method) : 객체가 메시지를 받아 실행해야 할 구체적인 연산을 정의한다

  클래스 (Class)

  - 하나 이상의 유사한 객체들을 묶어서 하나의 공통된 특성을 표현한 것이다.

  메시지 (message)

  - 객체들 간의 상호작용을 위한 수단으로 사용되며, 메시지를 받은 객체는 메소드를 수행한다.

 

③ 객체지향 언어의 주요 특징

-  캡슐화 (Encapsulation) : 데이터와 메소드를 하나로 묶는 것으로, 객체 내부에서 필요로 하는 정보를 외부로부터 은닉시킨다

-  추상화 (Abstraction) : 객체의 불필요한 부분은 숨기고 객체의 속성 중에서 가장 중요한 것에만 중점을 두고 모델화하는 것

-  상속 (Inheritance) : 이미 정의되어 있는 상위 클래스와 메소드를 비롯한 모든 속성을 하위 클래스가 물려받는 것이다.

'프로그래밍' 카테고리의 다른 글

BMP 구조4  (0) 2013.05.14
스마트 포인터  (0) 2013.05.14
Hexagon  (0) 2013.05.14
보간  (0) 2013.05.14
palindrome 회문  (0) 2013.05.14