So the argument is, since we can't change the commercial reality that application domain knowledge is undervalued, those interesed in psychology of programming should ignore it as well and focus on what color to make our variables? Further, since people are "inclined to use what they already know, rather than learning something new," any innovations in programming that will gain acceptance must be restricted to those that minimize new learning? So what we ought to focus on is getting people who don't understand the job they're really doing to do it better, without their having to put in much effort?
I don't buy either position, nor do I buy the example. If I were hiring someone to work on a database for industrial automation applications, I'd much sooner hire someone with 3D graphics experience in industrial automation and no database experience, than someone with both database and 3D graphics experience in, say, scientific data analysis or chemical engineering. As the dental example points out, if the person who really understands the application needs a kind of coding that they haven't done, they can always buy it or contract with some semi-skilled programmer who does do the same thing 400 times to write it again. The converse is not true; a database expert with no knowledge of industrial automation is, at best, a contribution to the building heating load, until the application expert finds the time to do the translation. In fact, I'd argue that there's a huge, rich area for investigation, training programmers to learn new application domains. There's also the fascinating issue of how application models integrate with and map onto programming models. Ruven Brooks -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Derek M Jones Sent: Saturday, February 28, 2004 8:58 AM To: [EMAIL PROTECTED] Subject: RE: PPIG discuss: Programmer's mental models Hanania, >Derek, Note your quoted text was posted by Ruven, not me. >From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf >Of Brooks, Ruven >While I can acknowledge the problem, the solution is not as simple as >replacing "huge, detailed specs" with programmers assumed to "have a >good mental model of the application". I agree. But, I would also be willing to go along with the assumption is that hiring somebody to work on a database project who had previously worked on similar database projects is likely to result in more appropriate mental models being used than if a person whose previous experience was with 3D graphics. > Mental models are >not confirmed "good" until they have been validated. Validation can >only be done through the examination of some work product. You cannot validate anything as being 'good' by looking at a single instance of it. Good/bad evaluations require comparisons against many instances. >From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf >Of Brooks, Ruven The inability of programmers to adapt their mental >models to the application domain is a huge problem >for commercial software development. In many ways this problem is the software industries own making. People with extensive experience in a given domain are rarely valued sufficiently to make it worthwhile for them acquiring that experience. Not only does IT have a relatively high staff turnover, but these people change subdisciplines as often as they change companies (eg, they spend a few years working in comms, then move to databases, then into gui related work, etc). I need to have some complicated work done on a tooth of mine and was recently referred to a specialist. This, expensive, guys sales pitch included the fact that he had performed the operation 400 times with only 2 failures (the industry average is 90% success). Where do I find staff who have written the same code 400 times? I would probably count myself lucky if I could find somebody who had done the same thing once before. On the other hand, I might approach the company he had worked for and offer buy what he had written from them. I don't see that there is much we can do about the commercial realities of the software industry or the workings of the human brain (eg people are inclined to use what they already know, rather than learn something new). What we need to do is accept both of them as given and start figuring out how best to get them working together. derek -- Derek M Jones tel: +44 (0) 1252 520 667 Knowledge Software Ltd mailto:[EMAIL PROTECTED] Applications Standards Conformance Testing http://www.knosof.co.uk ---------------------------------------------------------------------- PPIG Discuss List ([EMAIL PROTECTED]) Discuss admin: http://limitlessmail.net/mailman/listinfo/discuss Announce admin: http://limitlessmail.net/mailman/listinfo/announce PPIG Discuss archive: http://www.mail-archive.com/discuss%40ppig.org/ ---------------------------------------------------------------------- PPIG Discuss List ([EMAIL PROTECTED]) Discuss admin: http://limitlessmail.net/mailman/listinfo/discuss Announce admin: http://limitlessmail.net/mailman/listinfo/announce PPIG Discuss archive: http://www.mail-archive.com/discuss%40ppig.org/
