{{위키데이터 속성 추적}}
{{프로그래밍 언어 정보
|이름 = D
|로고 = D Programming Language logo.svg
|로고크기 = 120px
|패러다임 = [[컴파일 언어]], [[다중 패러다임]]: [[절차적 프로그래밍]], [[객체 지향 프로그래밍]], [[함수형 프로그래밍]], [[제네릭 프로그래밍]], [[병행 컴퓨팅]]
|연도 = [[2001년]] [[12월 8일]]
|설계자 = [[월터 브라이트]]<br />[[안드레이 알렉산드레스크]]
|개발자 = D 언어 재단
|형 체계 = 
|구현체 = [https://github.com/dlang/dmd DMD] ([[참조 구현]]), [https://github.com/D-Programming-GDC/GDC GDC], [https://github.com/ldc-developers/ldc LDC], [https://github.com/SDC-Developers/SDC SDC]
|파일 확장자 = .d
|방언 =
|영향을 받은 언어 = [[C (프로그래밍 언어)|C]], [[C++]], [[C 샤프|C#]], [[에펠 (프로그래밍 언어)|에펠]], [[자바 (프로그래밍 언어)|자바]], [[파이썬]]
|영향을 준 언어 = [[:en:MiniD|마인D]], [[D스크랩스]], [[발라 (프로그래밍 언어)|발라]], [[큐리 (프로그래밍 언어)|큐리]], [[스위프트 (프로그래밍 언어)|스위프트]], [[:en:Genie (programming language)|지니]]
|라이선스 = [[Boost]]<ref name="boost-backend">{{웹 인용 |url=https://forum.dlang.org/post/oc8acc$1ei9$1@digitalmars.com |title=dmd Backend converted to Boost License |date=7 April 2017 |access-date=9 April 2017}}</ref><ref>{{웹 인용 |url=http://dlang.org/faq.html |title=D 2.0 FAQ |access-date=11 August 2015}}</ref>
|최근 버전 = {{wikidata|property|reference|edit|P348}}
|최근 버전 출시일 = {{wikidata|qualifier|P348|P577}} ({{Time ago| {{wikidata|qualifier|raw|P348|P577}} }})
}}

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

이 언어의 설계 목적은 현대의 [[동적 프로그래밍 언어|동적]] 언어의 [[표현 능력]]을 가지고 [[컴파일 언어]]의 성능과 안전의 병합을 시도하는 것이다. 관용적인 D 코드는 동등한 C++ 코드보다 크기가 짧더라도 C++만큼 속도가 빠른 것이 보통이다.<ref name="short">{{웹 인용|title=Expressions |url=http://dlang.org/expression.html#Lambda |publisher=Digital Mars |access-date=27 December 2012}}</ref> 이 언어는 전반적으로 [[메모리 보안|메모리 안전]]에 속하지 않으나<ref>{{웹 인용|url=https://news.ycombinator.com/item?id=12391370 |date=August 30, 2016 |title=On: Ruminations on D: An Interview with Walter Bright|website=Hacker News}} "It's close, and we're working to close the remaining gaps."</ref> 메모리 안전을 검사하도록 설계된 선택적 속성을 포함한다.<ref>{{웹 인용|url=https://dlang.org/spec/memory-safe-d.html |title=Memory-Safe-D-Spec |publisher=D Language Foundation}}</ref>

== 예제 코드 ==
=== 헬로 월드 프로그램 ===
<syntaxhighlight lang="d">
import std.stdio;

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

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

<syntaxhighlight lang="d">
import std.stdio: writefln;

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

== 구현 ==
현재의 대부분의 D 구현체는 효율적인 실행을 위해 [[기계어]]로 직접 [[컴파일]]한다.
* DMD (Digital Mars D. 창시자인 월터 브라이트가 주도하는 메인 프로젝트.)
* GDC ([[GCC]] 백엔드용 프론트엔드)
* LDC ([[LLVM]]을 백엔드로 사용하는 프론트엔드)
* D 컴파일러 포 닷넷

== 같이 보기 ==
* [[DMD 컴파일러]]

== 각주 ==
{{각주}}

== 외부 링크 ==
* [http://www.digitalmars.com/d/ 디지털 마르스의 D 프로그래밍 언어 페이지]
* [http://dgcc.sourceforge.net/ gdc]: [[GNU 컴파일러 모음|GCC]]용 프론트 엔드
* [https://dlang.org/ D언어 홈페이지]

{{C 프로그래밍 언어}}
{{전거 통제}}
{{토막글|프로그래밍 언어}}

[[분류:크로스 플랫폼 소프트웨어]]
[[분류:다중 패러다임 프로그래밍 언어]]
[[분류:객체 지향 프로그래밍 언어]]
[[분류:절차적 프로그래밍 언어]]
[[분류:2001년 개발된 프로그래밍 언어]]
[[분류:C 프로그래밍 언어 계열]]
[[분류:시스템 프로그래밍 언어]]
[[분류:자유 컴파일러와 인터프리터]]
[[분류:정적 타입 프로그래밍 언어]]
[[분류:고급 프로그래밍 언어]]