While the Mac is still a minority platform overall, in some areas such as film, music and graphic design it has always been very popular. It’s popularity is growing in other areas like the hard sciences, and, believe it or not, computer science, now that it is based on a Unix core and the Intel processor family.
There Are Many Languages Supported
The options for programming on the Mac are truly outstanding, some would say overwhelming. Most Mac application development is done in the XCode environment which comes with OS X and supports c-based languages like C, and Objective C in addition to just about every other language you’ve ever heard of.
Traditional Unix Command-Line Programming
For those command-line junkies among us, all the usual UNIX suspects are available, including perl, php, java, ruby, python, and all shell scripting utilites such as awk, sed and grep. Of course these can all be integrated seamlessly into an XCode project as well.
There are several cross-platform environments like Revolution Studio which users of the now discontinued HyperCard will find familiar and Visual Basic for Applications which is included in Microsoft Office products and the OpenOffice suite.
The Mac has its own scripting language called Applescript as well that even those of use with no programming experience can use to automate a workflow using the Automator application to record our steps and fine tune them.
XCode – an Integrated Development Environment
From its NeXT heritage, the Mac OS has inherited a truly great IDE called XCode. Together with Interface Builder, Instruments and a host of integrated utilities you’ll find developing, debugging, and producing double-clickable applications about as easy as it gets. Incorporating menus, text entry fields and other controls are as simple as dragging them into a window and telling them which parts of your code they belong to. The code that glues it all together is written for you. Yet you still have complete control over your source code whether it’s in C, Objective C, Java or any of many the other supported languages.
Why Bother Programming the Computer?
People often end up doing the same task over and over again, like renaming many files. For example normalizing the names of two hundred JPEG files to put on a web site. In order to make the web site easier to maintain the files should all have the same extension, such as “.jpg”. But some of them may have “.JPG” and some “.jpeg”. A simple script can be written and saved as a droplet to normalize all of the names. Simply by dropping the folder containing the files onto it the task will be done. When you start thinking about the things you do, or should do, over an over again, like backing up your iCal, AddressBook and Preferences files to your iDisk every week, you realize that a simple script that runs on a schedule not only becomes a time saver, but can also be a lifesaver.