okladka

Poznanie istoty programowania komputerów można zacząć od analizy języków programowania, ich struktur, typów danych i instrukcji. Jednak mnogość języków, różnice pomiędzy nimi i możliwość wykorzystania ich do różnych zadań sprawiają, że przeprowadzenie takiej analizy będzie niezwykle czasochłonne, a jednocześnie nie będzie gwarantowało poznania wszystkich koncepcji i paradygmatów programowania. Naukę koncepcji programowania najlepiej rozpocząć od poznania modelowych struktur realizowanych za pomocą modeli obliczeniowych -- konstrukcji definiujących sposób realizacji obliczeń, nie powołujących się na konkretny język.

Książka "Programowanie. Koncepcje, techniki i modele" prezentuje programowanie jako zbiór takich właśnie modeli. Opisuje je w postaci kodów stworzonych w prostym języku podstawowym przeznaczonym dla abstrakcyjnego komputera. W książce przedstawiono zarówno modele ogólne -- programowanie deklaratywne, współbieżność deklaratywną, współbieżność przesyłania komunikatów, stan jawny, programowanie zorientowane obiektowo, współbieżność stanu dzielonego oraz programowanie relacyjne -- jak i modele specjalizowane, takie jak programowanie graficznych interfejsów użytkownika, programowanie rozproszone oraz programowanie z ograniczeniami. Publikacja zawiera wiele fragmentów programów i ćwiczeń. Można je uruchomić w ramach systemu Mozart Programming System -- pakietu programistycznego rozprowadzanego na licencji open source.

Pisanie niezawodnych programów wymaga opanowania koncepcji leżących u ich podstaw. Dzięki tej książce poznasz je wszystkie.


Wstęp (7)
Uruchamianie przykładowych programów (21)
1.Wprowadzenie do problematyki programowania (23)
CZĘŚĆ I OGÓLNE MODELE OBLICZENIOWE (49)
2. Deklaratywny model obliczeniowy (51)
3. Techniki programowania deklaratywnego (129)
4. Współbieżność deklaratywna (249)
5. Współbieżność z przesyłaniem komunikatów (359)
6. Stan jawny (415)
7. Programowanie obiektowe (493)
8. Współbieżność ze stanem dzielonym (569)
9. Programowanie relacyjne (617)
CZĘŚĆ II SPECJALISTYCZNE MODELE OBLICZENIOWE (673)
10. Projektowanie interfejsu GUI (675)
11. Programowanie rozproszone (701)
12. Programowanie z ograniczeniami (745)
CZĘŚĆ III SEMANTYKA (775)
13. Semantyka języka programowania (777)
DODATKI (811)
A Zintegrowane środowisko systemu Mozart (813)
B Podstawowe typy danych (817)
C Składnia języka (833)
D Generalny model obliczeniowy (843)
Bibliografia (853)
Skorowidz (865)