Six things a text editor must do - or it's a one-way trip to the trash

Does your source code editor pass the Verity test?

Top three mobile application threats

Stob When I heard, in a tutorial video, the multi-platform programmer's editor Sublime described as "the cool kids' code editor" (or possibly "the Cool Kid's code editor" - the speaker didn't enunciate his capitals and apostrophes very clearly) I was puzzled. As the goto (or, rather, the call-by-reference) consultant on Agile Harlem Shake in the northwest corner of our floor, surely no such assertion could plausibly be made without first interviewing me?

Nothing would have come of this if TextPad, normally as reliable as a tax demand, had not crashed. Twice. Unprovoked. Editing piddly little config files.

I mean, in about 1998 I actually registered it with my own money. Possibly as much as £12. So I have invested nearly a quid for each year of ownership, and seen nothing back for my dosh except a few thousand hours of heretofore bug-free editing, and 20 or 30 new versions, including several major version upgrades.

This counts for nothing when there's a brace of bifurcated .ini files squirming about on my hard disk like sadistically razor-bladed earthworms. TextPad is going on a written warning, and this is me writing it.

The Plan

Here's the programme. I am going to put TextPad and Sublime through Verity's Immutable, Scientific And Absolutely Perfectly Fair Six Point Programmers' Editor Test, and see who wins.

I am aware I am treading on sensitive and subjective ground here, so I am going to apply legendary Microsoft blogger Raymond Chen's anti-nitpicking strategy. I will attempt to anticipate and dismiss in advance every possible commentard objection, and leave the right-thinking reader with an impression of calm, reasoned rationality, and definitely not obsessive paranoia. Let's lay down some protective cover right now.

Anticipated Q. Does each editor support a "folding"  feature to allow the user temporarily to "collapse" a block of code by clicking in the margin?

Perfectly Rational A. Who cares? If you don't want to look at it, why put it in your program?

Q. Does the editor support user extension via an internal, C-like macro language?

A. Oh, for heaven's sake. Welcome, Marty McFly, to 2013.

Q. Those two editors are cool, but what about...

A. No, I won't be testing your favourite pet editor. Because.

This last point applies especially if your favourite editor - like that of Dave, who sits behind me - happens to be Notepad++. Years ago I had a very bad run-in with it. It had an evil bug which silently truncated the replace buffer, which I did not discover until too late. Betrayed once, I have sworn a dreadful oath with real, post-watershed swearwords that I will never give it a second chance.

Besides, I don't like its icon.

Off the mark

OK, on with the test. The first of the Six Immutable Blah-di-blah.

1. A programmer's editor must get its backside off the disk and into the air in no time at all. No problems here, both candidates achieve this, with perhaps a hint of stickiness from Sublime.

If either program had failed this test, I would have had to regrade it as an IDE, and it would be game over. Counter nitpick: the technical definition of an IDE is, of course, "any text editor whose add-ons have sufficient time to paint cute loading messages onto the splash screen", but cut me some slack here.

By the way, I do realise that there are some people who fire up, say, Visual Studio 2010 to edit one command parameter in their batch files. They sit there stolidly, their faces cast greenish in the glow of their default Windows XP "grassy hills" wallpaper, their trains of thought necessarily shunted into weedy sidings of forced idleness.

Meanwhile, the hard disk rumbles ominously under the strain of fat, juicy .NET components dropping ploppily into vast expanses of RAM, like ambiguously sauced and -sourced meat products being poured into the strata of a low-budget, lasagne-style ping meal.

I do feel such persons are ill-advised.

2. You don't need to be an enthusiast to drive it.

I don't mind enthusiasts banging on about using "finger memory" to improve their productivity.

I don't like it much when they wag those memorial fingers and write long sermons on their blogs, rhapsodising about the importance of learning a core 35 keystrokes. But hey-ho.

I absolutely can't be doing at all with editors that contrive, by absurd UI design, to make the acquisition of these keystrokes a prerequisite to getting anything done.

It turns out that my brain was only fitted with 72 bytes of "finger memory"; furthermore it turns out to be EPROM, not Flash. I need to wipe out all the WordStar keystrokes from 1986 (Ctrl+Y to delete a line, anyone?) before I can add any more, and I have lost the ultra-violet wiping-out gadget (ask your dad) needed to achieve this.

