맨위로가기

컴퓨터 언어

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

컴퓨터 언어는 컴퓨터가 수행할 작업을 정의하고, 정보를 표현하기 위해 사용되는 형식화된 언어이다. 컴퓨터 언어는 인간이 읽을 수 있는 언어와 기계가 읽을 수 있는 언어로 분류되며, 프로그래밍 언어, 스크립팅 언어, 마크업 언어, 쿼리 언어 등 다양한 종류가 존재한다. 이러한 언어들은 프로그래밍, 데이터베이스 질의, 웹 페이지 작성, 하드웨어 설계 등 다양한 분야에서 활용된다.

더 읽어볼만한 페이지

  • 컴퓨터 언어 - 데이터베이스 언어
    데이터베이스 언어는 데이터베이스를 조작하고 관리하기 위한 언어로서 데이터 조작 언어(DML), 데이터 정의 언어(DDL), 데이터 제어 언어(DCL)로 나뉘며, SQL은 이 모든 요소를 통합하고 질의어와는 구별된다.
  • 컴퓨터 언어 - 명세 언어
    명세 언어는 프로그램의 작동 방식 대신 수행할 기능에 집중하여 데이터와 함수들의 모음으로 시스템을 표현하는 언어이며, 프로그램 정확성 검증에 활용되지만, 형식적이지 않은 명세는 논리적 гарантии 부족으로 오해의 소지가 있다.
컴퓨터 언어
개요
종류프로그래밍 언어
패러다임명령형 프로그래밍, 객체 지향 프로그래밍, 함수형 프로그래밍, 선언형 프로그래밍 등
역사
최초의 고급 프로그래밍 언어플란칼큘 (1940년대, 콘라트 추제)
초기 프로그래밍 언어포트란 (1957)
리스프 (1958)
코볼 (1959)
알골 60 (1960)
베이직 (1964)
분류
구현 방법컴파일러 언어
인터프리터 언어
어셈블리어
추상화 수준저급 프로그래밍 언어
고급 프로그래밍 언어
프로그래밍 패러다임명령형 프로그래밍
객체 지향 프로그래밍
함수형 프로그래밍
선언형 프로그래밍
용도시스템 프로그래밍 언어
응용 프로그래밍 언어
스크립트 언어
마크업 언어
정형 명세 언어
설계 요소
구문구문, 의미론
자료형자료형, 자료 구조
제어 구조조건문, 반복문
추상화 메커니즘함수, 객체, 모듈
관련 개념
프로그래밍알고리즘
소프트웨어 개발
프로그래밍 패러다임
컴파일러파서
의미 분석기
코드 생성기
인터프리터가상 머신
JIT 컴파일러

2. 컴퓨터 언어의 특성

컴퓨터 언어는 '인간이 읽을 수 있는 언어'와 '인간이 읽을 수 없는 언어'로 크게 분류할 수 있다.

2. 1. 인간 가독성

인간이 읽을 수 있는 언어는 직접 인간이 사용하는 것을 상정하여 설계되었으며, 인간이 읽을 수 없는 언어는 '인간의 가독성'을 희생하여 더 작고 컴퓨터가 처리하기 쉬운 형식으로 설계되었다(부분적으로는 인간이 읽을 수 있는 경우도 있다).

2. 2. 기계 가독성

컴퓨터 언어는 기계 가독성(기계 가독)이라는 관점도 있다.

3. 컴퓨터 언어의 종류

컴퓨터 언어는 그 용도와 특징에 따라 다양하게 분류할 수 있다.


  • 프로그래밍 언어: C++, 어셈블리 프로그래밍 언어 등 컴퓨터 프로그램을 작성하는 데 사용된다.
  • 스크립팅 언어: 응용 소프트웨어를 제어하거나 특정 작업을 자동화하는 데 사용된다.
  • 스페시피케이션 언어: 시스템의 동작이나 구조를 명확하게 기술하는 데 사용된다.
  • 기계어: CPU가 직접 이해하고 실행할 수 있는 언어이다. 보통 다른 언어로부터 변환되며, 때로는 온 더 플라이 방식으로 변환되기도 한다.
  • 바이트코드: 가상 기계에서 실행되는 중간 언어이다.
  • 쿼리 언어: SQL, XQuery데이터베이스에서 정보를 검색하고 조작하는 데 사용된다.
  • 마크업 언어: HTML과 같이 문서의 구조나 형식을 표현하는 데 사용되며, 주로 문서 작성에 활용된다.
  • 변환 언어: XSLT와 같이 데이터를 한 형식에서 다른 형식으로 변환하는 데 사용된다.
  • 틀 처리 언어: 템플릿을 사용하여 반복적인 작업을 자동화하는 데 사용된다.
  • 제4 세대 프로그래밍 언어 (4GL): 특정 업무 영역에 특화된 고급 프로그래밍 언어이다.
  • 하드웨어 디스크립션 언어 (HDL): 디지털 회로를 설계하고 기술하는 데 사용된다.
  • 설정 파일 포맷: INI 파일과 같이 프로그램의 설정을 저장하는 데 사용된다.
  • 데이터 직렬화 포맷: 데이터를 저장하거나 전송하기 위한 형식이다.

