2021.03.18 일지

0후·2021년 3월 18일
0

비트캠프

목록 보기
103/112

프로그래밍 언어의 유형분류

프로그래밍 언어는 개발 편의성에 따라 저급 언어와, 고급 언어로, 실행하는 방식에 따라 명령형, 함수형, 논리형, 객체지향형 언어로 구현 기법에 따라 컴파일 방식의 언어, 인터프리터 방식의 언어, 혼합형 언어로 분류할 수 있다.

개발 편의성에 따른 분류

종류설명
저급언어기계가 이해할 수 있도록 만들어진 언어
ex) 기계어, 어셈블리어
고급언어개발자가 소스 코드를 작성할 때 쉽게 이해할 수 있도록 작성된 언어
ex) C, C++, 자바, 파이썬

실행하는 방식에 따른 언어 분류

종류설명
명령형 언어- 컴퓨터에 저장된 명령어들이 순차적으로 실행되는 프로그래밍 방식
- 절차형 언어라고도 불림
ex) FORTRAN, COBOL, PASCAL, C
객체지향 언어객체 간의 메시지 통신을 이용하여 프로그래밍 하는 방식
ex) 자바, C++
함수형 언어수학적 수식과 같은 함수들로 프로그램을 구성하여 호출하는 방식
ex) LISP
논리형 언어논리 문장을 이용하여 프로그램을 표현하고 계산을 수행하는 개념에 기반한 프로그래밍 방식
ex) 프롤로그

구현 기법에 따른 분류

종류설명
컴파일 방식의 언어- 고급 언어를 기계어로 번역하는 방식의 언어
- 컴파일러에 의해 실행에 필요한 정보가 미리 계산되어 실행 속도가 높음
ex) FORTRAN, PASCAL, C, C++
인터프리터 방식의 언어- 고급 언어 명령문을 하나씩 번역하고 실행하는 방식의 언어
- 프로그램 실행과 동시에 동작
ex) BASIC, 프롤로그, LISP
혼합형 방식의 언어고급 언어를 컴파일하여 중간 언어로 변환한 후, 인터프리터에 의해 번역을 실행하는 방식의 언어
ex) 자바

프로그래밍 언어별 특성

절차적 프로그래밍 언어 종류

종류설명
알골(ALGOL)- 알고리즘의 연구개발에 이용하기 위한 목적으로 생성
- 절차형 언어로는 최초로 재귀 호출이 가능
- 이후 언어의 발전에 큰 영향을 미침
C언어- 유닉스 운영 체제에서 사용하기 위해 개발한 프로그래밍 언어
- 모든 컴퓨터 시스템에서 사용할 수 있도록 설계된 프로그래밍 언어
베이직(BASIC)- 교육용으로 개발되어 언어의 문법이 쉬움
- 다양한 종류의 베이직이 존재
- 서로 다른 종류 사이의 소스 코드는 호환되지 않음
포트란(FORTRAN)- 과학계산에서 필수적인 벡터, 행렬 계산 기능 등이 내장된 과학 기술 전문 언어
- 산술 기호, 삼각함수, 지수함수, 대수 함수 등과 같은 수학 함수들 사용 가능

객체지향 프로그래밍 언어 종류

종류설명
C++- C++는 C문법에 객체지향 프로그램이 개념과 일반화 프로그래밍을 위한 템플릿 기능이 추가
- C++ 개발자는 원하는 많은 작업을 성능 하락이 없는 형태로 개발이 가능
- 직접 신경 써야 하는 것들(메모리 관리)이 많은 언어이기 때문에 개발이 어려움
C#- 마이크로소프트에서 개발한 객체지향 프로그래밍 언어
- C++과 자바의 문법과 비슷한 문법을 가지고 있음
- C#은 자바와 달리 불완전 코드(Unsafe Code)와 같은 기술을 통하여 플랫폼 간 상호 운용성 확보
자바(JAVA)- 자바는 썬 마이크로 시스템즈(Oralce 합병됨)가 개발한 객체지향적 프로그래밍 언어
- 현재 웹 애플리케이션 개발에 가장 많이 사용하는 언어
- 자바 컴파일러는 자바 언어로 작성된 프로그램을 바이트 코드라는 특수한 바이너리 형태로 변환
델파이(Delphi)- 기본적인 문법은 파스칼 문법에 여러 기능이 추가되어 존재
- 델파이는 윈도즈(Windows) 아래에서 모든 부분을 프로그래밍 할 수 있는 언어
- 높은 생산성과 간결한 코드가 대표적인 장점이고, C++와 비슷한 수준의 저수준 시스템 프로그래밍도 가능

스크립트 언어 종류

종류설명
PHP- 동적 웹 페이지를 만들기 위해 설계됨
- PHP로 작성된 코드를 HTML에 입력 시 웹 서버에서 해당 코드를 인식하여 작성자가 원하는 웹 페이지를 생성
- 인터페이스 방식의 자체 인터프리터를 제공
펄(Perl)- 인터프리터 방식의 프로그래밍 언어
- 실용성을 모토로 하고 있어 C, 쉘 스크립트(sh) 등 다른 프로그래밍 언어에서 뛰어난 기능을 많이 도입
- 불특정한 데이터 길이의 제약 없이 강력한 문자열 처리 기능을 제공
파이썬(Python)- 다양한 플랫폼에서 쓸 수 있고, 라이브러리(모듈)가 풍부
- 유니코드 문자열을 지원하여 다양한 언어의 문자 처리
- 들여쓰기를 사용하여 블록을 구분하는 문법 채용
- 다른 언어로 쓰인 모듈들을 연결하는 언어
자바스크립트(Javascript)- 객체 기반의 스크립트 프로그래밍 언어
- 웹 브라우저 내에서 주로 사용하며, 다른 응용 프로그램의 내장 객체에도 접근할 수 있는 기능이 존재
- 자바스크립트는 브라우저마다 지원되는 버전이 상이

선언형 언어 종류

종류설명
하스켈(Haskell)- 함수형 언어
- 패턴 맞춤, 커링, 조건제시법, 가드, 연산자 정의 등의 기능이 존재
- 재귀함수나 대수적 자료형도 지원
리스프(LISP)- 함수형 언어
- 수학 표기법을 나타내기 위한 목적으로 생성
- 트리 자료구조, 가비지 컬렉션, 동적 자료형과 인터프리터와 같은 개념 제시
- 함수 호출 시 함수 이름 혹은 연산자가 첫 번째로 위치하여 피연산자가 이어 위치
프롤로그(Prolog)- 논리형 언어
- 논리식을 기반으로 객체 간의 관계에 관한 문제를 해결하기 위해 사용
- 인공지능이나 계산 언어학 분야, 자연언어 처리 분야에서 사용
SQL- 특수분야 언어
- 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어
- 데이터베이스 관련 프로그램들이 SQL을 표준으로 채택
profile
휘발방지

0개의 댓글