I must respectfully beg to differ on your interpretation. The way your describe your "computationally literate and well-developed idea " is not at all what most people consider an idea. It is pseudo-code, which really is the vast majority of the implementation.
Since I started using Python I no longer bother with pseudo-code at all, but when I was using Java I considered a complete pseudo-code 90% of the implementation and translating into Java to only be the last 10%. You touch on this by saying that its "close to "execution"", but I think you do not go nearly far enough. It is most of the way to execution.
To put it another way, I think having an idea is like standing at a starting line for a race. You havne't done anything except contemplating running the actual race yet. Having a fully developped algorithm in pseudo-code (possibly along with a thorough UI concept) is like passing the last mile marker. You haven't finished the execution yet, but you have gone a very long way towards it...
Good post, but in my experience full mockups and pseudo-code is still not close to 90% of the final product unless I'm doing something that is trivial for me. There is just too much complexity that emerges in places which are difficult-to-impossible to anticipate until I've dug into code and physically tested the ideas I've laid out in pseudo-code. I'd probably put the number more in the range of 25-50% depending on the scope of the project.
Of course for simpler projects or in domains where the developer is extremely experienced and can anticipate every hiccup that might occur, that number could go much higher, but I don't think this is usually the case in the wild.
I definitely agree that in terms of effort expended implementation is almost always >=50%, but effort can be of various types. Sometimes when I've implemented ideas, the implementation took 90% of the time, but it was basically straightforward code-slinging, so I wouldn't credit it with more than 10% or so of the total intellectual effort expended on the project. Other times, important stuff does come up when implementing that sheds new light on the idea (or shows that it wasn't as fully developed as I initially thought).
When I'm implementing someone else's paper, a heuristic I use is something like: did I "just" implement this paper, or did I learn important things while implementing it that aren't actually mentioned in the paper, and which I should probably write up somewhere for other people's benefit? Sometimes the answer is "just implemented" even if the implementation took a long time and was hairy.
As you say, it depends on the problem. Working in mathematics, if I have the algorithm, turning it into code is almost always very easy, but getting that algorithm can be very hard indeed.
Even if we put the number somewhere between 25-50% depending on the project, that is still a long way away from just having an idea. That still constitutes substantial progress and a solid start on execution.
Since I started using Python I no longer bother with pseudo-code at all, but when I was using Java I considered a complete pseudo-code 90% of the implementation and translating into Java to only be the last 10%. You touch on this by saying that its "close to "execution"", but I think you do not go nearly far enough. It is most of the way to execution.
To put it another way, I think having an idea is like standing at a starting line for a race. You havne't done anything except contemplating running the actual race yet. Having a fully developped algorithm in pseudo-code (possibly along with a thorough UI concept) is like passing the last mile marker. You haven't finished the execution yet, but you have gone a very long way towards it...