|Think about Loose Coupling|
A number of factors recently have had me thinking back, in quite a nostalgic fashion, to my days as a novice (C/C++) programmer at University.
While it wasn't such a long time ago (I'm not that old, honest ..), a saying of one of my lecturers stuck in my mind, and it's come to mind repeatedly over the last few days following a couple of "what does this do?" and "how does this work?" type questions about pretty simple things in the Chatterbox, on SOPW and (more significantly) among friends in the Real World.
The phrase itself was simple: try it to see. If it's a command you don't know how to use, or a bit of syntax you haven't used before, take a look at the manual, and take your best shot. If it doesn't work, or it doesn't work as you expected, and you can't figure out why, then it's time to bother someone to ask why.
It's a good phrase. And it has an amusing acronym. It's something that can be applied to novices, experienced programmers, and everyone in between.
More and more often, recently, though, I get the impression that it's becoming easier to ask questions first, and jump straight from "I don't know how to do this" to "it works, though I wouldn't know how to do it again" - in other words, learning how things work, and why they work like that, is becoming a secondary concern.
While I can see the benefits of "just getting the job done", I don't think this way of working is anything I could subscribe to: I enjoy figuring out new bits of code and new problems for myself, learning from what I do, rather than having people just give me solutions. If nothing else, that moment of inspiration when suddenly something new falls into place and is understood is very satisfying indeed.
In this age of the ubiquitous Google search, where answers are sitting on plates waiting for you to just pick them up and use them, I think it's important to remember that often the best problem solving tool you have is yourself, trial and error, and the indexes of those books that sit gathering dust on the end of your desk.
Maybe I'm just old-fashioned. Part of me asks (cynically) whether I'm just bitter because I didn't have the Internet to fall back on when I was a student .. *grin*.
What do others think? Does the 'net make things easier .. maybe too easy? Are we creating a culture of people who expect (or worse, require) answers-on-a-plate in order to get their jobs done?