When I got my first Mac in 2004, I found few programming editors. Since then, however, Mac OS X has birthed many programming editors that match or beat options on other computing platforms. I’ve rounded up the ones I’m aware of, categorized into several sections. While some editors could fit several categories, I’ve confined each to one.
Some of these editors are free, and some cost money. While I understand people who won’t use closed-source software (though I don’t fall in that group), I don’t understand professional programmers who refuse to pay for software. Your programming editor is arguably your most important tool, and you should use the one that suits you best, regardless of cost. None of these editors cost much, especially compared to the value you derive if you program professionally.
The editors in this section emerged when people counted RAM in kilobytes, and pack incredible amounts of power and configurability. People who use these editors tend to be “hard core” developers who want to extend their editors through code, not through point-and-click configuration screens.
License: Open Source
MacVim is a graphical version of , which is in turn based on the venerable vi. Its mode-based nature imposes a learning curve, but its powerful key bindings mean your fingers rarely have to leave the keyboard to accomplish any task. It’s configured through configuration files and extensible through plugins, both of which can’t be understood without devoting some learning time, but those who invest the time mock the puniness of other editors.
License: Open Source
The other side of the emacs-vs.-vi religious war, Emacs offers extreme configurability and extensibility through Lisp. Like vim/vi, it’s difficult to learn, rewarding to master, and its adherents feel sorry for the rest of us. Of the two versions listed, Aquamacs is a little more Mac-like and GUI-oriented and Emacs.app is a more traditional Emacs approach. Both offer the same finger-breaking key combinations and programming power.
SlickEdit first appeared on DOS in the late 1980s, and has been a premiere editor ever since. It uses a C-like language called Slick-C for extensions, and comes with a multitude of keybinding options that you can customize. It’s also the least Mac-like editor on this list, however, as it runs under X11 exclusively. Still, it’s an amazing editor with tons of power.
These editors claim a long heritage on Mac OS X, and most have stalwart followings.
BBEdit began pre-OS X, and its fans have seen the editor both grow in features and drop in price. It has particularly strong HTML editing capabilities, and also can be used to edit Mac OS X’s binary plist files. Updates still come regularly for this venerable editor — version 10 was recently released.
This of this editor as BBEdit without the HTML and version control goodies, and you’re not far off. Originally born as a $50 replacement for BBEdit Lite (at a time when BBEdit was $199), it subsequently went free. According to its popularity on the Mac App Store, it’s the go-to option for people who want a Mac GUI editor for no cost.
TextMate broke new ground for Mac OS X editors with its attractive GUI, Emacs-like extensibility through easily developed TextMate bundles, themes, and low cost. This editor seems to dominate the Rails community, and it’s easy to write and run code from within it. You can think of TextMate as an Emacs with a much flatter learning curve.
Smultron began as an open source editor, and was abandoned after about five years of development. Someone forked the project, dubbed it “Fraise,” and developed it for about a year, until the original Smultron developer returned and picked up development anew. In its new incarnation, Smultron is closed source, and is available on the Mac App Store in a pre-Lion version and a Lion version. It’s a lightweight editor with a surprising number of features.
SubEthaEdit’s big differentiator, besides its weighty name, is its collaboration features. Through its networking features, you can edit documents in teams, with all of you typing in realtime. You can also make some people read-only participants. The possibilities are intriguing.
Geared toward Web development, skEdit supports a slew of Web languages out of the box. It offers remote editing, browser previews, and integrated HTML Tidy.
The editors in this category work across all the major platforms, so should be especially of interest to people who spend their programming time on different OSes and want a consistent programming experience.
License: Open Source
License: Open Source
Redcar should interest Ruby developers, as it’s written in Ruby and runs on JRuby. It supports Textmate bundles and can be extended through plugins written in Ruby. It’s still in alpha but is definitely usable.
Sublime Text 2
Sublime Text 2 is in beta, and has a distraction-free mode. It also shows a thumbnail of the current file in the upper right corner of the editor window, with an overlay indicating where you are in the file. It has something called the Command Palette, so you can quickly access commands that don’t merit key bindings. This editor gets a lot of buzz lately.
License: Open Source
Written in Java and extensible using BeanShell, jEdit has been available on all the major OS platforms for years. Its interface betrays its Java nature, but it integrates pretty well into the Mac OS X desktop. Be sure to turn on anti-aliasing in the Preferences screen, or the font looks awful.
These editors are relative newcomers. Some are still in beta, and one isn’t even available at all (yet). Keep your eye on these.
Tincta is a 1.0 release, and is comparatively spartan compared to the other editors on this page. It supports syntax coloring for a squadron of languages, however, and aims to be small and quick, which it seems to accomplish well. It is certainly the purplest editor you’ve seen.
Vico is available for purchase in the Mac App Store, and also available as a free trial download from their website. It uses vi keybindings and supports TextMate bundles, making this an attractive option for both MacVim’s and TextMate’s camps. It’s scriptable using the Nu language. It has a file tree, tabbed editors, and the ability to split the screen horizontally and vertically.
License: Open Source
Kod looks like Google Chrome and is styled using CSS3, making it an editor for geeks. Development has slowed, however, as its principal developer started a new job and isn’t as focused on moving this editor forward. The editor itself seems further along than its configuration interface.
Still under exclusive beta, Chocolat seems poised to be the successor for TextMate. It has a file tree, tabs, quick open, split editing, themes, and TextMate bundle support.
We know little about Syntoxic besides the fact that it has a gorgeous icon and that it will be released when it’s done.
Did I miss any? Please let me know.
The real question is, which do I use? Currently, I mostly use MacVim, though I have my eye on Vico, Chocolat, Sublime Text 2, and Syntoxic. And I use BBEdit to edit plist files — it’s far superior to Xcode’s point and click plist editor.
Last Friday, I saw where you could get $200 off an HP TouchPad, so I decided to jump. I went to the Staples in St. Johns Town Center with my FatWallet coupon and the ZDNet story linked above, and the salesperson treated me like a thief. He disavowed any knowledge of the $100 off deal or the additional $100 off coupon, muttered “Whoever zee dee net is” when I tried to show him the story, and hid in his manager’s office long enough to call all his friends to laugh at the guy bothering to lie to get a deal on a TouchPad. After finishing his giggling, he summoned his manager, who stormed from her office like Billy Martin protesting a call at the plate and tried to lecture me about counterfeit coupons. Most of her lecture bounced off my retreating shoulder blades, though, and I could hear her still protesting as I walked out. I like to assume that her spittle showered other customers.
This bad experience and the TouchPad’s mostly bad reviews very nearly daunted me, but I scraped together a bit of daunt and called the Staples on San Jose in Mandarin. The person who answered the phone quickly passed me to his manager, who also hadn’t heard of the deal, but chose to listen rather than educate. We spoke for awhile, he tapped on a keyboard, and after awhile he acknowledged the instant $100 rebate, and said if my coupon was legit, I indeed would get $200 off. I stopped by Staples on my way home, he scanned my coupon, and I walked out of the store with a 32 GB HP TouchPad for $200 off. I would have saved an extra $100 by purchasing a 16 GB model, but they had none in stock.
I already have an iPad (not an iPad 2), so my children think me extravagant, but none of them understand that I want to try some WebOS development (“Stop the nerd talk, Dad!”). So, I plugged the TouchPad in to charge, fired it up, and entered my personal information to set up a WebOS account and my email. I started poking around, found the Settings tab, tapped the System Updates app, and downloaded the latest WebOS (3.0.2, I believe). It was nice to get the update over-the-air.
So far, I’ve seen both good and bad. The good:
- The interface is intuitive, especially for someone coming from an iPad. I haven’t read anything about how to use the device, and I’m doing email and Web like I’m Marc Andreessen. I can navigate among running apps, change Wi-Fi settings, download new apps from the app store, et al.
- The virtual keyboard improves on the iPad’s: it looks a little better (more 3D), and has the numbers and some punctuation on the main keyboard screen, requiring fewer taps.
- Multi-tasking is simpler: press the home button and swipe among your running apps.
- Closing a running app is easier, though it took some time to figure out. After investigating several paths, I took a shot at just dragging an app up and off the screen, as I would drag an app off the Mac OS X dock to remove it, and that made the app disappear. The first time I tried it, the TouchPad froze and rebooted, but I squared my shoulders and tried it again (after the reboot) and haven’t had problems since.
- One of the top free apps was a workable Twitter client, Spaz HD.
- Angry Birds HD is free.
- Rotation twists my patience. A slight deviation from true tips the picture to perpendicular, while slight corrections, or even overblown gyrations, go unheeded.
- The tap area seems awfully small, and I frequently miss buttons and links. My dexterity feels mocked.
- The app catalog is comparatively puny.
- Most importantly, there’s no WebOS version of Ghostwriter Notes.
So far, I haven’t seen why someone would buy the HP TouchPad over an iPad, but I’m hopeful that the iPad gets some worthy competition. I understand HP is pushing into the corporate space, a place the iPad lands by default, to IT management’s chagrin (I guess the tools aren’t yet in place for IT to manage an iPad into unusability). For now, though, I can resolve some squabbles amongst my children with yet another Angry Birds-able device. And I can hope Michael Privat ports Ghostwriter Notes to WebOS. Michael? Michael?
- Once people get your point, shut up.
- RT @rbazinet: This is awesome -You call yourself a programmer? Well then, use a REAL programmer's keyboard: t.co/YO5OsgYP8B (via @an…
- RT @qrush: My guess is 2 years for Tumblr to get shuttered. One year to get renamed into Yahoo! Tumbles
Follow @hoop33 on twitter.
What I’m Writing
- May 2013 (3)
- April 2013 (6)
- February 2013 (1)
- January 2013 (1)
- November 2012 (6)
- September 2012 (1)
- August 2012 (6)
- July 2012 (10)
- June 2012 (4)
- May 2012 (7)
- April 2012 (4)
- March 2012 (8)
- February 2012 (7)
- January 2012 (7)
- December 2011 (1)
- November 2011 (1)
- September 2011 (4)
- August 2011 (2)
- July 2011 (2)
- June 2011 (2)
- May 2011 (4)
- April 2011 (2)
- February 2011 (1)
- January 2011 (1)
- December 2010 (3)
- November 2010 (3)
- October 2010 (4)
- September 2010 (6)
- August 2010 (96)