If the latter, it could well be perfectionism getting in the way (shoddy existing work doesn't discount this possibility). Encourage 'iterated failures at any old sub-problem' perhaps? It's the only way I know how to deal with all three of those problems myself.
When I was starting out with small-ish programs, IDEs gave me performance anxiety. So I'd write in bits and pieces in Evernote or notepad, converting plain descriptions into code, and only merge it all into a single file ready for execution right at the end.