How Hard is it to learn to program for Smartphones?

I have not done any real programming for probaly 20 years, the only programming I have done lately is Macro programming for Excel. However, I am not completely oblivious to object oreiented programming and such.

So how hard or long would it take to learn about and be able to program for something like Android for example? How does one go about starting?

I can’t speak about Android from experience, but I do know that the Android SDK uses Java. If you’re comfortable with Java development, and have done some GUI programming, it shouldn’t be too tough. I think the first thing to do would be to download the SDK (it’s free) and play around with it.

I can, however, speak from experience about iPhone development. It uses ObjC, which is not too tough to learn if you have worked with Java/C/C++. It has a draggy-droppy GUI builder (Interface Builder) that lets you make some simple UIs pretty easily and hook them into your code. Speaking as a professional software developer who does primarily Java development, it was quite easy to get up and going with iPhone development, and you can get very functional apps going quite quickly.

Now, if you’re just a dabbler, it’s really hard to say, but I don’t think it’s particularly more difficult than any other UI-heavy development. And since today’s smartphones are more powerful than some workstations from 10 years ago, you don’t have to worry about performance too much unless you’re really doing high-end stuff.