Special

Introducing the “Welcome to Xojo” Bundle!

New to Xojo and looking for guidance? We've put together a terrific bundle to welcome you! Xojo Bundle

This bundle includes six back issues of the magazine -- all of year 21 in printed book and digital formats -- plus a one-year subscription (beginning with 22.1) so you'll be learning all about Xojo for the next year. It's the perfect way to get started programming with Xojo. And you save as much as $35 over the non-bundle price!

This offer is only available for a limited time as supplies are limited, so hurry today and order this special bundle before the offer goes away!

Article Preview


Buy Now

Issue 8.3

REVIEW

BBEdit versus Coda

Issue: 8.3 (March/April 2010)
Author: Marc Zeedar
Article Description: No description available.
Article Length (in bytes): 7,059
Starting Page Number: 10
Article Number: 8302
Related Web Link(s):

http://www.barebones.com/
http://www.panic.com/coda/

Full text of article...

In a world with inexpensive and powerful word processors, you may wonder why you would need a text editor, and with so many free editors, why you should pay for one. The answer is that you get what you pay for.

On the Macintosh, two popular editors are Bare Bones' BBEdit and Panic's Coda. Both have secured their place in my tool arsenal due to their powerful and unique features. Each has different strengths and weaknesses, however, and you may find one more appropriate than the other.

First, let's look at the basic features these tools have in common. Both are text editors. Unlike a word processor, a text editor only works with plain text: there is no rich formatting such as multiple fonts, paragraph alignment, tables, footnotes, or picture support. As such, a text editor can seem primitive at first, but that weakness is really a strength, because text is extremely portable. It works on any platform, with just about any software. That feature alone makes text editors indispensable for me.

Another key feature of text editors is their ability to manipulate text. I find this useful nearly every day in myriad ways. I use it to format or reformat emails. I clean up text extracted from websites. I convert character encodings, add prefixes/suffixes to lines (or remove them), find duplicate lines or lines containing certain terms, check spelling, and much more. I work with text-based data such as tab-delimited files. I perform powerful regular expression find-and-replace and use batch find/replace on multiple files to fix or change text across hundreds of files within seconds. On occasion I use the "compare differences" feature to see what's changed between two similar documents. As a writer, I live and breathe by BBEdit's live word count feature.

Text editors are also great for working with code: HTML and XML are primary languages, but most include syntax coloring modules for Javascript, PHP, Ruby, Python, Perl, C, and even Yuma (which is RBScript). For some of these languages, there are built-in tools for inserting common tags and formatting. You can also add your own: I use BBEdit for all REALbasic Developer articles, which are tagged in XML, and I've built a special palette of frequently used RBD tags which I can apply to article text to mark it as code, headline, a book title, etc.

So now we get to the differences between these two programs. Both are capable general text editors, but BBEdit definitely wins that battle. It has more text manipulation features and a simpler interface for pure writing. (In fact, my primary use of it is as a word processor.) One of my favorite features of BBEdit is its fantastic auto-complete feature. Similar to the way the REALbasic IDE auto-completes code, BBEdit will offer suggestions for completing words. If you're a terrible speller like me, this is a Godsend: just type the first few letters and select from the popupmenu. It's also smart in that it automatically adds non-dictionary words from the current document: that's awesome for RBD articles because when I write a control name like PushButton or a variable name like MyBigStringArray, I can reuse it quickly without having to type it. When BBEdit first added this feature I thought it would interfere with my writing as it would slow me down, but it fact it's so fast and handy, I now find it frustrating typing text anywhere without it!

While BBEdit has decent HTML editing tools, Coda beats it in several ways. Coda's slogan is "One-window web development" and that's definitely its focus. Its goal is to offer site editing, previewing, and uploading within a single window. It works remarkably well, and its interface is a marvel. It opens all related documents as tabs within the same window, which can be handy (though if you get too many it's overwhelming). It has built-in FTP software (Panic also makes the excellent FTP program, Transmit) and can publish your entire site (or just the changed files) with one click.

By far my favorite Coda features, however, are the assistance it provides in web coding. Built into the program are complete reference books for HTML, CSS, Javascript, and PHP. If you're like me and only dabble in web dev, those are hugely useful. Coda also offers suggestions for completing tags, automatic closing tags, a great validation tool, and much more. For instance, when you're working with CSS, it pops up a menu of valid options specific for that item, such as "center, inherit, justify, left, right" when you type "text-align" as a CSS attribute. With BBEdit, you have to remember what's valid yourself. Coda also gives you an excellent CSS editor so you can click checkboxes and choose items from menus instead of typing CSS code by hand.

I have only touched on perhaps one percent of what these fantastic programs can do, but I thought this was a good summary. If you haven't used either one, you need to check them out. I use Coda for CSS and Javascript editing, but prefer BBEdit for word processing and text manipulation. Depending on your needs, one of the two may suffice, but I would encourage you to try the free demos and see which works best in your workflow.

End of article.