Reklama
Dzisiaj jest 10 stycznia 2025 r.
Chcę dodać własny artykuł
Reklama
Reklama
Reklama

D (język programowania)

Wprowadzenie do języka D

Język D to wieloparadygmatowy język programowania, który wspiera programowanie obiektowe, imperatywne oraz metaprogramowanie. Opracowany przez Waltera Brighta, powstał jako następca C, oferując binarną kompatybilność z tym językiem. Jego składnia jest inspirowana Javą, C# oraz Eiffel. Pierwsza stabilna wersja ukazała się 2 stycznia 2007 roku.

Reklama

Możliwości

D został zaprojektowany z praktycznym podejściem, rezygnując z wstecznej kompatybilności na rzecz przejrzystej gramatyki. Oferuje wiele nowoczesnych rozwiązań, takich jak:

  • programowanie kontraktowe
  • wbudowane zarządzanie pamięcią (garbage collector)
  • testy jednostkowe
  • tablice asocjacyjne i dynamiczne
  • domknięcia i funkcje anonimowe
  • system dokumentacji zintegrowany z kompilatorem

Paradygmaty programowania

D wspiera trzy główne paradygmaty programowania: imperatywne, obiektowe oraz generyczne.

Reklama

Programowanie imperatywne

Programowanie imperatywne w D przypomina C, z dodatkowymi rozszerzeniami, takimi jak instrukcja foreach do iteracji po kolekcjach oraz funkcje zagnieżdżone z dostępem do zmiennych lokalnych.

Programowanie obiektowe

W D klasy tworzą hierarchię wywodzącą się z klasy Object. Język nie wspiera wielokrotnego dziedziczenia, lecz oferuje interfejsy oraz domieszki, a metody wirtualne są domyślnie oznaczane w sposób optymalizujący kod.

Metaprogramowanie

Metaprogramowanie w D jest realizowane za pomocą szablonów, funkcji wykonywanych w czasie kompilacji oraz domieszkowania tekstu. D pozwala na dynamiczne generowanie kodu i obliczanie wartości stałych w czasie kompilacji.

Zarządzanie pamięcią

D wykorzystuje garbage collector, ale programista ma pełną kontrolę nad alokacją i zwalnianiem pamięci, w tym możliwość ręcznego zarządzania pamięcią.

Łączenie z innymi językami

D jest binarnie kompatybilny z C, co umożliwia korzystanie z bibliotek C, a częściowa obsługa C++ została wprowadzona w wersji 2.0.

D 2.0

Wersja D 2.0 wprowadza nowe cechy, m.in.:

  • obsługę interfejsu binarnego C++
  • prawdziwe domknięcia
  • funkcje czyste
  • operacje wektorowe
  • ulepszenia w bibliotece standardowej Phobos

Implementacje i narzędzia

Obecnie rozwijane są cztery główne kompilatory D:

  • DMD – oficjalny kompilator
  • GDC – front-end dla GCC
  • LDC – front-end dla LLVM
  • D Compiler for .NET – eksperymentalny port dla .NET

D obsługuje wiele edytorów i IDE, takich jak Eclipse, Visual Studio, Emacs i inne.

Problemy i kontrowersje

W D istnieją dwie biblioteki standardowe: Phobos i Tango, które były niekompatybilne, ale w wersji 2.0 wprowadzono jednolite środowisko uruchomieniowe, co umożliwiło ich współdzielenie.

Przykładowy program


import std.stdio;
int main(char[][] args)
{
foreach(i, a; args)
writefln(„args[%d] = '%s'”, i, a);
return 0;
}

Reklama

Linki zewnętrzne

Reklama