Do you mean program WITH the phone, or program FOR the phone?
Not sure about programming with it. Seeing as it is an android device, there may be an android app for this, but you would haev to do some research. If you mean programming FOR, then of course you can! Do a quick google and see what you can turn out.
Good luck :)

can you suggest me a good phone i can program for..

(i use eclipse to program and test my applications)

is the new nexus one that comes out any good.

what good phones are there to test my applications on.

If you go on the android developer site (http://developer.android.com/index.html), you can see some development devices. The "Nexus One" is listed, as well as the "ADP 2", though to use these for development, you have to buy them sim-unlocked from android or somewhere. Have a look round the site and see what you can find.

i bought nexus one today.

i have got orange sim (i bought the sim card from orange!)

what is sim unlocked?

It means that you can put a sim-card from any network into the phone. For example, if you buy a phone from orange, you can only put an orange sim in it. If you buy a sim-unlocked phone, you could put in an orange sim, vodafone sim, 3 sim etc.

commented: thanks +0