Nat Friedman has an interesting article on his blog, entitled “How to become a hacker” – and by hacker, he means computer programmer.
He lists the secret as this:
- Download the source code to the program you want to change
- Untar it on your hard drive
- Get it to build and run
- Open the source code in an editor
- Find the part of the code that you need to change to make the program do what you want it to do
- Make the changes you need to make to the code and test it to make sure it works
- Run the diff -u command and email the output to the mailing list
This he claims is a guaranteed recipe for hackerdom. The rest of the article is an interesting read, but I have to agree with him. My best programming skills (which are lame to poor as far as I am concerned) have come from taking someone else’s code and bending it to my will. Aside from the Inform game I helped my daughter write a while back, I probably haven’t written anything from “scratch” in 5+ years. I do feel that I have learned enough from some of my hackery that I could write code from scratch in PHP (used for my website) or VBScript (managing 750+ XP workstations with a crew of 4) now if I needed to, but haven’t felt the need to re-invent the wheel.
I do know that the advice above is a better way to pick up a new programming/scripting language than reading books or taking courses (as long as you have some programming experience to start with), and that’s a guarantee!