Why is it impossible to derive public key from address? This is my first bitcoin transaction.

Why this transaction doesn't show my public key? help message on the same page says that, 


  It's impossible to determine the public key from a Bitcoin address,
  but if the public key was ever used on the network, it is listed here.


I was thinking that my address is public key. Is it really impossible to derive public key from address?

other details, blockchain.info transaction &amp; address details.
The address is only 160-bits. The public key is 257-bits. So there's no way to go from an address to a public key -- information is missing.

The shortest hash with sufficient security is 160-bits. So Bitcoin uses a 160-bit hash as an address to make the address as short as possible. However, there is no known public key scheme that is sufficiently secure with only 160-bit public keys. So the public key couldn't be used as an account address without making the account longer.

However, the public key is needed to verify a signature. So when you perform a transaction to claim coins sent to an account, you must provide the public key. When validating the transaction, the public key is checked to ensure it has the correct hash (matching the account) and then the signature is checked to ensure it is valid for the transaction and made with the supplied public key. From that point on, the public key corresponding to the address is publicly known.