Programming design
Colin Ferris (399) 1814 posts |
Anyone recommend any books/articles – with ref to Programming Design? |
Steffen Huber (91) 1953 posts |
I heard good things about John Ousterhout’s “A Philosophy of Software Design”, but have yet to read it. Unfortunately, buying the book does not automatically read it for me. John Ousterhout is the original inventor of Tcl and Tk, wrote great books and tutorials about both, and is IIRC the inventor of the “Packer” geometry manager, which is the best thing since sliced bread. Currently, all the software architecture stuff seems to have microservices as a topic. |
Paolo Fabio Zaino (28) 1882 posts |
@ Colin Software design is a wast (and structured) land.
My library is now composed by thousands (yup not making it up) of books stored mostly in digital format these days and the paper one stored between here in the UK and in Italy. One thing I have learned over so many years of studying Software Engineering is that it’s something that was mostly laid down by Turing, he pretty much used most of the software design techniques we know and use to this day. However, different people learn and understand the same concept using different approaches and this is why we have so many books and courses on the matter. Anyway here are few recommendations:
These above are the “cult books” on the matter from just coding to basically philosophy. Then there are books a bit more for the common developer, to help him/her to open his/her mind and pursue coding as a professional form of expression:
There are many like the two above, but those two are very well written and they are surely readable by everyone with some coding experience. Then there are the very practical type, almost a “type-in” that teach coding from making the reader to have to code it, there are a tons of those, if you answer the questions I can post some titles. Modern books tend to focus (as Steffen said) on Cloud Computing and Micro-Services, these are just new “grouping” forms, the mathematical principles, the computational logic, the design patterns are always the same, it’s just the “container” that is changing and the distribution type. However if you are interested in those please say. Hope this gives you some help to figure out what you truly are interested in, good luck! |
GavinWraith (26) 1563 posts |
Let me add my ha’penth to Paolo’s excellent recommendations. 1. Structure and Interpretation of Computer Programs (aka SICP) by Abelson, Sussman and Sussman, MIT Press, 1985 (Third Printing). 2. The Practice of Programming by Kernighan and Pike, Addison-Wesley, 1999. These are old books now; classics that will always be useful. |
Simon Willcocks (1499) 513 posts |
I’d say the two Robert C Martin books Clean Code (which I’ve read) and Clean Architecture (which I haven’t) are probably the best, having the advantage of being written in the last 15 years with an extra 30 years of experience. I liked https://en.wikipedia.org/wiki/Object-Oriented_Software_Construction back in the day. Rust, the programming language has extensive documentation online, including tutorials. https://doc.rust-lang.org/book/ |