Every year or two I convince myself that I should buy a text editor like Slickedit. After all it’s the self proclaimed “World’s most powerful code editor”, right? And I really liked using it a long time ago in the version 6 days. But that was a long time ago and a lot has changed in the programming world. Can text editors like Slickedit keep up and still provide value?
When I first found Slickedit around 1998, it competed with the likes of CodeWright and MultiEdit. They were all pretty good at the time but happened to them? CodeWright was lost to corporate restructuring and MultiEdit has been struggling with a massive code rewrite. Slickedit is still available but it too has been undergoing a significant code rewrite. So what’s going on here?
I think it’s because it’s because the engineering effor to keep these high end editors relavant far exceeds people’s willingness to pay. For example, Slickedit lists a wide variety of supported languages but only ActionScript, C, C++, and Java support all of Slickedit’s features. I assume that Slickedit has written parsers for each of them but it’s a really hard problem. What about the differences C99 or C11? What about the differences between compilers like Visual Studio or GCC? My head hurts just thinking about it because the only way for Slickedit to parse everything 100% correctly is to either emulate or encaspulate the compilers.
So I decided to try out Slickedit with their 2 week trial on some different projects to see if it would work for me. I started with tagging the Linux kernel source code because it’s an issue for me when I work on device drivers. It took a pretty long time (10+ minutes) and used over 1GB of ram. But once everything was tagged it was pretty good and navigating simpler parts of the source code like jumping to function definitions. But the kernel source can be a tricky beast and there was a lot of code that it simply couldn’t find or navigate to. I then tried loading the kernel source into Visual Studio tagged everything but it took a lot more resources. However, it was better at understanding some of the more complicated parts of the kernel source code which I think is because Visual Studio might use its compiler to parse the source code instead of having a seperate parser. The problem for Slickedit is that Visual Studio Express is free and now there’s CLion which may also have a free version.
But Slickedit supports Java too, right? I tried using it on a simple Android project and is also did pretty well on simpler code. But it still had problems with things like ArrayLists and knowing what the object types were inside of the array. I wasn’t that surprised because that’s another hard problem to solve. But it’s still disappointing when you compare it to IntelliJ IDEA which I haven’t managed to confuse yet. And IntelliJ also has a free version. See a trend yet?
I know it sounds like I’m picking on Slickedit but I’m trying to. The reality is that Slickedit and other editors like it are really a general purpose tool that can’t really excel with anything because it’s simply too hard. There are many laser focussed IDEs out there that specialize in certain languages. And how do you compete with free?
Even lower cost commerical editors are having a tough go at it. For example, TextMate struggled for years to release a new 2.0 version and now it’s been released as an open source project. Sublime text is another causalty. I use it and quite like it but the new 3.0 version has been in beta for years with no indication if it will ever be finished.
So for now I will keep using Sublime text (fast) for most of my coding tasks and use IDE’s like IntelliJ (slow) when necessary. I think I wait and see what the future of text editors happens before I change.