Scott Tiger Tech Blog

Blog technologiczny firmy Scott Tiger S.A.

Książki – kalejdoskopy

Autor: Piotr Karpiuk o wtorek 26. Kwiecień 2011

Pafau znalazł ostatnio ciekawą książkę: The Elements of Computing Systems: Building a Modern Computer from First Principles. Reklamuje ją następująco:

Zaczynając od bramki NAND, instruuje w 12 krokach, jak zbudować ALU, CPU, pamięć, język maszynowy, assembler, kompilator, system operacyjny, maszynę wirtualną i język obiektowy wysokiego poziomu.

Polecam wszystkim, którzy ciągle jeszcze mają w rękach kilka luźnych sznurków i brak im instrukcji, która pomoże zmontować z tego całość. A zaprawdę, szerszy plan, na którym widać jak wiążą się hardware i software przy pomocy (wyjaśnionych w książce) abstrakcji jest piękny.

Z czasów studenckich przypominam sobie, że takich perełek jest więcej. Kto kojarzy książkę Struktura i interpretacja programów komputerowych (Abelson, Sussman), czyli słynny „Wizard book”? Jest to pod pewnymi wzgledami pozycja komplementarna do wspomnianej wyżej, a dostępna w tłumaczeniu na język polski.

Strona książki udostępnia pełną treść oryginału (w jęz. angielskim).

Jest to książka dla początkujących (!) czyli studentów pierwszego roku matematyki/informatyki (podrecznik na MIT), w szczególności takich którzy do tej pory w ogóle nie widzieli komputera na oczy. Zaczyna od omawiania abstrakcji takich jak procedury, obiekty, stan, łączenie procedur w twory wyższego rzędu (moduły, funkcje wyższego rzędu – czyli funkcje pobierające funkcje jako parametr), przy czym zapomnijcie o pętlach – jest rekurencja ogonowa. Przedstawienie się zaczyna, gdy zgrabnie przechodzi do programowania w logice, omawia programowanie współbieżne, leniwą ewaluację charakterystyczną dla języków takich jak Haskel, i programowanie
niedeterministyczne. Ostatni rozdział wspina się na wyżyny – tutaj czytelnik buduje maszynę wirtualną – interpreter (co na wielu uczelniach jest czesto przedmiotem ostatnich lat studiów). Piękno książki opiera się na tym, że językiem programowania przewijającym się przez całą treść jest język funkcyjny: Scheme (odmiana LISPa), a budowanym w ostatnim rozdziale interpreterem jest… interpreter Scheme.

Recenzje na Amazonie odzwierciedlają emocje: wyraźnie widać podział na obóz osób które książkę ubóstwiają (92 osoby), i tych co ją serdecznie do szpiku kości nienawidzą (53) – z niemal pustym przedziałem pomiędzy.

Książka ma swoją stronę na wikipedii.

Share and Enjoy:
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Śledzik
  • Blip
  • Blogger.com
  • Gadu-Gadu Live
  • LinkedIn
  • MySpace
  • Wykop

Zostaw komentarz

XHTML: Możesz użyć następujących tagów: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>