Visual SlickEdit 5.0
Manufacturer: MicroEdge, Inc.
Price: $295 US
Reviewer: Larry Ayers
I can't think of many commercial software packages that have been continuously evolving since the early days of the personal computer industry. Visual SlickEdit, MicroEdge's award-winning programmer's editor-cum-development environment, was initially released in 1988 as a DOS and OS/2 character-mode editor. This was when IBM was marketing text-mode-only OS/2 as “a better DOS than DOS”.
Clark Maurer, currently CTO of MicroEdge and still active in SlickEdit development, was employed at IBM's Watson research lab. He was one of the developers of the legendary internal IBM editor E; this experience enabled him to quit IBM and begin development of the first SlickEdit releases.
Having installed an earlier version of SlickEdit from floppy disks a couple of years ago, I anticipated no problems installing version 5.0 from CD-ROM. A GUI installation interface makes the process even easier than before, but I ended up with an installed editor which wouldn't even start up. After an exchange of e-mail and phone calls with MicroEdge's responsive and helpful service personnel, I still couldn't get it to work. I e-mailed a core-dump file to MicroEdge; it seems there were some compatibility problems with the particular version of Debian I've been running, which admittedly is the “unstable” release. The support staff even went so far as to install Debian 2.0 on one of their test-bed machines, and reported that SlickEdit started up just fine. Since there didn't seem to be any immediate solution to this problem, I installed SuSE Linux on a spare partition and soon had a functional editor. I imagine this particular incompatibility hadn't come to light before due to the nature of SlickEdit's normal user base, which probably uses older and more proven versions of Linux.
Customization possibilities are extensive. Aside from the expected keymap and syntax-highlighting adaptations which can be made, menus and pop-up dialogs can be altered and even created from scratch. Much of the editor's functionality is written in a C-like language called Slick-C, but the language itself doesn't need to be learned, as SlickEdit comes with a Slick-C IDE (integrated development environment) called the Form Editor. With this editor (which resembles Visual C), existing dialog boxes can be modified and new ones created from scratch. These two screen shots illustrate the HTML font dialog box opened for editing.
Making the guts of a program accessible to users, which enables almost unlimited tailoring of a program to individual (or corporate) preferences, is a familiar concept to Emacs users, but rare in commercial products.
SlickEdit is feature rich. Leaving aside the basic abilities any good programmer's editor should have, this editor abounds with useful functions, including:
SlickEdit is unparalleled in its broad base of supported platforms. Along with Linux, versions are available for Solaris, HP-UX, Digital UNIX, Windows 95/98/NT, SGI-Irix and IBM OS/390. The look and feel is identical across all platforms.
An extensive array of programming languages are supported, while new languages can be added easily.
Context Tagging can be quite useful. Expression type, scope and inheritance analysis are performed as you type. Members and inherited members of objects are displayed in a dialog, while at any time, you can navigate with a keystroke to the definition of an identifier, including class members, functions and variables.
Sophisticated file differencing (called DiffZilla) is similar to the traditional Linux diff utilities, but is controlled via dialog boxes and is thus easier to learn and use. The Diff dialog can operate on multiple files in a directory tree, while other directories can be excluded from the operation.
The search and replace functions are analogous to those in Emacs, even to the extent of including the invaluable incremental search, which allows searches to be completed as a phrase or string is typed.
Up to fifteen clipboards are available. Their contents are accessible from a dialog box and are saved between sessions.
Window treatment is easily controlled from the menu bar, especially important in an editor with so many possible windows. Tiling, cascading and linking windows are among the possibilities. All windows are confined within the main SlickEdit window and can be positioned and resized just as any X window can be.
SmartPaste is another editing convenience. Paste a cut or copied block of code into a file, and it will be re-indented automatically to the appropriate level.
SlickEdit makes good use of the IDE-inspired concept of projects, assemblages of source files and compiler command lines along with the working directory. These can be loaded as a unit and shared with other programmers. Another useful concept is the workspace, a higher-level collection of projects. Dependencies can be defined within projects in a workspace, so that one project must be built before another. Projects can inhabit more than one workspace, and (as with projects) workspaces can be shared with colleagues. Visual SlickEdit can open workspaces and projects created with Visual C++ and Tornado.
When more than one programmer is opening and modifying files and projects, some form of version control is essential. SlickEdit has built-in support for commercial version-control systems such as ClearCase, SourceSafe, SCCS and several others. Adding support for a new version-control system can be done easily.
This release sports enhanced HTML-editing capabilities. When used with the extensive collaborative and distributed development features, SlickEdit has positioned itself as a viable platform for web content creation.
Spell checking is exceptionally versatile in this release. Checking can be limited to comments and strings in source files, while HTML spell checking automatically ignores tags. Multiple files can be checked with one command, even recursing down into subdirectories.
Although it may seem odd for an editor to double as an FTP client, this feature can, in effect, let a user edit files on a remote machine as if they are local. Rather than manually downloading, editing, then re-uploading files to a site, the built-in FTP client lets these remote files appear and be accessed as if they are in just another local directory.
Previous versions of SlickEdit allowed users to emulate Emacs, Brief and vi key bindings, enabling UNIX users to come up to speed quickly. Version 5 introduces Visual C++ emulation, providing a similar service to users in the Windows camp.
|Dynamic DNS—an Object Lesson in Problem Solving||May 21, 2013|
|Using Salt Stack and Vagrant for Drupal Development||May 20, 2013|
|Making Linux and Android Get Along (It's Not as Hard as It Sounds)||May 16, 2013|
|Drupal Is a Framework: Why Everyone Needs to Understand This||May 15, 2013|
|Home, My Backup Data Center||May 13, 2013|
|Non-Linux FOSS: Seashore||May 10, 2013|
- RSS Feeds
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Using Salt Stack and Vagrant for Drupal Development
- Dynamic DNS—an Object Lesson in Problem Solving
- New Products
- Validate an E-Mail Address with PHP, the Right Way
- Drupal Is a Framework: Why Everyone Needs to Understand This
- A Topic for Discussion - Open Source Feature-Richness?
- Download the Free Red Hat White Paper "Using an Open Source Framework to Catch the Bad Guy"
- Tech Tip: Really Simple HTTP Server with Python
- Roll your own dynamic dns
3 hours 59 min ago
- Please correct the URL for Salt Stack's web site
7 hours 11 min ago
- Android is Linux -- why no better inter-operation
9 hours 26 min ago
- Connecting Android device to desktop Linux via USB
9 hours 55 min ago
- Find new cell phone and tablet pc
10 hours 53 min ago
12 hours 22 min ago
- Automatically updating Guest Additions
13 hours 30 min ago
- I like your topic on android
14 hours 17 min ago
- This is the easiest tutorial
20 hours 52 min ago
- Ahh, the Koolaid.
1 day 2 hours ago
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi
It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?