주 메뉴 열기

D (프로그래밍 언어)

D디지털 마스월터 브라이트가 개발한 객체 지향 명령형 프로그래밍 언어이다. 2001년 공개되었다. C++의 리엔지니어링으로 기원하였으나 D는 해당 언어와는 별개의 언어이다. 일부 핵심 C++ 기능들을 다시 설계하였으며 자바, 파이썬, 루비, C#, 에펠과 같은 다른 언어들의 특징들을 공유하기도 한다.

D
D Programming Language logo.svg
패러다임컴파일 언어, 다중 패러다임: 절차적 프로그래밍, 객체 지향 프로그래밍, 함수형 프로그래밍, 제네릭 프로그래밍, 병행 컴퓨팅
설계자월터 브라이트
안드레이 알렉산드레스크
개발자D 언어 제단
발표일2001년 12월 8일
최근 버전2.086.0
최근 버전 출시일2019년 5월 4일 (6달 전)(2019-05-04)
라이선스Boost 라이선스
파일 확장자.d
웹사이트dlang.org
주요 구현체
DMD (참조 구현), GDC, LDC, SDC
영향을 받은 언어
C, C++, C#, 에펠, 자바, 파이썬
영향을 준 언어
마인D, D스크랩스, 발라, 큐리, 스위프트, 지니

이 언어의 설계 목적은 현대의 동적 언어의 표현 능력을 가지고 컴파일 언어의 성능과 안전의 병합을 시도하는 것이다. 관용적인 D 코드는 동등한 C++ 코드보다 크기가 짧더라도 C++만큼 속도가 빠른 것이 보통이다.[1] 이 언어는 전반적으로 메모리 안전에 속하지 않으나[2] 메모리 안전을 검사하도록 설계된 선택적 속성을 포함한다.[3]

예제 코드편집

헬로 월드 프로그램편집

import std.stdio;

int main(string args[])
{
    writeln("안녕. D Programming Language!");
    return 0;
}

예제2편집

다음 예제는 콘솔에 명령행 인자를 출력한다.

import std.stdio: writefln;

void main(string[] args)
{
    foreach (i, arg; args)
        writefln("args[%d] = '%s'", i, arg);
}

구현편집

현재의 대부분의 D 구현체는 효율적인 실행을 위해 기계어로 직접 컴파일한다.

  • DMD (Digital Mars D. 창시자인 월터 브라이트가 주도하는 메인 프로젝트.)
  • GDC (GCC 백엔드용 프론트엔드)
  • LDC (LLVM을 백엔드로 사용하는 프론트엔드)
  • D 컴파일러 포 닷넷

관련 항목편집

각주편집

  1. “Expressions”. Digital Mars. 2012년 12월 27일에 확인함. 
  2. “On: Ruminations on D: An Interview with Walter Bright”. 《Hacker News》. 2016년 8월 30일.  "It's close, and we're working to close the remaining gaps."
  3. “Memory-Safe-D-Spec”. D Language Foundation. 

외부 링크편집