Tuesday, June 28, 2005
Last Thursday, I announced that we are working on a version of our timeline software for Windows. It has been about 5 years since I switched my development efforts to Mac software and since then, I haven't done any serious software development on a Windows application so it is definitely time for me to brush up my skills. That means it's time to get a new book!
I have been writing code since about the 5th grade. Back then I was finding BASIC code in our "Family Computing" magazine and entering it into our TRS-80 Model III. I didn't really know what I was doing until I took all the 100 level programming courses at the University of Washington. I was a music major, so I took these classes as electives. The university classes were really great for learning the fundamentals of software development and understanding how a computer thinks. However, they really didn't go very far in teaching the real world of computer programming. For that, I learned from books!
Right now, I'm reading through Windows Forms Programming in C#. The last time I wrote Windows applications, the choices were pretty much Visual Basic (which always seemed to me to be an overgrown hobby environment rather than a real scalable, professional platform) and C++ with MFC which seemed like such a mess that I jumped ship and started writing Cocoa programs for the Mac instead. Things have changed a bit in the last few years at Microsoft so it is like starting over again. I'm getting up to speed on Windows Forms, C#, and .NET. I have heard from several sources that this book by Chris Sells is the one to get, so I'm going through it now. I will be sure to keep you posted on my progress.
At the same time, I have got another programmer coming on board to help out with our upcoming document callout software. He has experience programming but is new to the Mac platform. For him, I recommended one of my favorite programming books ever: Cocoa Programming for Mac OS X by Aaron Hillegass. This book is a great example of a tutorial format book. Written for people who understand the theory of programming but are new to the Cocoa technology. I have to warn you that this book (and the technology it describes) is so cool that it may cause you to quit your job programming for Windows and become a Mac programming vagabond. Don't say that I didn't warn you.
Finally, I can't give talk about software books without giving props to the book to which I owe my career, Learning Perl. While I was still in school I was doing some data entry / HTML work for the Costco web site. I need came up for some programming work in Perl and I said that I could do it even though I didn't have any experience writing software besides my programming classes and the little games I made growing up. This book saved my life on that project and starting me on the path towards being a professional developer. The $35 that I spent on the book seemed like a lot at the time, but turned out to be the best financial investment I have ever made.