Well that depends on the phone. They all have different operating systems, which require different programming languages. Which phone do you want to write for?
If your cell phone runs on Windows Mobile you can program for it using Visual Studio using any CLR supported language such as C#, VB.NET or J# which cuts down on the development time considerably. For phones like iPhone you have to code in C or Java. Same for the G1 phone that runs on the Google Android OS.