Smokes your problems, coughs fresh air.

Tag: book

The Architecture of Open Source Applications book

This link to The Architecture of Open Source Applications book was gathering dust somewhere in my ~/jot directory. In true free software spirit, it is released under a Creative Commons licence and the individual chapters are readable online. Each chapter about the architecture of a particular open source software project is written by the (co-)author of that respective project.

[…] In these two books, the authors of four dozen open source applications explain how their software is structured, and why. What are each program’s major components? How do they interact? And what did their builders learn during their development? In answering these questions, the contributors to these books provide unique insights into how they think.

Structure and Interpretation of Computer Programs

Structure and Interpretation of Computer Programs is on-line free MIT text-book that uses Scheme in an attempt to give the reader a general and practical understanding of programming.

Not having read the book myself, I’m not sure if the goal of its authors was successful but it is neatly summarized in the Preface:

Our design of this introductory computer-science subject reflects two major concerns. First, we want to establish the idea that a computer language is not just a way of getting a computer to perform operations but rather that it is a novel formal medium for expressing ideas about methodology. Thus, programs must be written for people to read, and only incidentally for machines to execute. Second, we believe that the essential material to be addressed by a subject at this level is not the syntax of particular programming-language constructs, nor clever algorithms for computing particular functions efficiently, nor even the mathematical analysis of algorithms and the foundations of computing, but rather the techniques used to control the intellectual complexity of large software systems.

Our goal is that students who complete this subject should have a good feel for the elements of style and the aesthetics of programming. They should have command of the major techniques for controlling complexity in a large system. They should be capable of reading a 50-page-long program, if it is written in an exemplary style. They should know what not to read, and what they need not understand at any moment. They should feel secure about modifying a program, retaining the spirit and style of the original author.

Maybe this is worth a read?

© 2022 BigSmoke

Theme by Anders NorenUp ↑