…to anybody working in Marketing or Sales:
Mike Ash on getting answers (to programming questions via IRC). Good stuff.
Some of his advice applies to old-fashioned e-mail questions, too.
Scott Adams on the difference between Phone Whores and Phone Assholes.
Excellent read: Logic Versus Usage: The Case for Activity-Centered Design.
Keith Ray and Chris Hanson (and others, I bet) have commented on Bruce Eckels post “Programming as Typing“.
I would like to take this (wrong – as those fine gentleman have proven) analogy and add a slightly different twist to it – and thus prove that, if viewed from a totally different angle – the analogy works just fine.
(For the sake of simplicity, let’s assume that “typing” means “typing & clicking”).
If you’re not typing, you’re not programming – If you’re not typing, you’re not making any progress. Sounds rather obvious, doesn’t it? It’s not.
I’ve seen it over and over (both by observing others and – in rare moments – myself) that a software developer who doesn’t type, but sits in front of his computer thinking about the problem at hand for more than 2:30min (I made this number up at this very moment 🙂 is not actively developing software.
He is stuck.
* Because he’s not typing, he is not using all the feedback the code can give him on how the problem should be solved.
* Because he is not typing, he is not actively playing with different approaches to the solution – he is just thinking about the different approaches. He’s making up a mental model of the code – and more often than not, this mental model is rather different from what the code does (This happens to the best of us, doesn’t it?).
* Because he’s not typing, he is not using the feedback which comes from writing & running a simple test. He is not trying to solve a small chunk of the problem to get a deeper understanding of the larger problem.
Typing is more closely related to software development than you think.
(There may be others who frantically scribble boxes on a sheet of paper for more than 2:30min – those are stuck too, not as stuck as those just mediating, but still stuck)
(Of course, this doesn’t apply to you if your belonging to the elite group of geniuses – but that’s only about 0.0001% of the software developers out there)
Andy Dent asks: Closed-Source Cocoa – Arrogance, Empowerment or Commercial Necessity?
Cocoa (and its predecessor NeXTStep) never shipped with source code. I remember seeing one of the early (very impressive) demonstrations of NeXTStep back in the late ’80s and the source was closed right from the start. I brought up the question about availability of the source code (I was a MacApp developer back then, a Object Pascal/C++ framework which shipped with source code). The NeXT engineers said that there’s plenty of documentation available and if they would make source code available, developers might rely on certain, undocumented behavior which is only revealed by looking at the source code.
So I guess it’s just paranoia – which I consider unfortunate. Despite a great community, excellent documentation and superior technical support the availability of source code is extremely import for solving problems efficiently when developing with a framework.