Hacker News new | ask | show | jobs
by _bxg1 2408 days ago
I was an Atom holdout for a while - it felt disingenuous the way Microsoft kind of swept in and usurped their idea.

But man, eventually I caved. VSCode is a marvel. It performs better than most native IDEs I've used, despite being Electron-based. It's the good parts of Visual Studio without any of the legacy baggage. Its package ecosystem is just as vibrant as Atom's, with solid support for nearly every language under the sun, but at the same time its built-in features and attention to detail in the user experience are Apple-level (really, Apple-of-ten-years-ago-level). I still can't believe I get to use it for free.

3 comments

I would say Microsoft's dev tools have always been best in the business, but only in their ecosystem and only for their ecosystem. A big part of the reason I still go out of my way to use MS SQL is how good SQL Studio is.

The revolution with VSCode is the openness, not the quality.

Out of interest, have you ever used Jetbrains products like IntelliJ IDEA and friends? Even back when I was writing C#, years ago, Visual Studio was way less productive without their ReSharper plugin.
I'm sure it's a "too each their own" feeling.

Personally, I've never seen Visual Studio so unproductive as with ReSharper installed. The number of colleagues over the years I've had to work to convince them to remove or disable ReSharper to get any work done on projects has been too many. ("I hate Visual Studio because it is too slow." "Do you have ReSharper installed? What happens when you disable it?" "Wow, Visual Studio is really fast now." Surprise.) I've had employers install it by default, I didn't like using it, and I made sure that my employer wasn't paying for a license directly for me when I uninstalled it.

If Android Studio is any indication, I don't see what the fuss is about IntelliJ either. But some of that is certainly just lack of familiarity because I only open up Android Studio when I have to.

It may just be that my experience was a good while back and VS has improved since then. At the time the built-in static analysis really wasn't up to scratch.
I’ve been happy doing most tasks in MySQL Workbench that I can do with SSMS.

Oddly, when using SQL Azure instead of on-prem SQL Server, SSMS doesn’t let you use its friendly hand-holding dialogs but instead drops you into a new editor document with cryptic syntax.

The only excuse I can think of is that the user-friendly popups are single-threaded and block window-messages on network IO and would have a very poor UX due to due the chatty TDS protocol.

It does sound like SQL Server and SSMS have some very interesting choices in remoting models, based on what I've read of Azure Data Studio's development.

Azure Data Studio's the VS Code-based SSMS-like tool focused on Azure SQL and Cosmos DB. At one point the development blog was talking about it as if Azure Data Studio might some day be the eventual replacement for even SSMS itself, but they seem to have walked that back, at least in part due to how many crazy things SSMS does and how SSMS is one of those tools that certain types of users would possibly go into some sort of costly meltdown if their cheese moved.

> usurped their idea.

Monaco was a thing way before Atom was. It was publicly released after Atom but it was already in some of Microsoft's websites.

That's interesting to know; perhaps it was just the right time for independent discovery.

Still, a web-based code editor on its own has independent utility from an IDE. I'm not sure they would've taken the plunge into a full-on Electron IDE without Atom first showing that there was demand for one.

Monaco was already embedded in the IE 10+ Dev Tools before Atom, and Browser Dev Tools are IDEs in almost every respect other than being bundled independently from a Browser, and even that has changed in some recent respects (you can run Chromium's Dev Tools as an independent app).

(In an interesting full circle, the Elements for Edge plugin to VS Code makes VS Code a full DOM browser for Chromium-based Edge.)

I don't think Atom was first with that idea, for example Brackets was in development before Atoms first release.
Monaco here being the code editor VSCode uses, not the Apple font or microstate.
For me, the tipping point were some Atom bugs that remained open for a long time[1], when I decided I didn't want to deal with those any longer, I went back to Sublime, which is what I was using before - so from my point of view, it is Atom itself that created its own demise. Of course I'm not denying that the competition from VS Code played a part, but at the same time I think that the Atom community could have addressed some UX issues a bit more promptly and maybe Atom would have had a better chance.

[1] in fact I've just checked and at least one of those bugs - #10720 - is still open, almost 4 years after it was created.

For me the tipping point was when installing Atom's Flow extension just started tanking performance. Atom had this super open write-whatever-in-JavaScript extension model which led to tons of great options, but it also meant that lots of common performance-intensive things didn't have a proper, coordinated, prescribed channel and were always talking over each other.

Kind of like how Android apps can just do whatever they want, and how that's become a major performance challenge for Google to mitigate. Whereas iOS says "here's how you send push notifications, here's how you do X Y and Z in the background, here's how you do web views, work within these APIs". Those constraints allow the platform to schedule and prioritize things, reuse work, and enforce quality. I don't actually know firsthand that VSCode enforces this kind of model, but I don't see how else they could get the performance they do with arbitrary extensions written in JavaScript.