3. 1. 프로그래밍 언어

프로그래밍 언어는 컴퓨터 프로그램을 기술하기 위한 언어이다. 프로그래밍 언어에는 C++, 어셈블리 프로그래밍 언어 등이 있다.

많은 프로그래밍 언어는 텍스트 소스 코드로 프로그램이 기술되지만, 비주얼 프로그래밍 언어는 프로그램 요소를 시각적으로 표현하고 조작하여 프로그램을 구축한다. 컴퓨터가 실제로 실행하는 명령은 기계어로 나타난다. 이는 일반적으로 인간이 읽을 수 없는 이진 형식의 컴퓨터 언어이며, CPU의 명령 집합에 대응한다. 고급 언어의 소스 코드는 컴파일러에 의해 기계어로 변환된다.

자바와 같이, 프로그래밍 언어에 따라서는 바이트코드와 같이 컴퓨터 아키텍처와 독립적인 이식성이 높은 중간 언어를 사용하는 경우가 있다. 이러한 시스템에서는 바이트코드를 기계어로 변환하는 컴파일러도 있거나, 바이트코드를 가상 머신 또는 바이트코드 인터프리터로 실행한다.

3. 1. 1. 주요 프로그래밍 언어

프로그래밍 언어컴퓨터 프로그램을 기술하기 위한 컴퓨터 언어이다. 최근 사용 빈도가 높은 프로그래밍 언어로는 파이썬, 자바, C 언어, C++ 등이 있다. 베이직, 코볼, 포트란, 어셈블리 언어와 같이 최근에는 잘 사용되지 않는 프로그래밍 언어도 있다. 컴퓨터 프로그램을 기술하는 것을 프로그래밍이라고 하며, 컴퓨터 프로그램을 기술하는 사람을 프로그래머라고 한다.

스크립트 언어는 '쉽게 사용할 수 있는 프로그래밍 언어'를 가리키는 대략적인 분류이다. 어떤 언어를 스크립트 언어라고 부르는지는 감각적인 것이며, 정확하게 정의할 수 있는 것은 아니지만, 일반적으로 스크립트 언어는 다음과 같은 특징을 갖는 경우가 많다.

  • 처리계의 구현인터프리터에 가깝다.
  • 문자열 처리가 쉽다.
  • 코드 작성 및 수정이 쉽다. (경량 프로그래밍 언어 참조)
  • 특정 영역의 문제에 특화되어 있다. (도메인 특화 언어 참조)
  • 응용 소프트웨어에 내장되어 있다. (매크로 언어 참조)
  • 여러 응용 소프트웨어의 동작을 협조시킬 수 있다. (글루 언어 참조)


액션스크립트, 애플스크립트, AWK, 배시, Emacs Lisp, 구글 앱스 스크립트, Groovy, 자바스크립트, Lua, Perl, PHP, 파이썬, REXX, 루비, PowerShell, SKILL, Tcl, TypeScript, VBScript 등이 스크립트 언어에 속한다.

많은 프로그래밍 언어는 텍스트 소스 코드로 프로그램이 기술되지만, 비주얼 프로그래밍 언어는 프로그램 요소를 시각적으로 표현하고 조작하여 프로그램을 구축한다. 컴퓨터가 실제로 실행하는 명령은 기계어로 나타난다. 기계어는 일반적으로 인간이 읽을 수 없는(읽지 않는) 이진 형식의 컴퓨터 언어이며, CPU의 명령 집합에 대응한다. 고급 언어의 소스 코드는 컴파일러에 의해 기계어로 변환된다.

자바와 같이, 프로그래밍 언어에 따라서는 바이트코드와 같이 컴퓨터 아키텍처와 독립적인 이식성이 높은 중간 언어를 사용하는 경우가 있다. 이러한 시스템에서는 바이트코드를 기계어로 변환하는 컴파일러도 있거나, 바이트코드를 가상 머신 또는 바이트코드 인터프리터로 실행한다.

3. 1. 2. 스크립트 언어

