Ocena:

Książka „Typy i języki programowania” autorstwa Benjamina Pierce'a jest powszechnie uważana za doskonałe wprowadzenie do teorii języków programowania, w szczególności systemów typów. Oferuje ona jasne i ustrukturyzowane podejście, dzięki czemu jest dostępna dla czytelników o różnym poziomie wcześniejszej wiedzy. Podczas gdy treść jest chwalona za swoją głębię i kompleksowość, niektórzy użytkownicy uznali wersję Kindle za problematyczną, powołując się na problemy z formatowaniem i czytelnością.
Zalety:Przejrzysty i konwersacyjny styl pisania sprawia, że złożone tematy są bardziej przystępne.
Wady:Dobrze zorganizowane i kompleksowe omówienie języków programowania i systemów typów.
(na podstawie 31 opinii czytelników)
Types and Programming Languages
Kompleksowe wprowadzenie do systemów typów i języków programowania.
System typów to składniowa metoda automatycznego sprawdzania braku pewnych błędnych zachowań poprzez klasyfikowanie wyrażeń programu zgodnie z rodzajami wartości, które obliczają. Badanie systemów typów - i języków programowania z perspektywy teorii typów - ma ważne zastosowania w inżynierii oprogramowania, projektowaniu języków, wysokowydajnych kompilatorach i bezpieczeństwie.
Niniejszy tekst stanowi kompleksowe wprowadzenie zarówno do systemów typów w informatyce, jak i do podstawowej teorii języków programowania. Podejście jest pragmatyczne i operacyjne; każda nowa koncepcja jest motywowana przykładami programowania, a bardziej teoretyczne sekcje są napędzane potrzebami implementacji. Każdemu rozdziałowi towarzyszą liczne ćwiczenia i rozwiązania, a także działająca implementacja dostępna za pośrednictwem Internetu. Zależności między rozdziałami są wyraźnie zidentyfikowane, co pozwala czytelnikom wybrać różne ścieżki przez materiał.
Podstawowe tematy obejmują nieetykietowany rachunek lambda, proste systemy typów, rekonstrukcję typów, uniwersalny i egzystencjalny polimorfizm, podtypowanie, kwantyfikatory ograniczone, typy rekurencyjne, rodzaje i operatory typów. Rozszerzone studia przypadków rozwijają różne podejścia do modelowania cech języków obiektowych.