D (язык программирования)

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
D
Семантика:

мультипарадигменный: императивное, объектно-ориентированное, контрактное[1], обобщённое программирование

Тип исполнения:

компилятор

Появился в:

2001

Автор(ы):

Уолтер Брайт

Выпуск:

2.066.0 (2014-08-18; 125 дней тому назад[2])

Тестовая версия:

2.066

Система типов:

строгая, статическая

Основные реализации:

Digital Mars D, LDC, GDC

Испытал влияние:

Си, C++, C#, Java, Eiffel

Сайт:

dlang.org

D — объектно-ориентированный, императивный, мультипарадигмальный язык программирования, созданный Уолтером Брайтом из компании Digital Mars. Изначально был задуман как реинжиниринг языка C++, однако, несмотря на значительное влияние С++, не является его вариантом. В D были заново реализованы некоторые свойства C++, также язык испытал влияние концепций из других языков программирования, таких как Java, Python, Ruby, C# и Eiffel.

При создании языка D была сделана попытка соединить производительность компилируемых языков программирования с безопасностью и выразительностью динамических. Код на языке D обычно работает так же быстро как эквивалентный код на C++, при этом программа на D короче и обеспечивает безопасный доступ к памяти.[источник не указан 513 дней]

Стабильная версия компилятора 1.0 вышла 2 января 2007[3]. Экспериментальная версия компилятора 2.0 выпущена 17 июня 2007 года.[4]

Стабильная версия компилятора 1.0 работает на Windows, Linux, Mac OS, а с версии 1.043 также и на FreeBSD. Также для загрузки доступны исходные коды DMD (официальная реализация компилятора от Digital Mars)[5].

Обзор языка[править | править вики-текст]

Синтаксис D схож с синтаксисом таких языков, как C++, C# и Java. Cледующая программа выводит «Hello, world!» на стандартный вывод:

#!/usr/bin/env rdmd
 
import std.stdio;
 
void main() {
    writeln("Hello, world!");
}

Типы данных[править | править вики-текст]

Язык имеет богатый набор определённых типов данных и средств для определения новых типов. Типы в языке D разделяются на типы-значения и типы-ссылки.

Базовые типы[править | править вики-текст]

Набор базовых типов можно разделить на следующие категории:

  • void (ограниченного применения)
  • bool — логический тип
  • целочисленные типы
  • типы для чисел с плавающей точкой
  • символьные типы

Целочисленные типы[править | править вики-текст]

В языке D имеются знаковые и беззнаковые целочисленные типы различных размеров:

Знаковый тип Беззнаковый тип
8 бит byte ubyte
16 бит short ushort
32 бита int uint
64 бита long ulong
128 бит(зарезервировано) cent ucent

В отличие от C++ все размеры целочисленных типов определены спецификацией. То есть, тип int будет всегда размером 32 бита. Целочисленные литералы можно записывать в десятичной, двоичной (с префиксом 0b) и шестнадцатеричной (с префиксом 0x) системе счисления. Способ записи литералов в восьмеричной системе в стиле C (то есть с префиксом 0) был убран, так как такую запись легко спутать с десятичной. Если всё-таки нужно использовать восьмеричную систему, можно воспользоваться шаблоном std.conv.octal.

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

Литература[править | править вики-текст]

Ссылки[править | править вики-текст]