A fellow developer who is getting his first Mac asked me what software he should get. Here is a list of Mac software that I, as a software developer, find useful.
First, let's look at what apps come in the box, at no extra charge:
- Basic contacts, calendar, and email: Address Book, iCal, Mail
- Word processing and text editing: TextEdit (handles text, RTF, and Microsoft Word DOC formats)
- Automation and scripting: Automator, AppleScript Editor, bash, Python
- Scientific and programmer's calculator: Calculator
- Dictionary and thesaurus: Dictionary
- Music and sound recording and editing: GarageBand
- Desktop search: Spotlight
- Instant messaging and video conferencing: iChat
- Basic image processing: iPhoto
- PDF reader and image file viewer: Preview
- Webkit-based web browser: Safari
- Backups: Time Machine
- X Window System: X11
- Command Prompt, telnet, ssh: Terminal
For basic Mac development, Xcode is the standard tool. For iPhone development, Xcode is the required tool. It includes a bunch of other tools (Interface Builder, iPhone Simulator, Instruments, Shark). Download it from Apple.
If you like something lower level, remember that Mac OS X is UNIX at its heart, so all the typical UNIX and GNU tools are there (gcc
, vi
, make
, etc.).
Some other development-related tools that you might find useful are these:
- API documentation browser: AppKiDo
- iPhone screenshots and screencasts: SimFinger
- Hex editor: Hex Fiend
- Automatic installation of thousands of UNIX utilities: MacPorts
- Scientific and programmers calculator: Magic Number Machine
- Apache, MySQL, PHP: MAMP
- Java development: Eclipse or NetBeans
- Nirvana: Emacs
Here are the other pieces of software that you should consider:
- Web browser: Firefox
- Instant Messaging: Adium
- Graphics Editor: Adobe Photoshop Elements, the Gimp, or Seashore
- Sound editing: Audacity
- Pixel measurements: Free Ruler
- "Productivity": OpenOffice, iWork, or (if your employer will pay for it) Microsoft Office for Mac
- Outliner: OmniOutliner
- Virtual machine for running Windows: VMWare Fusion or Parallels