D

50% Status
Z Wikibooks, biblioteki wolnych podręczników.

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[edytuj]

Wstęp[edytuj]

O podręczniku Etap rozwoju: 50% (w dniu 12.12.2006)
- podstawowe informacje, o autorach i jak pomóc
O języku Etap rozwoju: 50% (w dniu 11.12.2006)
- historia i zastosowania języka D
Czego potrzebujesz Etap rozwoju: 25% (w dniu 13.12.2006)
- informacje o niezbędnych narzędziach
Używanie kompilatora Etap rozwoju: 00% (w dniu 13.12.2006)
- korzystanie z podstawowych narzędzi

D dla początkujących Etap rozwoju: 75% (w dniu 27.06.2016)[edytuj]

Pierwszy program Etap rozwoju: 100% (w dniu 28.06.2016)
- wstęp do składni języka, przykładowe programy, pierwsza kompilacja i uruchomienie
Podstawowe wiadomości Etap rozwoju: 100% (w dniu 28.06.2016)
- czym jest, jak działa oraz co może D
Zmienne w D Etap rozwoju: 100% (w dniu 29.06.2016)
- użycie, typy, modyfikatory, stałe, konwersje
Podstawowe procedury wejścia i wyjścia Etap rozwoju: 100% (w dniu 29.06.2016)
- czym jest wejście-wyjście, korzystanie z podstawowych funkcji
Podstawowe operacje matematyczne Etap rozwoju: 100% (w dniu 30.06.2016)
- matematyka w języku D, operatory matematyczne
Instrukcje sterujące Etap rozwoju: 75% (w dniu 18.12.2006)
- if, switch, for, while, foreach
Funkcje Etap rozwoju: 100% (w dniu 30.06.2016)
- pojęcie funkcji i procedury
Tablice Etap rozwoju: 75% (w dniu 13.12.2006)
- pojęcie tablicy, operacje na tablicy; tablice dynamiczne i assocjasyjne.
Napisy Etap rozwoju: 75% (w dniu 13.12.2006)
- przechowywanie, operacje, konwersje
Kontrakty Etap rozwoju: 75% (w dniu 13.12.2006)
- programowanie kontraktowe, assercje, testy jednostkowe, czyli jak zabezpieczyć się przed błędami
Biblioteka standardowa Etap rozwoju: 75% (w dniu 28.06.2016)
- jak korzystać z plików biblioteki standardowej; importowanie innych modułów
Moduły i pakiety Etap rozwoju: 100% (w dniu 27.06.2016)
- jak pisać własne moduły i pakiety, czyli podzielić program na wiele części
Ćwiczenia Etap rozwoju: 100% (w dniu 27.06.2016)

Zaawansowany D[edytuj]

Typy złożone Etap rozwoju: 75% (w dniu 29.06.2016)
- deklarowanie własnych typów, typy wyliczeniowe, unie i struktury
Obsługa plików Etap rozwoju: 75% (w dniu 28.06.2016)
- odczyt i zapis do pliku, operacje na plikach i katalogach
Więcej o kompilowaniu Etap rozwoju: 75% (w dniu 29.06.2016)
- Kompilacja, linkowanie i Makefile
Zaawansowane operacje matematyczne Etap rozwoju: 00% (w dniu 13.12.2006)
- używanie funkcji matematycznych, operacje na liczbach zespolonych
Przeciążanie funkcji Etap rozwoju: 00% (w dniu 13.12.2006)
- po co i jak przeciązać funkcje
Wskaźniki Etap rozwoju: 75% (w dniu 8.07.2016)
- wskaźniki, zarządzenie pamięcią
Powszechne praktyki Etap rozwoju: 00% (w dniu 13.12.2006)
- kilka dobrych zwyczajów programisty D
Przenośność programów Etap rozwoju: 00% (w dniu 13.12.2006)
- kilka ważnych informacji nt. przenośności programów napisanych w języku D
Łączenie z innymi językami Etap rozwoju: 00% (w dniu 13.12.2006)
- łączenie języka D z innymi językami programowania (C, Python, Fortran)
Ćwiczenia Etap rozwoju: 100% (w dniu 8.07.2016)

Obiekty w D[edytuj]

