D
Witaj w kursie programowania w języku D na Wikibooks. Podręcznik ten przybliży w szybki sposób składnie języka, jego możliwości oraz zastosowania. Znajdziesz tutaj również opis wielu przydatnych funkcji dostępnych w bibliotece standardowej.
Podręcznik jest w początkowej fazie rozwoju, ale podstawy są już praktycznie w pełni omówione. Bardzo zachęcamy do współpomocy przy jego rozwoju - choćby tłumaczenia odpowiednich fragmentów z angielskiej wersji podręcznika (polska wersja w założeniu rozwija się samodzielnie od podstaw, ponieważ nie uważamy że wersja angielska jest najlepsza, lecz fragmenty na pewno się przydadzą). Warto również skorzystać z tego co jest na stronie o programowaniu w C.
Spis treści
edytujWstęp
edytuj- O podręczniku
- podstawowe informacje, o autorach i jak pomóc - O języku
- historia i zastosowania języka D - Czego potrzebujesz
- informacje o niezbędnych narzędziach - Używanie kompilatora
- korzystanie z podstawowych narzędzi
D dla początkujących
edytuj- Pierwszy program
- wstęp do składni języka, przykładowe programy, pierwsza kompilacja i uruchomienie - Podstawowe wiadomości
- czym jest, jak działa oraz co może D - Zmienne w D
- użycie, typy, modyfikatory, stałe, konwersje - Podstawowe procedury wejścia i wyjścia
- czym jest wejście-wyjście, korzystanie z podstawowych funkcji - Podstawowe operacje matematyczne
- matematyka w języku D, operatory matematyczne - Instrukcje sterujące
- if, switch, for, while, foreach - Funkcje
- pojęcie funkcji i procedury - Tablice
- pojęcie tablicy, operacje na tablicy; tablice dynamiczne i assocjasyjne. - Napisy
- przechowywanie, operacje, konwersje - Kontrakty
- programowanie kontraktowe, assercje, testy jednostkowe, czyli jak zabezpieczyć się przed błędami - Biblioteka standardowa
- jak korzystać z plików biblioteki standardowej; importowanie innych modułów - Moduły i pakiety
- jak pisać własne moduły i pakiety, czyli podzielić program na wiele części - Ćwiczenia
Zaawansowany D
edytuj- Typy złożone
- deklarowanie własnych typów, typy wyliczeniowe, unie i struktury - Obsługa plików
- odczyt i zapis do pliku, operacje na plikach i katalogach - Więcej o kompilowaniu
- Kompilacja, linkowanie i Makefile - Zaawansowane operacje matematyczne
- używanie funkcji matematycznych, operacje na liczbach zespolonych - Przeciążanie funkcji
- po co i jak przeciązać funkcje - Wskaźniki
- wskaźniki, zarządzenie pamięcią - Powszechne praktyki
- kilka dobrych zwyczajów programisty D - Przenośność programów
- kilka ważnych informacji nt. przenośności programów napisanych w języku D - Łączenie z innymi językami
- łączenie języka D z innymi językami programowania (C, Python, Fortran) - Ćwiczenia
Obiekty w D
edytuj- Programowanie obiektowe
- idea klas i obiektów, pól i metod - Konstruktor i destruktor
- konstruktor i destruktor, więcej o zarządzaniu pamięcią w D - Przeładowywanie operatorów
- jak ułatwić korzystanie z pewnych obiektów - Dziedziczenie i interfejsy
- jak rozszerzyć już istniejącą klasę - Składniki statyczne
- pola i metody statyczne - Kontrakty w obiektach
- kontrakty w metodach, testy jednostkowe, niezmienniki obiektów - Kontrola dostępu
- dostęp publiczny i prywatny - Ćwiczenia
D dla wtajemniczonych
edytuj- Wyjątki
- sytuacje wyjątkowe w D oraz ich obsługa - Kompilacja warunkowa
- generacja różnego kodu na etapie kompilacji (version, debug) - Szablony
- idea szablonów (template), interakcja z kompilatorem (pragma) - Mixiny
- czyli programy piszące inne programy - Funkcje czasu kompilacji
- wywoływanie funkcji w czasie kompilacji - Delegaty i leniwa ewaluacja
- elementy programowania funkcyjnego - Krotki typów
- TypeTuple, czyli manipulowanie zbiorami typów i szablonami o zmiennej ilości argumentów - Metaprogramowanie
- czyli połączenie templetów, mixinów i funkcji czasu kompilacji - Wątki
- Programowanie wielowątkowe (thread, synchronized) - Odpluskwianie
- Używanie debugera gdb do znajdywania błędów w programach - Profilowanie oraz analiza pokrycia
- Między innymi, jak mierzyć ile czasu zajmuje wykonanie różnych cześci programu, które fragmenty zoptymalizować oraz czy nasz program jest dobrze przetestowany
Język D wersja 2
edytuj- D2
- różne drobne zmiany, dodatki, i przestarzałe funkcjonalności. - Const
- const, immutable, inout/ref, shared, pure, nothrow, string, @safe, @property, .idup, .dup, thread local storage (TLS) - D/D2_phobos
- różne zmiany w bibliotece standardowej, nowe moduły, przestarzałe funkcje i moduły - Type traits
- nowy poziom metaprogramowania generycznego - Zakresy i iteracja
- range, foreach, iteratory - Równoległość i współbieżność
- mechanizmy programowania równoległego i współbieżnego, kanały
Dodatki
edytuj- Wprowadzenie dla programistów C/C++
- Super szybkie wprowadzenie dla programistów z języków C/C++ (skrót rozdziału "D dla początkujących") - Wyrażenia regularne
- Wprowadzenie do obsługi wyrażeń regularnych w D - DFL
- Wprowadzenie do osługi interfejsu graficznego poprzez bibliotekę DFL - Bazy danych
- Wprowadzenie do obsługi baz danych w D - Programowanie sieciowe
- Proste aplikacje typu klient-serwer w D - Indeks słów kluczowych
- Indeks słów kluczowych języka D wraz z odnośnikami do pierwszego użycia w podręczniku - Test
- Kilka testów wraz z odpowiedziami, które pomogą tobie ocenić znajomość języka oraz przygotują na ewentualny egzamin.