Hello Dlang

Aug 27 2015 dlang

В статье описан "Хэлло Ворлд" для чудесного компилируемого мультипарадигменного языка D.

Не смотря на то, что материалов в сети достаточно мало, они всё же есть в необходимом для понимания количестве. Сообщество и вся инфраструктура языка также очень компактны, но достаточно сильны для тех, кто готов пройти путь отличный от копипасты. От себя лишь добавлю - сам по себе язык D, в сегодняшнем мире монстров C/C++ и подростков Go, Rust,- стоит того, чтобы погрузиться в него.


Вводные данные по языку D можно почерпнуть из:
  • Википедии
  • Книги "Язык программирования D" от евангелиста языка Андрея Александреску
  • Книги "D Cookbook"
  • И самой свежей из них "Programming in D"

Без лишних вступлений, с лозунгом "лучше один раз увидеть",- встречайте пример простейшего полностью "голого" Хэлло Ворлд:


import std.stdio;

void main(){
  writeln("Hello World!");
}

Не смотря на простоту примера, уже по этому тексту видно, что язык использует импорт модулей и C-подобный синтаксис.

Добавим к этому примеру пространство имён для импортируемых функций:


import some_package = std.stdio;

void main(){
  some_package.writeln("Hello World!");
}

Не смотря на то, что здесь "заворачивание" функциональности подключаемого модуля излишне,- оно может быть полезно в проектах большой сложности с пересекающимися пространствами имён или для синтаксической выразительности.

Добавим немного сахара, синтаксис языка позволяет применить функции языка как методы объектов (см. UFCS )


import std.stdio;

void main(){
  "Hello World!".writeln();
}

И напоследок немного "параллельного" кода,- запустим приём строкового сообщения в параллельном потоке, отправим строковое сообщение из основного потока, по факту приёма строки в параллельном потоке напечатаем наше сообщение:


#!/usr/bin/env rdmd

import std.stdio, std.concurrency;

void main(){
  auto tid = spawn(
    function void(){
      receiveOnly!(string)().writeln();
    }
  );

  send(tid, "Hello World!");
}

На самом деле этот список можно продолжать очень долго, попробуйте и возможно вы будете приятно удивляться чаще и расстраиваться реже, удачи в погружении.

Комментарии

comments powered by Disqus