Programowanie obiektowe Etap rozwoju: 00% (w dniu 13.12.2006)
- idea klas i obiektów, pól i metod
Konstruktor i destruktor Etap rozwoju: 75% (w dniu 29.06.2016)
- konstruktor i destruktor, więcej o zarządzaniu pamięcią w D
Przeładowywanie operatorów Etap rozwoju: 25% (w dniu 29.06.2016)
- jak ułatwić korzystanie z pewnych obiektów
Dziedziczenie i interfejsy Etap rozwoju: 00% (w dniu 13.12.2006)
- jak rozszerzyć już istniejącą klasę
Składniki statyczne Etap rozwoju: 00% (w dniu 13.12.2006)
- pola i metody statyczne
Kontrakty w obiektach Etap rozwoju: 00% (w dniu 13.12.2006)
- kontrakty w metodach, testy jednostkowe, niezmienniki obiektów
Kontrola dostępu Etap rozwoju: 00% (w dniu 13.12.2006)
- dostęp publiczny i prywatny
Ćwiczenia Etap rozwoju: 00% (w dniu 13.12.2006)

D dla wtajemniczonych[edytuj]

Wyjątki Etap rozwoju: 00% (w dniu 13.12.2006)
- sytuacje wyjątkowe w D oraz ich obsługa
Kompilacja warunkowa Etap rozwoju: 00% (w dniu 13.12.2006)
- generacja różnego kodu na etapie kompilacji (version, debug)
Szablony Etap rozwoju: 00% (w dniu 13.12.2006)
- idea szablonów (template), interakcja z kompilatorem (pragma)
Mixiny Etap rozwoju: 00% (w dniu 13.02.2007)
- czyli programy piszące inne programy
Funkcje czasu kompilacji Etap rozwoju: 00% (w dniu 13.02.2007)
- wywoływanie funkcji w czasie kompilacji
Delegaty i leniwa ewaluacja Etap rozwoju: 00% (w dniu 13.12.2006)
- elementy programowania funkcyjnego
Krotki typów Etap rozwoju: 00% (w dniu 13.02.2007)
- TypeTuple, czyli manipulowanie zbiorami typów i szablonami o zmiennej ilości argumentów
Metaprogramowanie Etap rozwoju: 00% (w dniu 13.12.2006)
- czyli połączenie templetów, mixinów i funkcji czasu kompilacji
Wątki Etap rozwoju: 00% (w dniu 13.12.2006)
- Programowanie wielowątkowe (thread, synchronized)
Odpluskwianie Etap rozwoju: 00% (w dniu 13.12.2006)
- Używanie debugera gdb do znajdywania błędów w programach
Profilowanie oraz analiza pokrycia Etap rozwoju: 00% (w dniu 13.12.2007)
- 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 Etap rozwoju: 00% (w dniu 13.12.2006)
- różne drobne zmiany, dodatki, i przestarzałe funkcjonalności.
Const Etap rozwoju: 00% (w dniu 13.12.2006)
- const, immutable, inout/ref, shared, pure, nothrow, string, @safe, @property, .idup, .dup, thread local storage (TLS)
D/D2_phobos Etap rozwoju: 00% (w dniu 13.12.2006)
- różne zmiany w bibliotece standardowej, nowe moduły, przestarzałe funkcje i moduły
Type traits Etap rozwoju: 00% (w dniu 13.12.2006)
- nowy poziom metaprogramowania generycznego
Zakresy i iteracja Etap rozwoju: 00% (w dniu 13.12.2006)
- range, foreach, iteratory
Równoległość i współbieżność Etap rozwoju: 00% (w dniu 13.12.2006)
- mechanizmy programowania równoległego i współbieżnego, kanały

Dodatki[edytuj]

Wprowadzenie dla programistów C/C++ Etap rozwoju: 00% (w dniu 17.12.2006)
- Super szybkie wprowadzenie dla programistów z języków C/C++ (skrót rozdziału "D dla początkujących")
Wyrażenia regularne Etap rozwoju: 00% (w dniu 13.12.2006)
- Wprowadzenie do obsługi wyrażeń regularnych w D
DFL Etap rozwoju: 00% (w dniu 13.12.2006)
- Wprowadzenie do osługi interfejsu graficznego poprzez bibliotekę DFL
Bazy danych Etap rozwoju: 00% (w dniu 13.12.2006)
- Wprowadzenie do obsługi baz danych w D
Programowanie sieciowe Etap rozwoju: 00% (w dniu 13.12.2006)
- Proste aplikacje typu klient-serwer w D
Indeks słów kluczowych Etap rozwoju: 00% (w dniu 18.12.2006)
- Indeks słów kluczowych języka D wraz z odnośnikami do pierwszego użycia w podręczniku
Test Etap rozwoju: 00% (w dniu 18.12.2006)
- Kilka testów wraz z odpowiedziami, które pomogą tobie ocenić znajomość języka oraz przygotują na ewentualny egzamin.