choose a Code Editor.

You are a developer, you write apps and use a text editor to write the code and then want to debug it. If you use Obj-C, then you would be using xcode most of the time, that's fine, you have a nice editor with features like project management (managing the assets required for your project), an in-built debugger, a GUI editor (earlier called the Interface Builder) and now with the new xcode even the Storyboards.

But if you were using some other framework, what would you use? This article is aimed more towards the users of Mac based software than Windows, I was a one time windows user, but now I am more comfortable with the Mac, so the software options will be limited to Mac at this point of time (someday I might explore the windows based ones)

So as per the heading, How to choose a Text Editor...
The first and foremost thing that one should consider while choosing a text editor is, Does it support the syntax of the language you shall develop in. By support, I mean does it do Syntax Highlighting, recognising the language tokens (keywords), understand the indention required by the language (Python would break if the indentation is wrong, that is what determines the connecting loops) Lastly to improve productivity, does it offer Autocomplete than typing theSameLongVariableNameEveryTime and introducing errors in that by either missing a camelcase capitalisation or misspelling it totally. Then also important is Code Folding, now many would not feel the benefit of this feature, but it can be very helpful if the code for the loop or a conditional statement can be folded while one can focus on the code around it. Lastly, function name parsing, this is quite very useful, in some programming languages, specially like Lua, the code files can be extremely long and searching for a particular function can become a pain. If the function names are detected, then one can simply navigate to it from the drop down bar. If the editor has the functionality of having code snippets, that is a wonderful addition as one can add repetitive lines of code by a few keystrokes. If the editor does not have that functionality, there is always TextExpander and Typinator to help in code expansions.

I personally use Typinator and I found that useful for consistency while writing, as I can create a template and have a shortcut assigned to it. so when I type the magic keyword, it replaces that with the template text. Almost like auto-correct in MS Word. TextExpander is good too, but I have gotten used to Typinator. TextExpander does offer slightly more control over the placement and replacement of certain keywords including moving the cursor. If I had the iOS version of TextExpander, it might have been the expander of my choice, but since I don't, I am happy with Typinator.

There are free offerings and then there are the commercial ones.

FREE Offerings


Text Wrangler

Publisher : BareBones Software
Link : http://itunes.apple.com/au/app/textwrangler/id404010395?mt=12
Synopsis: This is quite a wonderful software that is available for FREE. It has a lot of features packed into it.
Main Features:
  • Syntax Highlighting
  • Functions list for quick access
  • Code Folding
  • Multiple Views of the same file
  • Line numbering
  • and many more like the ability to script, access to/from FTP server, searching (on steroids)


Fraise (Open Source)

Publisher : jfmoy
Link : https://github.com/jfmoy/Fraise/downloads
Synopsis : This is a quick and easy to use editor, I have had this since the time when Smultron used to be free around 2007, when the developer *stopped* work on Smultron, Fraise was forked as an ongoing project from there. It was the best syntax highlighting app that was free and worked well with multiple files. It was quite useful while working with shell scripts, etc.
Features:
  • Syntax Highlighting
  • Line numbering


Kod (Open Source)

Publisher : Rasmus Andersson
Link : http://kodapp.com/
Synopsis : Kod (sounded like Code, not Cod - the fish) This is a mutl-tabbed (browser type tabs) text editor (as it uses the Chromium Tabs) It is quite fast and theme-able, so one can change the colours to suit their preferences. It is majorly built on a web framework.
Features:
  • Syntax Highlighting
  • Line numbering
  • Multi-Tabbed display

MacVim

Publisher : Bram Moolenaar et al / Björn Winckler
Link : http://code.google.com/p/macvim/
Synopsis : It is the GUI version of vim (which is the *improved* version of vi) For those that are uncomfortable with the terminal, this offers the same features with the GUI wrapper around it. For those that are used to using vi/vim this is an alternative and for those that want to use a *true developers* editor then this is it.
Features :
  • Syntax Highlighting
  • Line numbering
NOTE: This is *not* recommended for beginners as this might be slightly difficult to use in comparison to the other options.

TextEdit

Publisher : Apple
Link : Comes default on all Macs
Synopsis : It is a text editor that can be used as a Rich text editor if required (for HTML) think of this as the Notepad / Wordpad option from Windows. There are a few subtle differences which include
Features :
Text completion - This can be used for normal English words, does not have the option for specific languages to be included unless you create them as words in the custom dictionary to be used.

IndeEd

