The Pragmatic Programmer

The Pragmatic ProgrammerThe Pragmatic Programmer

  • from journeyman to master
  • Andrew Hunt & David Thomas
  • Programming/Software Engineering

Over the last few years I have become quite addicted to reading books on web design, programming languages and software development in general. I can't think why because in the past I was only concerned with anything but. When I returned home in the evening I certainly didn't want to start learning about another programming language.

The Pragmatic Programmer should really be required reading for anyone who is seriously looking at being a developer. You may not heed every piece of advice, you may not even agree with all of advice that is given but it will give you a better understanding of programming as a whole.

I enjoyed the book basically because I just sat there saying to myself, "That's what we should be doing at work!", "That's what I should be doing instead of what I'm doing now!". It's given me the enthusiasm to automate procedures, to make the computer work for me/us instead of the other way around. Of course I couldn't do this kind of thing without the Ruby language.

One thing happened on Friday while I was working. Now, I don't want to apportion blame on any particular hardware/software platform but I was deleting a file. I think the file was only about 3k in size and the little piece of paper was flying across the little progress window. Of course this is annoying as this takes at least 30 seconds to perform. I typically have 3 command windows open for development. Tip 21 in this book is Use the Power of Command Shells.


Agile Web Development with Rails

Agile Web Development with RailsAgile Web Development with Rails

  • Dave Thomas, David Heinemeier Hansson With Leon Breedt, Mike Clark, Thomas Fuchs and Andreas Schwarz
  • Web Programming

Yes, I've read it all, some sections more than once. It probably isn't a necessary thing to do, but I think that having some knowledge of everything gives you a better understanding of what is possible.

Of course it's been a bit of a struggle. I started working through the example application last December when I bought the book. I quickly found that I just didn't know what the code meant and how the functionality all links together. So, quite rightly, I bought the Programming Ruby book and I worked my way through that. I must just point out that I'm from a procedural programming background and not an object orientated one. That was probably why I found it difficult to get my head around some of the concepts. When I eventually came back to this book I did find it easier to understand how things worked.

Ruby and the Rails framework are just light years ahead of the programming language that I use a work. While reading the book I've often thought how great it would be if we had that kind of functionality in our application.

If you're interested in Rails then this book pretty much has it all. It starts with the development of a simple application, then moves on to describe the framework in more depth, then deals with AJAX, security and deployment. There is even an overview of the Ruby language in a section at the back.

I'll certainly be buying the next edition to see what else has been added to this elegant framework.


Programming Ruby

Programming RubyProgramming Ruby

  • Dave Thomas with Chad Fowler and Andy Hunt
  • Programming

In my professional capacity, as a programmer of long standing, I've used a few languages: Pascal, Cobol, Silicon Office, Focus and currently Informix 4gl/Four J's and ASP.NET. Some I've liked using, some I've hated with passion. Visual Basic I tinkered with for a while at home and I just thought it was vile. Having a little bit of code embedded in a field on a tab of a property of a button just did not appeal to me at all. I am a little 'old-school' in that regard. I like to be able to open the program in a text editor and know that the reason it isn't working is in the file somewhere. And the fact that I hate using a mouse to edit programs with doesn't help.

Last December I decided to learn Ruby on Rails and bought the Agile Web Development with Rails book. I worked through the first hundred pages or so but felt that I need to know more about Ruby as a language before I moved onto Rails. Some people have programmed Rails without the need to learn Ruby but I've come from a procedural development background instead of an object orientated one.

This book is the definitive guide to the Ruby language and is sometimes call the PickAxe after the cover photo. It deals with all facets of Ruby from the initial tutorial, for people new to the language like me, to the comprehensive reference section at the back detailing all the methods, classes and modules.

I must admit that I struggled a little at first. Not because of a problem with the book more a problem with trying to get my rapidly ageing brain cells to think in new and different ways. Having just a couple of hours in the evening didn't exactly help either. But I did manage to read everything up to the reference section, so that I knew what the language was capable of. The more I read the more depressed I became. Realising that one line of code in Ruby could take me hours to code using 4gl at work just to perform the same task. You really are spoilt rotten by what the language can do.

It's a book that you will always have to hand because of the reference section at the back. As a programmer, there is nothing better than flicking through a user manual and finding something new about the language that you thought you knew so well. In that regard this book will be invaluable.


Extras