[프로그래밍언어론] 1. 개념과 패러다임

2023. 9. 5. 15:24·프로그래밍언어론
목차
  1. PL(Programming Language) 개념과 패러다임
우리는 주로 소프트웨어 개발을 할때 프로그래밍 언어를 주로 "사용" 해왔다.
그렇다면 프로그래밍 언어를 "만드는" 것은 어떤가?
프로그래밍 언어론은 좋은 프로그래밍 언어를 설계하는 방법과 프로그래밍 언어 개발을 위한 기반을 구축하는 방법을 다룬다.

 

많은 프로그래밍 언어는 유사한 패러다임을 따르는 유사한 개념을 다르게 구현한다.
예를 들어 "정렬 프로그램"을 생각해 보자.
다양한 언어는 각각의 다양한 알고리즘을 구현을 통해 정렬 프로그램을 작성할 수 있다.
각각의 프로그램은 뭔가를 나름대로 순서대로 정리할 것이다.

 


 

이번 강좌를 통해

  • 프로그래밍 언어의 설계 원리와 개념
  • 프로그래밍 언어의 설계와 구현 방법
  • 다양한 그로그래밍 언어 패러다임
  • 프로그래밍 언어의 종류

등에 대하여 공부한다.

 


PL(Programming Language) 개념과 패러다임

PL 개념: 개별 기능에 가깝다.

  • 데이터 유형(data types)
  • 제어 흐름(control flow)
  • 표현식(expression)
  • 명령문(statements)
  • 변수(variables)
  • 함수(functions)


PL 패러다임: PL이 따르는 원칙과 전략이다.

  • 절차적(Procedural)
  • 명령형(Imperative)
  • 객체 지향(Object oriented)
  • 함수적(Functional)
  • 논리(Logic)

 


PL은 공통 개념과 패러다임을 공유한다.
예를 들어 "두 변수를 비교하여 뺀 값을 반환하는 함수"를 여러 언어로 표현할 수 있다.

C/C++

int compare(int x, int y) {
    return x - y;
}
Java

public int compare(int x, int y) {
    return x - y;
}
Python

def compare(x, y):
    return x - y

Javascript

function compare(x, y) {
    return x - y;
}
Scheme

(define compare
    (lamda (x y)
        (- x y)))
Clojure

(defn compare [x y]
    (- x y)) ;;

각 언어로 표현한 함수를 살펴보면

  • C/C++과 Java
  • Python과 Javascript
  • Scheme와 Clojure

간에 표현이 공유되었다는 것을 알아볼 수 있다.

저작자표시 변경금지 (새창열림)

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

[프로그래밍언어론] 6. 컴파일러와 인터프리터  (0) 2023.09.11
[프로그래밍언어론] 5. 프로그래밍 언어 설계  (0) 2023.09.11
[프로그래밍언어론] 4. 튜링 머신, 튜링 완전성  (0) 2023.09.11
[프로그래밍언어론] 3. PL의 관점에서 본 컴퓨터  (0) 2023.09.11
[프로그래밍언어론] 2. 통합개발환경(IDE), VSCode  (0) 2023.09.05
  1. PL(Programming Language) 개념과 패러다임
'프로그래밍언어론' 카테고리의 다른 글
  • [프로그래밍언어론] 5. 프로그래밍 언어 설계
  • [프로그래밍언어론] 4. 튜링 머신, 튜링 완전성
  • [프로그래밍언어론] 3. PL의 관점에서 본 컴퓨터
  • [프로그래밍언어론] 2. 통합개발환경(IDE), VSCode
파스텔코랄
파스텔코랄
Developer Blog 📜 Lots of rules and no mercy ✨
슬기로운 개발일지Developer Blog 📜 Lots of rules and no mercy ✨
파스텔코랄
슬기로운 개발일지
파스텔코랄
전체
오늘
어제
  • 스터디
    • 컴퓨터시스템구조
    • 모바일프로그래밍
    • 프로그래밍언어론
    • 운영체제
    • 컴퓨터네트워크
    • 데이터분석
    • 소프트웨어공학
    • 시스템프로그래밍

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • About

링크

공지사항

인기 글

태그

어셈블리어
프로그래밍언어론
운영체제
네트워크

최근 댓글

최근 글

hELLO· Designed By정상우.v4.6.1
파스텔코랄
[프로그래밍언어론] 1. 개념과 패러다임
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.