5 great mac tools for programmers

Tags
Tagsprogramming, tools, mac
Posted
Wed 28 May, 2008
Comments
6

Diff visualisation: Changes

Changes is a fast and friendly diff tool. You can quickly list files that have changed in a project, and view differences between files. It also works with Subversion and Git (and several other version control systems), so it will fit right into your typical workflow. Oh, and it also has a TextMate bundle.

Changes gets perhaps the highest accolade for a mac application: I like Changes so much it actually has a permanent place in my Dock.

Performance analysis: Instruments

Instruments comes with Leopard, so you might already have it on your machine. It’s a performance monitoring tool, which means you can attach it to a process and analyse various aspects of its performance. This is incredibly useful if you’re looking for memory leaks or working on OpenGL performance in native Mac applications.

You can even watch the performance of any processes that support DTrace, which means Ruby programmers can use this tool to inspect everything from CPU profiles to network usage. The screenshot above is of a Ruby on Rails application.

Whilst we’re on the subject of Leopard bundled applications, check out Dashcode as well. It’s indispensable if you want to quickly prototype a widget or iPhone web interface.

Version control: GitNub and svnX

I usually use Subversion through either TextMate’s excellent bundle or the command line, but in sticky situationsI need to visualise things through a GUI. That’s when I reach for svnX, which is a solid enough Cocoa SVN tool.

GitNub is a pretty new tool for working with Git, and is written with RubyCocoa. It seems like they’re working hard on it, so this could become the default tool for Mac Git users. That is, unless there’s something lurking in the shadows waiting to jump out…

Database visualisation: CocoaMySQL-SBG

It’s getting long in the tooth and doesn’t get updated enough, but even so CocoaMySQL-SBG is still my favourite Cocoa database tool. I really wish something would come along with the pedigree of Panic’s software, but there’s been a gap in the market for so long that I somehow doubt it. While there are a few good Java or cross-platform multi-database clients out there, I want to see something with the elegance of Coda that will let me manipulate SQLite, MySQL and Postgres.

Text editing: TextMate, Coda, Vim

I’ve already written a lot about TextMate over the years, needless to say it’s one of the greatest Mac development tools. If you’re more into design or want an alternative, have a look at Coda from Panic. And don’t forget Vim!


Gijs

May 29

You can add "mamp pro" for webdevelopment to this list
http://www.mamp.info/en/index.php

Scott from Room Dividers

May 29

I'd second the nomination for Mamp Pro. Although, getting Ruby on Rails to work with the mySQL gem was a pain in the neck and needed some hacking to work with Mamp Pro. otherwise, I like that my web server is not on all the time, and I turn it on when I need it. I also like that Mamp Pro will re-write the host file for you. pretty nifty.

alex

May 29

mamp sounds interesting, thanks. I've used something similar before when I was trying to get something going quickly without installing macports, Locomotive: http://locomotive.raaum.org/

If you don't want to use a web server for Rails development, you can always just use script/server. Also worth noting is Rails projects use sqlite by default, so you can even skip setting up MySQL locally now too!

Nick Lo

Jul 1

I'd also add - don't forget MacVim:

http://code.google.com/p/macvim/

I was initially a bit sceptical that anything less that compiled from source would make me soft, but small things, e.g. like the fact that it works nicely with Panic's Transmit, made up for that.

Also there is a slightly newer pre-release version of CocoaMySQL:

http://www.macupdate.com/info.php/id/10573/cocoamysql

Another not to forget is Apple's own Filemerge as an alternative to Changes.

alex

Jul 1

I forgot to mention MacVim, I've actually tried it out and it's pretty decent.

Is that CocoaMySQL really newer than the SBG one? It's hard to keep track of what's going on with that project ;(

trevor@mailinator.com

Dec 26

Somer useful command line tips for Mac OS X:

http://codesnippets.joyent.com/tag/bash

Security Code