Just to say, I didn't know the answer to this. My first assumption was that he wrote the code first (as the whitepaper has some excerpts of coding) but now looking online I see that v0.1 was released on Jan 8 2009... meaning to say the whitepaper was published at least two months before the first version release...
My guess is that the whitepaper still had to be completed after he compiled his first coding, so would still believe it had to be written first. He had to solve the problems Bitcoin aimed to do (direct, trustless p2p payments)... the whitepaper was not so much a proposal for a way to find the solution, but a proposal to use his creation as the solution.
If I'm wrong, and the whitepaper was, indeed, published first... then he did it to gauge the cypherpunk community's interest to decide if the code was worth completing.
Note: I use third person "he" but only figuratively.
P.S. Thanks for this initiative guys! I'm sure I'll learn from the responses.
I would encourage you to research Satoshi's exact quotes on this sort of thing. Your answer is correct, they wrote the code for Bitcoin before releasing the whitepaper. I am unsure about all of the times of release, and which hit public eye first; but at least from their perspective and words this is what happened :
I actually did this kind of backwards. I had to
write all the code before I could convince myself that I could solve every
problem, then I wrote the paper. I think I will be able to release the code
sooner than I could write a detailed spec. -Satoshi
I would suggest anyone to read some of their original e-mail threads
(most of my questions come from sources such as this) :
http://satoshi.nakamotoinstitute.org/emails/cryptography/1/It's funny that you worded it almost exactly the same as them, talking about solving problems, etc.
Question :
In Satoshi's old e-mails they imply that handling as many transactions as Visa should not be a problem.
What does this imply about the development of Bitcoin?
Specifically, what is one parameter that would need to be changed and to what value to accommodate such heavy transaction flow?
Hint: Controversial Hint 2: Light Math