51
D jest językiem o składni podobnej do C i pisaniu statycznym.Pragmatycznie łączy wydajność, kontrolę i moc modelowania z bezpieczeństwem i wydajnością programisty.Wygoda D umożliwia pisanie dużych fragmentów kodu bez zbędnego określania typów, w stylu dynamicznych języków.Jednak wnioskowanie statyczne dedukuje typy i inne właściwości kodu, dając to, co najlepsze zarówno ze świata statycznego, jak i dynamicznego.Automatyczne zarządzanie pamięcią zapewnia bezpieczny, prosty i niezawodny kod.D obsługuje również zarządzanie zasobami w zakresie (zwanym także idiomem RAII) i instrukcje zakresu dla deterministycznego kodu transakcyjnego, który jest łatwy do napisania i odczytu.Wbudowane tablice, wycinki i zakresy liniowe i asocjacyjne sprawiają, że codzienne programowanie jest proste i przyjemne dla zadań małych i dużych.... Moc Najlepszym paradygmatem jest nie narzucanie jednego kosztem innych.D oferuje klasyczny polimorfizm, semantykę wartości, styl funkcjonalny, rodzajowy, programowanie generatywne, programowanie kontraktowe i wiele innych - wszystko to harmonijnie zintegrowane.D oferuje innowacyjne podejście do współbieżności obejmujące prawdziwe niezmienne dane, przekazywanie wiadomości, domyślnie brak współdzielenia i kontrolowane współdzielenie zmiennych między wątkami.Od prostych skryptów po duże projekty - D ma możliwość skalowania w zależności od potrzeb dowolnej aplikacji: testowanie jednostkowe, ukrywanie informacji, wyrafinowana modułowość, szybka kompilacja, precyzyjne interfejsy.Wydajność D kompiluje się naturalnie do wydajnego kodu natywnego.D jest zaprojektowany tak, że najbardziej „oczywisty” kod jest szybki i bezpieczny.Czasami funkcja może wymagać uniknięcia bezpieczeństwa typu, aby uzyskać najwyższą prędkość i kontrolę.W takich rzadkich przypadkach D oferuje natywne wskaźniki, rzutowania typu, dostęp do dowolnej funkcji C bez żadnego pośredniego tłumaczenia, a nawet wbudowanego asemblera.Atrybuty modułowe @safe, @trusted i @system pozwalają programiście najlepiej decydować o kompromisach bezpieczeństwa / wydajności konkretnej aplikacji i sprawdzać spójność kompilatora.
d