Ethereum is not a currency but use ether (gas) to pay the fees, therefore someone will need an Ether account to pay and build the application. But how can someone get an account for each activity previously mentioned (to buy/sell ether and build the app)?
There are two types of accounts:
- Externally-owned accounts (managed by a human/automation)
- Contract accounts (managed by code that runs on the blockchain)
However they function identically when it comes for both sending value and paying for gas. It is not necessary to have separate accounts for these uses.
In either case, the amount of ether is deducted from the sending account's balance (value + gas consumed) with any gas overage being returned to the sender. In this way, it does not matter if the sender is an "externally-owned account" (i.e. by a user) or a "smart contract" (code on the blockchain).
For those who are new to Ethereum, there's a detailed walk-through tutorial on the main homepage.