Publisher : Michael Hartlef
Link :
Synopsis : This is a specialised Editor, it is aimed at one framework only, CoronaSDK. It includes all the required functionality to be an all-in-one editor.
Features:
  • Syntax Highlighting
  • Line numbering
  • Function listing
  • Multi-Tabbed display
  • Ability to run the simulator from the editor

xCode

Publisher : Apple
Link : http://itunes.apple.com/us/app/xcode/id448457090?mt=12
Synopsis : This used to be available with every OS on the 2nd Disc, however now it is available off the Mac App Store. If you can get around it, you can use xcode as a wonderful project manager and text editor. With xCode 3.0 there was a way to add custom syntax highlighting, with the new xCode 4.0, it has been a bit more difficult, still xcode is intelligent enough to learn the keywords it encounters for allowing auto complete to suggest those. This is very helpful to avoir things like onExit and onexit type errors from happening.
Features :
  • Syntax Highlighting
  • Line numbering
  • Function listing
  • Auto Complete

Commercial Offerings

Though there are these free offerings, sometimes a developer might just require that little bit more. That is where these commercial offerings come in.

TextMate

Price : $55/€ 39 Academic Pricing: € 33.15 (15% discount)
Publisher : Allan Odgaard
Link : http://www.macromates.com
Synopsis : There is no free offering for this, however there is a 30 day trial for the users to try it before they buy it. It is quite easy to use, I personally love the ability to press ESC to auto-complete, some other autocomplete options include waiting for a brief moment, before the auto-complete pops up. Changing between these editors, it does get confusing *for me) as I end up pressing esc and nothing happens.
Features :
  • Syntax Highlighting
  • Auto Complete
  • Line numbering
  • Code Folding
  • Function listing
  • Ability to run the simulator from the editor
  • Macro Recording
  • Snippets / Shortcuts
NOTE: If you have to purchase the licenses, it is better to purchased the full license as the €5.85 that you can save is not worth the limitation of non-commercial use only. Would have expected a much better Discount for Academic use. After all if someone is used to using a software, they will continue to use it later, like TextWrangler to BBEdit.

BBEdit

Price : $49.99 (MAS US Store)
Publisher : BareBones Software
Link : http://itunes.apple.com/au/app/bbedit/id404009241?mt=12
Synopsis : This is the editor that is *always on* on my desktop in one of the workspaces. I personally like this as I have transitioned to it from using TextWrangler, I did not have to relearn or re-orient myself with a new editor. It is the best option for anyone that wants a good professional editor to try Text Wrangler, a totally Free fully functional editor and then buy BBEdit if the need for the *PRO* features arises. I will be entirely honest, I could still continue to work with TextWrangler without the need to upgrade to BBEdit, they have offer those many options for free to the developers in Text Wrangler. However the features like Auto-completion would be the features that I would *personally* benefit from and the fact that
Features :
  • It has all of the features available in Text Wrangler
  • Auto Complete

Corona Project Manager

Price : $79.99
Publisher : Jay Jennings
Link : http://www.coronaprojectmanager.com
Synopsis : Though this started off as a Project Manager for the CoronaSDK, this has over the last few iterations also proved itself as a wonderful code editor.
Features :
  • Syntax Highlighting
  • Auto Complete
  • Line numbering
  • Code Folding
  • Function listing
  • Ability to run the simulator from the editor
  • Files/Resources management
  • Code Snippets

Other offerings

There are some other offerings that ca nbe used, however these are not the ones that I have worked with, so would not be able to comment on the suitability of those.

Chocolat

It is a *light weight feeling* text editor from Alex Gordon and Jean-Nicolas Jolivet, it is based off a series of open source libraries and can be pre-ordered for $32.83 (AUD) or $34 USD (this is one of the few times that I am seeing a proper exchange rate conversion) otherwise most developers or their payment gateways charge more for other currencies than USD.
Chocolat does syntax highlighting for lua and a couple of other langauges, but there is no way to add custom languages. It does not have code folding and does not parse functions names.

I can mention the others just by names, than go into details

eMacs, JetBrains AppCode, and more to add to this list







Comments

  1. Jayant, I'd add the Sublime Text Editor to the list. Worth a try since v2.0 is in beta and no license is required for evaluation. Here's the link if you or your users care to check it out: http://www.sublimetext.com/2

    ReplyDelete
  2. Xcode is stylised thus.

    ReplyDelete

Post a Comment

Popular Posts