While there are a massive number of environments, scripting languages, and APIs that are designed to make programs lives ‘easier’, it is impossible to even keep up with more than a couple.
While you can get involved in several they all fall into a a relatively few categories
- Application Programming – full blown implementation for desktop operating systems. Using a common programming language like C and yypically relying on the OS APIs to manage the user interaction
- Web Application – Server side coding where the user interaction happens through a client usually a web browser.
- Scripting – the use of a language that can apply to one or more environments to provide automation handle small process, lives within other environments
- Widgets – programs that live within a reduced environment such as Adobe Air, Google Gadgets or Apple Dashboard
For those working in Mac environments (including iPhone) there are a host of common tools that meet those functions
- XCode is the GUI tool for the primary Programming environment in Mac OS X, it uses Objective C as its language
- DashCode is the Widget environment for both OS X and the iPhone
- Automator is the GUI tool for scripting within the Operating systems and Applications
Provided you have a computer and operating system that supports the current tools. All of these are availble freely from Apple’s Developer Connection (subject to free registration)
In addition there are several good getting started sites