3 ms·
Xcode and vim for editing, Perl and Python for automation. The nice thing about Xcode is that when you don't need or otherwise want to avoid the GUI integratio
by makecheck 19y ago
Xcode and vim for editing, Perl and Python for automation.
The nice thing about Xcode is that when you don't need or otherwise want to avoid the GUI integration, you can: build rules can run anything you want, like a makefile or other script, and even show you the raw output in a terminal-like split view. Apple provides command-line access (/usr/bin/xcodebuild) for those cases where you want to start with an IDE-style project but still have direct build control from outside scripts. I've only dabbled in VS2005, but Microsoft's environment never seemed "avoidable" in the same way. The GUI tangled with every aspect of the project. It was so awkward that I once cranked open "vim" from Linux (over SSH) to edit raw VS2005 XML, and it was much faster than tweaking the project through the GUI!
Speaking of "vim", I often use this for editing on Mac OS X. It depends on the type of edit, I suppose; Xcode has some strengths (e.g. pulling a whole function out is easier with the mouse, and I often do edits based on project search results). But "vim" is deceptively simple, and is ideal for many kinds of edits. It has some pretty addictive features, like simple paren-matching with "%" even when in the middle of a function name.
It's really nice that Mac OS X ships with many scripting languages, because your project can depend on them. For instance, you can automate many tasks in Python and Perl, and other Mac developers can still build your code without a headache. Windows sucks for this; if you share a bunch of code that's heavily automated with scripts, odds are people will have to download and build all the interpreters you're using (and of course, you probably need a batch file to run it, because #!/usr/bin/perl is meaningless to Windows). It's just a completely different environment...I find Mac development infinitely more productive for many reasons but the Unix tool set alone is an unbelievable starting point.