My purchase of Delphi books yesterday made me think about programming styles. I’m from the old school, I had physical hard-copy encyclopedias I actually read and browsed through. I went to the library when I needed reference material I didn’t have at home. And I learned programming from books.
Programmer of today realize they don’t need all this. They’ve got the good old WWW, search tools like Google, and reference sites online of everything you could imagine. When they have a question or a problem, they first search for the answer, and if they can’t find it that way, they post their question on a relevant Forum. I do that too, and have especially found that “Googling” error messages is very useful.
Instead of learning from books, programmers of today learn by trying. They are unafraid to open a program and just use it. They expect everything to be obvious, and if they can’t figure it out just by trying, then the program is not designed correctly. (Actually, I am trying to use that concept to keep Behold as easy to use as possible.) If they need to do something but can’t figure out how, they either go to the help file or go to the web. And they better find their answer in 10 seconds or less, or they just won’t do that action and will try something else.
That is actually an excellent way to become proficient at something. By doing you learn and when you run into problems you learn some more by solving the problems. But that can only take you to a certain level.
Once you reach a certain level of proficiency, that’s about as far as you’ll get by trying. What you need next is a good guide (a book or reference) of everything that the program does. You are at the level that you have the knowledge to understand everything the guide is referring to. You’ll start reading about all the wonderful features that you didn’t know about, those that have always been there for you to use. In my case, I’ve got to update myself from Delphi 4 to Delphi 2009 and learn the new capabilities of the programming language and development environment, and displace the old techniques that have now been superceded.
The other thing I get out of the books are ideas. Ideas that I wouldn’t have thought of on my own. Often an example given will lead me to think: I can apply that into Behold. And although Behold is unique in concept, many of its design features have been developed this way. It is much easier to develop and enhance an idea from an example, than to try to figure out how to implement an idea on its own from a blank canvas.
Now go out and get yourself a book on Microsoft Word or WIndows XP or whatever software you’ve been using for awhile that you think you’re proficient at, and see how much you’ve been missing.
By the way, I finally got Behold to compile and run under Delphi 2009 last night. It’s not inputting the registry, the Behold file or the GEDCOM file yet (probably due to Unicode changes) and it’s not closing itself properly (don’t know what this is yet), but at least I’ve got the program running again.