Counter nitpick: If all this ranting this seems suspiciously like a repeat of my recent  attack on R Pi, then: so it is.

Anyway, neither editor makes unreasonable demands in this direction. Another double pass.

3. Support for the languages that I use. Natch both editors offer syntax highlighting. TextPad looks pretty much like every other Windows programmers' editor since 1990 - basic syntax colouring against a white background.

Sublime, on the other hand, reveals Mac influences - it is a multiplatform beast -  with a 'coloured chalk on a blackboard' appearance, vertical scope lines and a navigable-image doodad on the right-hand margin:

Another giveaway: Sublime comes with a set of colour schemes with names like Dawn, Expresso Libre, Monokai, Slush & Poppies and the Smell of Napalm in the Morning (I may have made one of those up). Contrast this with an equivalent list from a Windows product (in fact Delphi VCL skins): Carbon, Charcoal Dark Slate, Emerald Light Slate,  Golden Graphite, Slate Classico and Dark Beige Slate Classico Carbon (I may have made one of those up). Talking of Delphi, I'll just, um...


One moment. Please wait one moment.

I don't believe this. Sublime comes with support for seven variations of TeX, five for the Rails framework, plus a selection of exotics like YAML and D, but NO support for Object Pascal. Not even as a Googlable freelance download. 'BEGIN' and 'END' are just random collections of characters as far as it is concerned.

Oh right, so you are really telling me, Sublime, that all the cool kids are frittering their lives away chaining together jQuery methods like digital daisies, when they could be experiencing the pleasure of the "Fish Facts" database using code that is very nearly unchanged since 1995? I must say I find that very hard to believe.

What's that? Anybody is free to devise their own syntax definitions? Don't come with that. I am far too busy and important for that sort of malarky. Minus one million points.

4. The editor should contain no implementation of Lisp. Self-explanatory - no need for a counter-nitpick here. Both OK, as far as I can tell.

5. Sooner or later, you need to skim through a huge log file. In the interests of science, and ignoring the danger of introducing some objectivity, I found a 74MB text file left over from Christmas, and tried loading it.

Sublime creaked, gasped, paused, debated... but didn't fall over. Scrolling from one end to t'other triggered a multi-second, fingers-drumming-with-impatience pause.

TextPad just ate it, chomp. Easy win to TeePee.

Top three mobile application threats

Next page: The TADREP Test

More from The Register

next story
Android engineer: We DIDN'T copy Apple OR follow Samsung's orders
Veep testifies for Samsung during Apple patent trial
This time it's 'Personal': new Office 365 sub covers just two devices
Redmond also brings Office into Google's back yard
Batten down the hatches, Ubuntu 14.04 LTS due in TWO DAYS
Admins dab straining server brows in advance of Trusty Tahr's long-term support landing
Microsoft lobs pre-release Windows Phone 8.1 at devs who dare
App makers can load it before anyone else, but if they do they're stuck with it
Half of Twitter's 'active users' are SILENT STALKERS
Nearly 50% have NEVER tweeted a word
Windows XP still has 27 per cent market share on its deathbed
Windows 7 making some gains on XP Death Day
Internet-of-stuff startup dumps NoSQL for ... SQL?
NoSQL taste great at first but lacks proper nutrients, says startup cloud whiz
Windows 8.1, which you probably haven't upgraded to yet, ALREADY OBSOLETE
Pre-Update versions of new Windows version will no longer support patches
Microsoft TIER SMEAR changes app prices whether devs ask or not
Some go up, some go down, Redmond goes silent
Red Hat to ship RHEL 7 release candidate with a taste of container tech
Grab 'near-final' version of next Enterprise Linux next week
prev story


Designing a defence for mobile apps
In this whitepaper learn the various considerations for defending mobile applications; from the mobile application architecture itself to the myriad testing technologies needed to properly assess mobile applications risk.
3 Big data security analytics techniques
Applying these Big Data security analytics techniques can help you make your business safer by detecting attacks early, before significant damage is done.
Five 3D headsets to be won!
We were so impressed by the Durovis Dive headset we’ve asked the company to give some away to Reg readers.
The benefits of software based PBX
Why you should break free from your proprietary PBX and how to leverage your existing server hardware.
Securing web applications made simple and scalable
In this whitepaper learn how automated security testing can provide a simple and scalable way to protect your web applications.