Atom is a madhouse. It's what you might expect from Github, a company with no experience in deep, complex IDE tools but lots of experience bringing together a small army of amateurs to contribute to a stone soup, open source project. It's wide with wonderful, useful conveniences, and not very deep in the kind of tools that take CS PhDs years to get right at places like Microsoft.

It's a perfect reflection of the madness that is front-end web dev: a crazy quilt of evolving technologies on which a significant portion of its functionality is built by stacking up extensions like Jenga blocks, and each day some of those blocks are upgraded, the ones causing the latest 100% CPU issue are identified and deactivated for the next version or two, another stab is made at resolving conflicts between independent autocompleters with undefined priority, a wonderful new extension is discovered, it gradually gets slower and slower until you restart it, then it's nice and quick doing whatever it can do today....

Then there's Visual Studio Code from Microsoft, which is also what you might expect given their background. These people know how to build a deep, powerful IDE, and it's an amazing statement about their technical depth that they managed to build such a snappy, solid-feeling editor (that never needs to be restarted and opens multiMB files with aplomb) on top of the same Electron base Atom is built on, and doubly amazing when you consider that Electron itself was built by Github.

But in contrast to their technical depth, MS seems out of their depth when dealing with an open community of developers. In contrast to Atom's chaotic, buzzing discussion forum, Visual Studio Code's forum is...well, actually it doesn't even exist. The closest they have is an "issues" list hosted by, yes, Github, and a list of feature requests you can vote on which can accommodate comments, but which the MS team warns candidly that they never look at. (They only look at the vote count and even then, there's little evidence they look beyond the top 5% or so of requests.) Neither of these is a discussion forum where users get together and help each other, and MS doesn't seem to have the resources to both do what they want with VS Code and find out what users want, so they stick to the former.

VS Code lacks so many common editing conveniences available in Atom (a minimap, drag and drop text editing, a project switcher, indentation lines, a way to make the faint bracket matching highlight visible....) and adds these so slowly if at all that, for these fairly shallow but very useful features, you seem to have some poor guy volunteering his 20% time at MS vs. a small army of volunteer developers contributing to Atom.

And yet, the MS people are talking about deep, ambitious, full-blown IDE features planned for VS Code--and these people understand how to build such things--while Github can't seem to get past the challenge of how to open a big file and say they aren't interested in ever becoming a powerful IDE.

So, will Atom's furious beehive of JavaScript-style chaos eventually evolve deep tools and a fast, solid base? Or will Microsoft's old school, tiny team of experts figure out a way to get the conveniences done by others without undermining the foundation while they build a serious, deep dev tool?

I hope it won't take too long for at least one of them to be solid, wide, and deep.