I, like many programmers, have opinions on "how" things should be done. I had never really formalized my thoughts until I read this blog post by Scott at:
And specifically the quote:
I see the truth of this all the time at my job. I see programmers that jump on the latest tool with wild abandon yet refuse to learn the grounding technologies that would teach them the proper way to use this new tool.
"If you want to develop something that is perceived as new and original, start by going through the older works in the field, not the newest."
You all know about the old saw, "If the only tool in the programmers toolbox is a hammer, every problem is a nail."? Well I have a corollary, "If the programmer only knows how to use a hammer, he will try to drive a nail with every tool". One programmer on my team, a long time ago and thankfully not working for the company anymore, was like that.
I once explained his poor coding to my wife with my corollary finishing with "... so now he has this new tool, call it a high price worm drive power saw, and he is using it to drive nails into 2 by 4s." Of course my wife giggled at the mental image. It is a case of using a cool tool for the cool tools sake and to say he did, rather than taking the time to understand the underlying technology and using it where it is most appropriate.
But, I digress. With this blog I will explore programming with dot net: new tools, old concepts and just trying things with my favorite platform.
From Scott's blog I followed a rather crooked path (I could not even begin to retrace that path) and wound up finding a reference to an OLD computer science book filled with computer problems.
The title? "Problems for Computer Solution" by Fred Gruenberger and George Jaffray
The book is filled with problems from the early days of computing (circa 1965, one year before I was born!). Some of the problems confused me and some bored me but most of the amazed me.
For example: How many people know how to calculate the day of the week that a specific date falls on? Neither did I. The book explained that one way is to use a simple algorithm called "Zeller's Congruence". It did not just have an explanation of the equation, but also ways to explore the concept further. Unfortunately, they all revolve around the base language (FORTRAN) and the base system (An IBM 1620*) that the writers used when developing these problems.
As the posts to this blog unfold I will, among all the other things I want to do here, is explore selected problems from this book.
Secondly, I have quite a few old computer programming magazines and I would like to go farther than Scott and explore some of the programs (I'm astounded by how many cool games were published that would make great Silverlight web games!).
I hope that you find my posts as interesting as I do, thanks.______________________________________________________
* Believe it or not, the IBM 1620 was a decimal computer, i.e. it thought in decimal (0 through 9) instead of binary (0 and 1)!