320x100
320x100

프로그래밍 언어의 분류

- 저급언어

 : 기계가 이해할 수 있도록 만들어진 언어

 : 기계어, 어셈블리어

 

- 고급언어

 : 사람이 이해하기 쉽게 만들어진 언어

 : C, C++, JAVA, 파이썬

 

- 절차지향 언어

 : 명령어가 순차적으로 실행되는 언어

 : 포트란, 코볼, 파스칼, C

 

- 객체지향 언어

 : 객체간 메시지 통신을 이용하여 프로그래밍하는 언어

 : JAVA, C++, Delphi, C#

 

- 함수형 언어

 : 수학적 수식과 같은 함수들로 프로그램을 구성하여 호출

 : LISP

 

- 논리형 언어

 : 논리 문장을 이용하여 프로그램을 표현하고 계산 수행

 : 프롤로그

 

 

 

구현 기법별 언어

- 컴파일 방식

 : 고급언어를 기계어로 한꺼번에 번역하고 실행하는 방식

 : 포트란, 파스칼, C, C++

 

- 인터프리터 방식

 : 명령어를 하나씩 번역하고 실행하는 방식

 : Basic, 프롤로그, LISP, 파이썬

 

- 혼합형

 : 컴파일 후 중간언어로 변환한 뒤 인터프리터에 의해 번역 실행

 : JAVA

 

 

 

절차지향 프로그래밍 언어별 특성

- ALGOL

 : 알고리즘 연구 개발을 위해 탄생

 : 재귀 호출 가능

 

- C : 유닉스 운영체제를 위해 개발된 프로그래밍 언어

 

- Basic : 교육용 언어

 

- 포트란 : 과학 계산에 필수적인 기능들이 내장된 과학 기술 전문 언어

 

 

 

객체지향 프로그래밍 언어별 특성

- C++

 : C문법에 객체지향 개념과 일반화 프로그래밍을 위한 템플릿 추가

 : 성능하락없이 개발이 가능하나 메모리를 직접 관리해야하는 어려움 존재

 

- C#

 : MS에서 개발한 객체지향 언어

 : C++ 및 JAVA와 비슷한 문법 / Unsafe Code를 도입하여 플랫폼 간 상호 운용성 확보

 

- JAVA

 : sun microsystems에서 개발한 객체지향 언어

 : 자바 컴파일러는 자바언어를 바이트 코드라는 형태로 반환

 

- 델파이

 : 파스칼 문법에 기능 추가

 : 윈도우즈 아래에서 모든 부분을 프로그래밍 가능

 : 높은 생산성 / 간결한 코드 / 저수준 프로그래밍 가능

 

 

 

스크립트 언어

- PHP

 : 동저 웹 페이지를 위해 설계

 : 인터페이스 방식의 자체 인터프리터 제공

 

- Perl

 : 인터프리터 방식

 : C 및 쉘 스크립트의 장점을 도입

 : 강력한 문자열 처리기능

 

- 파이썬

 : 다양한 플랫폼에서 사용가능 / 풍부한 라이브러리

 : 유니코드 및 들여쓰기 도입

 : 다른 언어로 쓰인 모듈들을 연결

 

- 자바스크립트

 : 객체기반의 스크립트 프로그래밍 언어

 : 웹 브라우저 내에서 주로 사용

 

 

 

선언형 언어

- Haskel (함수형)

 : 패턴 맞춤, 커링 등 기능과 재귀함수 및 대수적 자료형 지원

 

- LISP (함수형)

 : 수학 표기법을 나타내는데 최적화

 : 트리구조, 가비지 컬렉션 등

 

- 프롤로그 (논리형)

 : 논리식을 기반으로 객체간 관게 문제풀이에 최적화

 

- SQL (특수목적)

 : 관계형 데이터베이스를 다루기 위한 언어

 

 

 

객체지향

- 객체

 : 개체, 속성, 메서드로 구성된 클래스의 인스턴스

ㆍ개체 : 본질

ㆍ속성 : 자료 저장소 역할 (변수)

ㆍ메서드 : 호출단위 (함수)

 

- 클래스 : 객체를 표현하는 추상 데이터 타입 (객체 생성 틀)

- 메시지 : 객체간의 통신

 

 

 

라이브러리

- 필요할때 찾아 쓸 수 있도록 모듈화 되어 제공되는 프로그램

 

- 구성

ㆍ도움말

ㆍ설치파일

ㆍ샘플코드

 

- 종류

ㆍ표준 라이브러리 <프로그래밍 언어에서 기본 제공>

ㆍ외부 라이브러리 <추가적인 파일 설치 필요>

 

- 기능

 : 문자열 연산, 탐색, 치환

 : 수치 계산 / 난수생성 

 : 파일 경로 조작 / 디렉터리 생성

 : 날짜조작 / 로그 출력

 

- 하위개념

ㆍ모듈 : 전역변수, 함수 등을 모아놓은 파일

ㆍ패키지 : 모듈을 디렉터리 형식으로 구조화한 라이브러리

 

300x250
728x90