I would like to know if Xcode is hard to learn to do from scratch?
Also, is it the only iPhone iOS programming application?
Help would be good Thankyou.
Xcode is the IDE (Integrated Development Environment.) It includes an editor, debugger, compiler and linker, resource editor, and various other components.
It's fairly easy to start using it, but it is a complex beast with lots of different options, settings, and controls. I would say it's fairly easy to begin using it, but pretty difficult to master.
In order to program for iOS devices you also need to learn Objective-C, and the Cocoa Touch frameworks. Objective C is not a big language, so if you've programmed in another C family language, and understand Object Oriented Development, it's not too bad.
The biggest task I think is learning the Cocoa Touch frameworks. Cocoa touch and it's related frameworks are both broad and deep. It's pretty daunting at first. It takes quite a while to learn "the lay of the land" and figure out how to use the tools to solve a given problem. Once you get the hang of it, though, the richness of the frameworks becomes an asset. Things that would require writing tons of code on other platforms are likely already built into the application frameworks.
Apple uses a number of design patterns over and over in their frameworks, and promotes certain design patterns for use in your programs. It pays to learn those design patterns because then things really start ot make sense.