Showing posts with label Books. Show all posts
Showing posts with label Books. Show all posts

Thursday, May 29, 2008

C# IN DEPTH – An amazing book by Jon Skeet

Indeph

Recently my friend Jon Skeet finally released his book C# IN DEPTH. I got a copy as soon as Amazon started selling them and have already gone through a few chapters.

I must say I was expecting a lot from this book and I am NOT disappointed. Jon did an incredible, detailed and well articulated job at creating a C# masterpiece. In my opinion this book stands along side Code Complete, its simply tailored to a more specific audience.

I really do not want to say anymore, I am not the best writer and will simply ramble and do injustice to the book. Please simply take my word for it, if you are a C# developer you will be amazing at how much this book can teach you.

Here are some related links and I look forward on hearing your feedback on Jon’s book:

Saturday, April 19, 2008

Super Crunchers – Audio Book Review

supercrunchersI have recently started listening to Audio books as another way to enjoy books while on the go. My service of choice at the moment is Audible.com which has descent prices and a good selection.

After some consideration I have decided to make my first book choice: Super Crunchers by Ian Ayres, narrowed by Michael Kramer.

If you never heard of this book before, here is a summary by the publisher:

Why would a casino try and stop you from losing? How can a mathematical formula find your future spouse? Would you know if a statistical analysis blackballed you from a job you wanted?

Today, number crunching affects your life in ways you might never imagine. In this lively and groundbreaking new audiobook, economist Ian Ayres shows how today's best and brightest organizations are analyzing massive databases at lightening speed to provide greater insights into human behavior. They are the Super Crunchers. From Internet sites like Google and Amazon that know your tastes better than you do, to a physician's diagnosis and your child's education, to boardrooms and government agencies, this new breed of decision-maker is calling the shots. And they are delivering staggeringly accurate results. How can a football coach evaluate a player without ever seeing him play? Want to know whether the price of an airline ticket will go up or down before you buy? How can a formula out-predict wine experts in determining the best vintages? Super crunchers have the answers.

In this brave new world of equation versus expertise, Ayres shows us the benefits and risks, who loses and who wins, and how super crunching can be used to help, not manipulate, us. Gone are the days of solely relying on intuition to make decisions. No businessperson, consumer, or student who wants to stay ahead of the curve should make another keystroke without listening to Super Crunchers.

Now that I am almost done with the book I feel I can fairly review it and its a positive review. The book is very interesting and the narration is excellent! I really cant stress how much Michael Kramer brings a relative passive topic alive and keeps you glued to the story.

This website is not about book reviews so I wont bore you with any additional details, but if you like audio books or ever wanted to try and listen to one this is a great one to get.

Note: If you have never been a customer of Audible you can get one free audio book by using the special offer link available to TWiT listens, here it is.

Monday, January 28, 2008

Moving Forward: Learning .NET 3.5, VS 2008 and C#

Its time for me to seriously jump into .NET 3.5, VS 2008, and C# 3.0. I will be honest, there are still some things I need to learn about C# 2.0 but such is life, one must move forward.

Today I accidentally stumbled upon .NET 3.5 Books from apress. I cannot speak for these books personally as I have not seen any of them, but judge for yourself.

skeet_cover150For C# addicts like myself I also strongly recommend my friend Jon Skeet's .NET book which is coming out in the very near future. It is titled C# in Depth and the first chapter is already online and it will have you hooked. Here is the table of contents for his book if anyone is interested:

C# In Depth Tables of Contents

Part 1: Preparing for the journey
1. The changing face of C# development - FREE
2. Core foundations: building on C#1

Part 2: C# 2 - Solving the issues of C# 1
3. Parameterized typing with generics 
4. Saying nothing with nullable types 
5. Fast-tracked delegates 
6. Implementing iterators the easy way 
7. Concluding C#2: the final features

Part 3: C# 3 - Revolutionizing how we code
8. Cutting fluff with a smart compiler 
9. Lambda expressions and expression trees 
10. Extension methods
11. Query expressions and LINQ to Objects
12. LINQ beyond collections
13. Elegant code in the new era

Wednesday, December 12, 2007

What is your technical reading list?

While on the train today I noticed someone reading "Design Patterns: Elements of Reusable Object-Oriented Software", a favorite book of mine for studying and referencing Design Patterns. Striking up a conversation with the reader we both agreed that this was a great book worth studying but hard to apply without practical experience. We also agreed that using this book to "know what's out there" is a powerful tool regardless of the implementation challenges (No one said patterns were easy).

This chance encounter made me think about my own essential reference/study list of technical books, so here are the core items:

This list is only the beginning but does represent the core of what I would recommend to others without hesitation. Unfortunately it is not common to find other engineers who even know of these books and therefore I hope this posting can help bring attention to them. Below is more information about each book, I hope you find it useful.

Disclosure: All book links posted on this site are associated with my Amazon associate id and will make me money if your purchase them using these links.

Code Complete

code complete Code Complete (second edition) by Steve McConnell is an excellent and very comprehensive guide on many facets of Software Engineering. This book covers coding techniques, construction practices, software design, and other topics. Many Software Engineers including myself consider this book required reading and reference. Its wide-range of topics also makes it a really ideal starting point for beginners+.

You can hear more about how this book came into existence by listening to .NET Rocks! Show #215 were Steve McConnell is the guest being interviewed.

Design Patterns - Elements of Reusable Object-Oriented Software

design patterns book Design Patterns is a book by Erich Gamma, Richard Helm, Ralph Johnson, and John M. Vlissides. This book describes 23 patterns in the context of Object Oriented Design, along with some general concepts important to get you started with patterns.

Patterns make software engineering much easier and consistent when the right pattern is applied to the right problem. Getting an insight into a large number of pattern is the best way to get on track towards actually using them and gaining the added coding efficiency.

To put it simply: don't reinvent the wheel. Use patterns correctly and you will leverage proven approaches to common software engineering problems.

21OLKCbooch_booch_secondary As an extra bonus this book starts with a forward by a Software Engineer, Architect and technical book writer Grady Booch. Mr. Booch has done a lot in the field of Design Patterns to help evangelize the concepts this book covers and deserves recognition.

Refactoring - Improving the Design of Existing Code

refactoring improving the design of existing code Refactoring - Improving the Design of Existing Code is a book by Martin Fowler, Kent Beck, John Brant, William Opdyke, and Don Roberts. As with the Design Patterns book it is very beneficial to include multiple authors under one cover. This provides a variety of insights into a complex topic that one person would have a hard time covering comprehensively.

If you consider yourself a true Software Engineer then Refactoring should already be a concept your familiar with. Luckily this is not a new concept and this book provides before and after code demonstrations of over 70 techniques, helping open the readers eyes to much more then one person can achieve starting from scratch.

As Software gets more and more complex I believe the skill of Refactoring will become critical. The likelihood of design-flaws in first-iteration coding and architecture due to the increased complexity of technology and business expectations will mean Refactoring is the primary, if not the only avenue of increasing code quality and even meeting the final business requirements. Getting it right the first time around is simply not an option in most cases.

Commonality - Not just a training book, but also your reference

One common theme stretches across all of the above books: The ability to read them in a fairly disconnected manner, choosing the topics which apply to you and even using them as a reference for an active project. This is perhaps the reusability/easy access factors that makes these books so successful.

Special Thanks to Robert

One of my former bosses named Robert (my former CTO) deserves a lot of credit as he encouraged me to read and provided me the first copies of these books.

Robert strongly believed that we were not programmers but Software Engineers and therefore must have access and study how to develop software at a professionally level. I hope to post more on my time working for him at a later time.

(Last name not used above to protect Robert's privacy)