Both editors claim to support numerous popular languages. In C++ and Java, Sublime supports syntax highlighting with limited code completion abilities for standard library functions. It indexes all user-created code and provides code completion for a few popular functions (like
fprintf) and code blocks (
SlickEdit does a better job, as it offers both syntactic and semantic support in C/C++ and Java. It provides a function list of objects and the parameters for functions for built-in types and user-generated code. SlickEdit can tag libraries for other languages, such as Ruby and Python, and provide semantic support. A list of supported languages is available.
In addition to C/C++ and Java, I did some limited semantic-support testing in Ruby and Python in SlickEdit. For both languages, the editor has completion for built-in functions listing member variables and functions for objects, and showing function parameters. But Ruby wasn't quite right. The editor did not seem to track object types, so I did not get code completion on instantiated objects, but typing the class name followed by the dot operator did provide a list of the object's functions and variables.
I edit HTML and XML files regularly, so this is another feature I tested. Both editors provide highlighting for XML and HTML and auto completion for common HTML elements. Neither editor detected invalid XML or HTML.
SlickEdit was quite a bit more friendly with XML and HTML files than Sublime. It auto closes tags when "</" is typed and provides documentation for HTML elements as you type. And it offers dynamic surround when certain elements, such as a table, are used (dynamic surround will be discussed shortly).
In addition, both editors support scripts for at least one *nix shell.
Both editors showed limitations in file handling. Neither one, for example, supports moving files between directories using drag-and-drop.
One annoying aspect of SlickEdit is the lack of a proper file manager. SlickEdit could benefit from a single tool window, where files and directories can be added and removed and files can be created from templates (such as .h and .cpp files for a class), renamed, or removed. SlickEdit has these features, but they're split among several tool windows and file menus. It would be handy if they were available from the same location with the addition of drag-and-drop.
Creating files from templates is a feature that Sublime is lacking, though this feature could be added through the Python plugin API. Sublime Text also has a curious limitation: There is no way to print a file from within the editor.
Both editors have a number of unique features out of the box. Sublime supports plugins through an API and a Python macro language. SlickEdit also supports plugins, but this feature is used mainly by OEMs. Instead, SlickEdit users extend the functionality by writing Slick-C macros. One essential plugin is Sublime Package Control, which helps manage (find/install/remove) packages.
Slick-C macros use a C-like DSL and appear to be as powerful as the Sublime plugin API, but I did not find a community sharing Slick-C macros like the community that shares Sublime packages.