스크립트 언어는 '쉽게 사용할 수 있는 프로그래밍 언어'를 가리키는 대략적인 분류이다. 어떤 언어를 스크립트 언어라고 부르는지는 감각적인 것이며, 정확하게 정의할 수 있는 것은 아니지만, 일반적으로 스크립트 언어는 다음과 같은 특징을 갖는 경우가 많다.

  • 처리계의 구현인터프리터에 가깝다.
  • 문자열 처리가 쉽다.
  • 코드의 작성 및 수정이 쉽다. (경량 프로그래밍 언어도 참조.)
  • 특정 영역의 문제에 특화되어 있다. (도메인 특화 언어도 참조.)
  • 응용 소프트웨어에 내장되어 있다. (매크로 언어도 참조.)
  • 여러 응용 소프트웨어의 동작을 협조시킬 수 있다. (글루 언어도 참조.)


스크립트 언어에는 액션스크립트, 애플스크립트, AWK, 배시, Emacs Lisp, 구글 앱스 스크립트, Groovy, 자바스크립트, Lua, Perl, PHP, 파이썬, REXX, 루비, PowerShell, SKILL, Tcl, TypeScript, VBScript 등이 있다.

3. 1. 3. 기타 프로그래밍 언어


  • 스크립팅 언어
  • 스페시피케이션 언어
  • 기계어 (다른 언어로부터 변환됨, 간혹 온 더 플라이로 변환됨.)
  • 바이트코드 (특히 “가상 기계” 코드 - 가상 기계에서 수행된다.)
  • 쿼리 언어 (예: SQL, XQuery)
  • 마크업 언어 (예: HTML - 일반적으로 문서 생산에 사용된다.)
  • 변환 언어 (예: XSLT)
  • 틀 처리 언어
  • 제4 세대 프로그래밍 언어 ("4GL")
  • 하드웨어 디스크립션 언어 ("HDL")
  • 설정 파일 포맷들 (예: INI 파일)
  • :분류:데이터 직렬화 포맷

3. 2. 정보를 표현하는 컴퓨터 언어

컴퓨터 언어는 정보를 표현하기 위해 다양한 형태로 사용된다. 주요 컴퓨터 언어에는 다음이 있다.

3. 2. 1. 질의 언어

질의 언어에는 SQL, XQuery 등이 있다. 데이터베이스 언어에는 데이터 조작 언어, 데이터 정의 언어, 데이터 제어 언어가 있다.

3. 2. 2. 데이터 기술 언어

데이터 기술 언어는 데이터를 표현하고 기술하는 데 사용되는 컴퓨터 언어이다. 주요 데이터 기술 언어에는 다음이 있다.

  • 마크업 언어 (HTML 등): 일반적으로 문서 작성에 사용된다.
  • :Category:데이터 직렬화 형식

3. 2. 3. 변환 언어

모델 변환 언어 (XSLT 등)

3. 2. 4. 기타

컴퓨터 언어는 다음을 포함한다.

3. 3. 소프트웨어 동작 설정을 위한 컴퓨터 언어

컴퓨터 언어에는 다음과 같은 종류가 있다.

종류설명예시
프로그래밍 언어C++, 어셈블리 프로그래밍 언어
스크립팅 언어
스페시피케이션 언어
기계어다른 언어로부터 변환되며, 간혹 온 더 플라이로 변환되기도 한다.
바이트코드가상 기계에서 수행되는 “가상 기계” 코드이다.
쿼리 언어SQL, XQuery
마크업 언어일반적으로 문서 생산에 사용된다.HTML
변환 언어XSLT
틀 처리 언어
제4 세대 프로그래밍 언어"4GL"
하드웨어 디스크립션 언어"HDL"
설정 파일 포맷INI 파일
:분류:데이터 직렬화 포맷
설정 파일 형식INI 파일


3. 4. 시스템 설계를 위한 컴퓨터 언어

시스템 설계를 위한 컴퓨터 언어는 다음과 같다.

3. 5. 인간이 기술하지 않는 컴퓨터 언어


  • 기계어 (다른 언어로부터 변환됨, 간혹 온 더 플라이로 변환됨)
  • 바이트코드 (특히 "가상 기계" 코드 - 가상 기계에서 수행된다.)
  • 하드웨어 디스크립션 언어 (HDL)
  • 하드웨어 제어 언어 - 프린터나 표시장치의 제어 등.

4. 역사

컴퓨터 언어의 역사 및 분류에 대한 자세한 기술은 The Encyclopedia of Programming Languages|프로그래밍 언어 백과사전영어를 참고하라.



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com