Książki o programowaniu komputerów

Ciekawe książki dotyczące programowania komputerów dostępne on-line.

Programowanie

Harold Abelson, Gerald Jay Sussman, Julie Sussman Structure and Interpretation of Computer Programs – doskonała książka wprowadzająca w różne techniki programowania (przykłady w języku Scheme). On-line dostępna w wersji angielskojęzycznej pod adresem http://mitpress.mit.edu/sicp/ . Została wydana po polsku przez WNT pod tytułem Struktura i interpretacja programów komputerowych. Dostępne są wykłady do tej książki nagrane na video (po angielsku).

Eric Steven Raymond The Art of Unix Programming – wbrew nazwie, jest to książka o sztuce i filozofii tworzenia oprogramowania w ogólności, niezależnie od języka czy systemu operacyjnego. Dostępna w wersji angielskojęzycznej pod adresem http://www.faqs.org/docs/artu/ . Została wydana po polsku pod tytułem Sztuka programowania.

Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, Shriram Krishnamurthi How to Design Programs. An Introduction to Computing and Programming.

Programy równoległe i rozproszone

C.A.R. Hoare Communicating Sequential Processes (CSP) - książka, jak tytuł wskazuje, omawia programowanie wieloprocesowe z komunikacją miedzy procesami. Po raz pierwszy wydana w 1995 roku, dostępna jest obecnie w formie pliku pdf pod adresem http://www.usingcsp.com/

Nicholas Carriero, David Gelernter How to write parallel programs - obszerny przegląd technik programowania równoległego. Plik pdf dostępny pod adresem http://www.lindaspaces.com/book/index.html

Analiza i projektowanie systemów

Structured Analysis Wiki - rozwinięcie znanej książki Edwarda Yourdona Modern Structured Analysis wydanej w 1989 roku, dostępnej potem on line w ciągle rozwijanej formie jako Just Enough Structured Analysis (nadal można ją pobrać jako pdf) a obecnie rozwijanej w formie wiki. Pierwotna wersja książki ukazała się po polsku pod tytułem Współczesna analiza strukturalna.

Różne artykuły

http://www.perl.com/pub/2004/04/08/bloom_filters.html – filtry Blooma, alternatywa dla hashtable

O systemach operacyjnych

Wycinek z dyskusji na comp.lang.lisp:

Tanenbaum's "Operating Systems Concepts" has good discussions of threading and shared data structure access. His "Minix" books have less theory but show gory details of implementation (in C) from the Minix OS and walk the reader through the problems and solutions.

Comer's XINU books are similar to the "Minix" books but go even heavier on implementation detail (also in C) with walk-throughs and just enough theory to get you thinking. Comer covers everything but I think Tanenbaum's treatment in the "Minix" books is more balanced.

Bach's "Design of the Unix Operating System" is relatively easy reading and a good balance between theory and implementation example.

Mullender's "Distributed Systems", while geared to separate memory systems, has excellent abstract discussions of program global state, scheduling, communication, synchronization, replication and fault tolerance. Highly recommended as a concept book.

© Piotr Chamera, 2001–2016