“I almost died of not-surprise.” – Yago, from Aladdin.
So, today, Microsoft had their big developers conference, during which they announced a new, cross-platform programmer’s text editor: Code. It’s a new editor based on Electron, which is based on Atom, which is built on Python, none of which particularly excites me. Of course, lots of other people are excited about it, but it seems to be just another Sublime Text-like editor, but with Microsoft’s “Intellisense.” This is supposed to help you code, by doing syntax-based word completion. People rave about it. Probably the same ones who would be excited by this announcement.
Unfortunately, my experience on Visual Studio Pro over the past year is that it guesses wrong about 80% of the time. This has the effect of rendering the completion suggestions more hassle than help, as I’m constantly having to dismiss the on-screen pop-ups because they’re covering code I want to see. And they pop up all over the editor’s various windows. Even if I do use the feature to complete a suggestion, I’ve had to type out 90% of the symbol I want so that it will automatically complete the right one, because the one I want never seems to be at the top of the list. So much for the “intelli” part of “Intellisense™”. Otherwise, I have to use arrow keys or the mouse to select the one I want, and that’s slower than just typing it.
I won’t lie, and say that it doesn’t help in the case of skimming an object’s methods if I don’t know what I’m looking for. Over the last year, I’ve used it a lot for this. This use case is bolstered by the fact that I’ve built my app on top of DevExpress, which is a whole new widget library, with similar-but-different method calls versus the standard widgets. However, this use case only saves swapping out to a web browser to look at the API documentation… sometimes. Since, even if I think a method looks like it will work, I still usually need to actually read how to use it.
So I don’t get what all the fuss is about regarding Intellisense. In fact, while I’m writing this, because I’m thinking about it, I’ve just turned it off.
Futhermore, just this morning, I was grousing about how there are two critical use cases that are impossible to bug in Visual Studio, which makes it an inarguably worse editing environment compared to Ruby on Rails. You can’t inspect what’s going on with an in-memory query. LINQ queries and anonymous functional blocks are impossible to debug in the editor. You can’t inspect the current iterator, nor can you execute ad-hoc closures in the debugger.
I’d rather be doing arbitrary library method exploration in irb, or doing live debugging in a web browser with pry, where I can do anything I want with an ad-hoc experimentation. I can only assume that people who think development with Visual Studio is the pinnacle of coding productivity are people who’ve not done much with any other languages. Maybe Ruby stands alone with respect to ad-hoc inspection, and I’m just lucky to have gotten to use it so much, professionally.
So, wake me up when Code is somehow better than Sublime Text.
And, for pure power, there will always be the grand-daddy: Vim, which I used for nearly 20 years before switching, and which is permanently ingrained in my muscle memory.
Hmm… I’ve just installed it, and I actually love it’s particular brand of integration with git. And it’s snappy. And it looks good. Uh oh. I think they may be on to something here. If people start making plugins for this thing — and you know they will — this could be a real contender to the $70 Sublime Text. Maybe rumors of this thing is what got ST3 development restarted recently… I’m going to make this my go-to text editor on Windows for awhile, and see what happens.
Nuts. I’m still bitter at Microsoft for the 90’s and the SCO trial. I don’t want to see them transition to success in the new, open, cloud-based computing world, but every indication is that they’re doing just that.