Ahh, so it's not really a way of say, deciding wether a person is fit for a particular job, but rather a way to recommend an adequate course of action for one of their ideas.
If they haven't written or done anything programming before, it would probably be more cost effective to just buy it; but really, if say, they don't need it for another year or so (say it takes that long for them to get the results of their experiment to process), then it might make sense to try to teach them a little bit of a programming language.
It's really hard to judge the programming skills of a person before they actually do it; although there are a few key signs, such as how analytical they are of situations, and how good they are at problem solving and so forth.
I know a lot of people who want to be computer programmers who don't have a chance in *censored*; their minds and personalities just aren't "built" that way. Some of them are great at writing code or turning an algorithm into code, but simply cannot create the algorithm into a problem; in this case they would be great working in tandem with somebody who blows at writing code but is great at analysis of a problem and creating a workable algorithm; as I said it's really a context sensitive affair.
In your example, with the chemist, we can assume they are fairly good at both problem solving and looking at things analytically (this is usually a common trait amongst scientists); so DIY might be a viable option, but it depends on exaclt whant they need done. Also, sometimes they can "adapt" their existing software using scripts, which would both be a cheaper alternative and likely easier to learn.
Not to be too obtuse, but please explain it to me.
When, in your opinion, has someone 'learned' a language and how long should that take?
Given enough time, most anyone can learn most anything. But at some point, there has to be a minimum threshold to which to hold people. There have to be some people who should be allowed to fix code, some who should be encouraged to write it, and some who should just use completed scripts. The question is who and how to know?
I think I see what your saying; if it, for example, took somebody a year just to learn basic HTML, if they were to persue web design they are sure to face even more difficulties.
Instead of focus on "learning a programming language" perhaps it would be easier to convey as learning concepts. for example, most people can understand the concept of bytes, kilobytes, and their size relationships fairly easily; Others never seem to get it; this latter group can have no problem working with PCs, but their understanding of their function will be limited. This carries over to programming languages, of course, but I thought I'd draw an analogy from a perhaps more easily understood scenario as well.
I was going to say here, that some people don't seem to be able to program at all, but at some point it all just clicks for them, but then I realized, that that is basically what you want to find out, wether it will click for that person; unfortunately I can think of no good way to do this; if you know the person well enough, you might be able to make a guess, but I don't think there is a "test" per se that you could put them through.