|Good Reads In Applied Programming Theory And Techniques|
|Written by Kay Ewbank|
|Monday, 01 June 2020|
Page 1 of 2
In Programmer's Bookshelf we provide recommendations for books that are keepers - ones you want to have on hand for those times when you want some information that you can rely on or you want to read around a topic so that you are properly informed.
In our last programmer's bookshelf, we looked at books that concentrated on the core underlying theories of programming. This selection is of books that take a more targeted approach to theory and how theoretical ideas can be used in practice. Books that talk about the big underlying ideas of computer science have their place, but the titles we're looking at here could be more useful, because they explain ideas that developers want to apply in practice.
Most of the books in this selection take a technology or theory such as concurrency, regular expressions, or theoretical computing machines, and look at it in detail. In some cases this involves using a specific programming language to illustrate the idea, and where this is the case we've made that clear.
If you make a book purchase from Amazon.com via a link from IProgrammer we are credited with a few cents - so thanks to all of you who support us in this way.
How Software Works
Author: V. Anton Spraul
With a subtitle like "The Magic Behind Encryption, CGI, Search Engines, and Other Everyday Technologies" this is an excellent book but it doesn't pull any punches, according to Mike James, who gave it the maximum rating of five stars.
He said that if you are looking for a light and fluffy read that takes you through a catalog of how wonderful computers are without actually telling you anything then this is not the book for you. It does go into the detail, and needs at least some programming experience. For that audience, this book will tell you things that others just skirt around.
Author: Tom Stuart
This title's ideal reader would be a Ruby developer who want to know more about computer science. Mike James gave it four stars, saying the clue to its subject matter is contained in the subtitle: From Simple Machines to Impossible Programs. If you know some computer science then you will guess that this is about the hierarchy of theoretical computational machines and things like the halting problem.
Mike's reservation was that readers need to be willing to spend time on the practical side of understanding the theory through Ruby programs, and his view is that this isn't the most straightforward way to tackle the ideas, and some key theoretical ideas aren't covered. However, it was a book Mike enjoyed reading and if you think that a practical introduction to many aspects of computer science is something you would appreciate then it comes highly recommended.
DSLs in Action
Author: Debasish Ghosh
DSLs should be part of the advanced programmer's collection of tools, says Mike James. He gave this book 4.5 stars, saying that there are some situations in which DSLs make things simpler, but it can be tricky to find out about what can be a complex topic laden with jargon and difficult computer science techniques.
Mike says that this really is a great book. It is deep and it goes places other books just dream of visiting. If you want to know about DSLs in depth then read it, but be prepared to also read up on the missing information in your technical background. The author is clearly a very clever programmer and not all of us can keep up. If the book has a defect then it is simply that it doesn't cover DSLs in the .NET or Windows environment - but if it did then I would have to add a few more languages and another block of knowledge to the requirements to get anything from this book. It is a really good book on DSLs, but you do need to be warned of the minimum system requirements for the potential reader. If you are up to the challenge then you will get a great deal of goodness from it.
Language Implementation Patterns
Author: Terence Parr
This book takes a very traditional syntax and parsing approach to language creation, according to Mike James, who gave the book five stars. The subtitle of this book is "Create Your Own Domain-Specific and General Programming Languages", though Mike says the mention of Domain Specific Languages is probably a bit of a red herring.
The book actually looks at the theory of formal languages and the problems of implementing a real computer language, in a readable and practically-oriented way. Mike acknowledges that the need to introduce languages into your applications isn't something that is common, but it is a lot of fun, and even a little knowledge of syntax and grammar can allow you to think about some tasks - like processing your applications' configuration files - in a different way.
If you want to know about the implementation of computer languages then buy and read a copy of this book - it's great fun!
|Last Updated ( Monday, 01 June 2020 )|