Tuesday, September 14, 2010

SlickEdit has enough new features to replace IDE—at a price

SlickEdit’s mix of capabilities might have what it takes to entice me to tool unification

I’ve always been the type of programmer who’s used two editors: one for quick edits and another for larger-scale work. On Windows, my preference for quick edits has been SciTE, which I regard as a “better than Notepad” editor that does just what I need: syntax highlighting, quick open and close times (that’s very important for us impatient programmer types), line numbers, and a good search and replace that includes regular expressions.

For bigger work, I turn to full-blown integrated development environments (IDEs), where I typically tap Visual Studio or Eclipse, depending on the project. Then along comes SlickEdit 2009, which offers some of the best attributes of these two classes of editor. I’ve always been happy with my two-worlds approach to text editing, but SlickEdit’s mixture of capabilities might have just what it takes to entice me to tool unification. While SlickEdit is an editor by name, the venerable tool (the release I tested is the product’s 14th) has long hovered a bit closer to the IDE end of the spectrum. For instance, where it’s common with slimmer editors to drop out of the application to debug or compile from the command line, SlickEdit features such broad language support and support for creating projects that developers of all stripes can do most of their coding
and compiling from within the tool.

In fact, with Version 2009, SlickEdit has piled on enough new features— including a complete debugger for Python, Perl and PHP code—that it can actually replace your IDE for all practical purposes. I expect most programmers to love SlickEdit 2009 once they try it, but there is one significant downside to this product: its cost. A single-developer license on Windows or Linux costs $299; on Solaris, it’s $399.

This kind of pricing is clearly intended for businesses that determine they can save money by using the product, and there’s certainly an argument to be made that productivity will increase with an editor like this. However, the availability of free options, such as Eclipse and the express versions of Visual Studio, might make it tough for programmers to convince their CFOs that the gain will be significant enough to justify the cost. That debate could be tougher still in shops that have already invested in costly Visual Studio enterprise licenses.

Slick editing
SlickEdit 2009 sports a set of new features that jumped out at me early in my testing. The first was a new symbol coloring capability that takes syntax highlighting a step further, for example, by coloring a private member variable differently from a member function.

Another cool SlickEdit 2009 feature called Smart Open helped me locate and open files more quickly by taking the first few file name characters I typed into the smart open dialog and pulling up a list of matching files from various directories within my workspace. Since large software projects often end up with dozens or even hundreds of directories, this could be a big time-saver.

Also impressive was SlickEdit’s new Source Diff feature, which works like a traditional diff/merge utility with one important difference: This source diff program will ignore whitespace differences, and that’s a big help when comparing two files with few code differences but several layout and formatting differences. This is particularly common when dealing with files that have been run through an editor that “beautified” the code by replacing tabs with spaces, moving braces to or from a new line, and the like.

I’ve seen cases in which diff utilities have practically choked while displaying the changes between two files that had just one code change between them. SlickEdit’s Source Diff, on the other hand, can see past superficial whitespace and formatting changes, and show you only those lines that have actual code changes.

I tried out the Source Diff by taking an existing C# source file that had all the opening braces on their own lines and then manually moving the braces to the end of the previous line—a superficial change that does not impact the code. Then I removed several comments.

Finally, I made a “real” change and modified the characters in a string constant. I toggled the Source Diff feature on, compared the files, and, sure enough, the program ignored the superficial brace changes and highlighted the lines where I removed the comments and changed the string constants. Other new features include the ability to export and import some or all of your settings. This is important to any programmer who has ever had to move from one workstation to another. And the ability to export only some settings is useful if you want to share settings with somebody else without replacing all the settings.

Although not new with the 2009 version, there are several features in SlickEdit that tempt me to give up my old standby editors. One feature lets you create macros for SlickEdit, as you would with any good IDE. SlickEdit has a powerful feature that enables you to create a template (or use an existing one) that can be used for creating new source files. These templates are categorized.

For example, there’s a C++ template for a singleton pattern. If you create a new file based on this template, the file will start out with existing code for the beginnings of a singleton class. Other not-so-new features include member list pop-ups; easy code navigation, such as jumping to an identifier’s definition; auto-completion (something I’ve come to rely on quite heavily, as it makes coding much faster); and an impressive regular expression evaluator.

Source of Information : eWeek February 15 2010

No comments: