728x90
프로그래밍 언어란?
- 계산 과정을 기계가 읽을 수 있고 사람이 읽을 수 있도록 기술하기 위한 일종의 표기법
- 계산(Computation)
- 데이터 조작
- 텍스트 처리
- 알고리즘
- 기계 읽기(Machine readability)
- 효율적인 번역 혹은 실행
- 사람 읽기(Human readability)
- 프로그래밍 편의성
- 컴퓨터 연산들의 이해하기 쉬운 추상화
- 계산(Computation)
프로그래밍 언어 패러다임
명령형 프로그래밍(imperative programming)
- 문제를 해결하는 절차(명령)을 기술하는 방식의 프로그래밍(명령어 순서대로!)
- C, Pascal, Ada, Python
함수형 프로그래밍(functional programming)
- 프로그램의 계산 과정을 수학 함수 형태로 프로그래밍
- 프로그램은 함수 정의들로 구성됨.
- Lisp, Scheme, ML, Haskell
논리 프로그래밍(logic programming)
- 정형 논리(formal logic)를 기반으로 한 프로그래밍
- 프로그램은 문제에 대한 사실/규칙을 표현하는 논리 문장으로 정의된다.
- Prolog
객체지향 프로그래밍(object-oriented programming)
- 객체 개념을 기반으로 하는 프로그래밍
- 프로그램 실행은 객체 사이의 상호작용에 의해 이루어진다.
- C++, Javca, C#, Objective-C, Swift
- Python, Visual Basic
프로그래밍 언어 발전 과정
프로그래밍 언어 사용 현황
프로그래밍 언어의 발전 과정
- 역사적 발전 과정
- 최초의 컴퓨터(ENIAC)가 만들어지면서 프로그래밍 언어가 개발되기 시작했을 것이다.
- 컴퓨터
- ⭐폰 노이만 모델 컴퓨터 → 적어도 공대생이면 알아야 할 지식 중 하나
- 초창기 프로그램 ⇒ 컴퓨터에 명령하는 기계어 명령어들로 작성했다.
Von Neuman Model Computer
- 프로그램 내장 방식 컴퓨터이다.
- stored-program computer
- 메모리에 프로그램(명령어와 데이터) 저장
- 메모리에 저장된 명령어들을 순차 실행한다.
- CPU sequentially execute instructions in memory
- PC : 다음 실행할 명령어를 가리키는 레지스터
- 명령어
- 메모리에 저장된 값을 조작 혹은 연산
- instructions operate on values stored in memory
- CPU의 인출-해석-실행(fetch-decode-execute) 주기 반복
- CPU는 메모리 내에 저장되어 있는 프로그램의 명령어를 한 번에 하나씩 가져와서 해석하고 실행한다.
명령형 언어(Imperative language)
- 명령형 언어의 발전
- Imperative programming languages began by imitating and abstracting the operations of von Neuman model computer
- 예
- Fortran, C, Basic, …
- 폰 노이만 모델 컴퓨터의 특징을 많이 갖고 있음!
- 순차적 명령어 실행
- 메모리 위치를 나타내는 변수 사용
- 대입문을 사용한 변수 값 변경
- 사람의 필요보다는 컴퓨터 모델을 기반으로 한 언어
'Computer Science > 프로그래밍 언어론' 카테고리의 다른 글
03. 구문법(Syntax) (0) | 2023.07.24 |
---|---|
02. 추상화(Abstraction) (0) | 2023.07.21 |