Foundations of Programming is a free ebook written by Karl Seguin, a member of the CodeBettter community. As you might have guessed by now from the fact the book is free, he is Canadian. :)
There is even a Foundation of Programming site, where there are a lot of free resources on programming as well as other free ebooks.
About the book, it is a good read. A bit inconsistent, it seemed, since it starts with chapters on Domain Driven Design, Persistence, Dependency Injection, Unit Testing, then moves to Object Relational Mappers and then has three "Back to Basics" chapters about Memory, Exceptions and Proxies. There is a logic to this, but the jump from expert to junior programming and then back again was a little annoying.
Interestingly enough, Karl Seguin is a former Microsoft MVP that advocates ALT.Net.
Bottom line, it is a good and easy read for all levels of programming. People might be attracted to the way Karl is expressing his opinion without actually being biased towards any of the usual debate parties. Beginners might learn about the foundations of the stuff they take for granted, like heap/stack, while more advanced developers can start thinking about structured ways of doing work, like DDD and automated unit testing. Neither chapter is a complete new revelation, but taken together, they do present a clear picture of programming from Karl Seguin's perspective and can surprise you on matters you thought you had complete control over.
The book gives you a nice introduction to different programming concepts.
The 'Back to Basics: Memory' chapter is one of the best explanations of the subject I've read in a long time. Because of this, I gave the book 4 stars.
I enojied reading this book, it has many of interesting subject plus it not that long it'll give you a great information about a lot of points inside programming/developing world, for myself I've learned a lot of things specially it encourage me to give NHibernate a try and I'm enjoying myself by further read about it plus the unit-testing. It's a free book and I suggest it to every programmer/developer put there. It must be in your book shelf.
Mas allá de las tecnologías que se usen para los ejemplos da una visión buena y resumida (es un conjunto de posts) de "el estado del arte" del desarrollo. Bueno para empezar o como recordatorio