DEV Community

Cover image for The Rise of Microsoft Visual Studio Code

The Rise of Microsoft Visual Studio Code

Lyn Levenick on January 16, 2019

tl;dr Visual Studio Code usage is rising rapidly! VS Code is now the editor chosen by the majority of engineers during programming interviews, and ...
Collapse
 
jeroka profile image
Esteban Rocha • Edited

Nice data, it is clear that the IDE argument is not so false after all, and I totally agree that editors like VIM and Vs Code are way better than IDE's like eclipse, NetBeans or that crap that jetbrains offers.

It is sad too to see how Sublime Text is slowly dying... It is getting to much behind from the others, even that of Atom. And we all know its performance sucks.

On the other hand if Microsoft moves away from Electron, Vs Code will be unbeatable, much like chrome is on the browser market share space.

Collapse
 
turnerj profile image
James Turner • Edited

I guess it really depends on what you work on. I do .NET development and couldn't see myself not using Visual Studio - I consider it the best development tool I've ever used. That said, I've had terrible experiences with Eclipse and Netbeans when doing Java development though I don't know how much was the editor or the language so its not an IDE vs Non-IDE thing.

When I've done PHP development though, I am using VS Code. I tried Atom but found it crashing too often. Prior to that, I actually used Geany which is probably an uncommon editor for Windows.

Collapse
 
truggeri profile image
Thomas Ruggeri

I saw very heavy Visual Studio use in a .NET shop, but when I was doing .Net core development, I exclusively used VS code. It is more light weight and integrates with C# nicely. It is possible, given the right stack, to do C# without VS proper.

Collapse
 
chrisallnutt profile image
Chris Allnutt

I keep VS around for this very reason. If I'm working on a C# or .NET project it's tooling is very well tailored to that work, including additional niceties like break statements, inspections, and memory and CPU profiling.

For Node, Ruby, and Python I almost exclusively use VS Code.

Collapse
 
mikeschinkel profile image
Mike Schinkel

I've been a developer/software engineer/software architect for over 25 years, and you'll only take my JetBrain's IDEs out of my cold, grey, dead hands.

I can always tell the code people write in VIM, Sublime, Notepad, VSCode, etc. because the code is filled with bugs that my JetBrain's IDEs flag for me and make sure they are errors I do not make.

Collapse
 
jeroka profile image
Esteban Rocha

I don't see the difference.. Linters and the language server protocol are available for all editors too, I personally think that if someone writes bug filled code on a specific tool, it is not the tool for the blame, but the programmer.

Thread Thread
 
mikeschinkel profile image
Mike Schinkel • Edited

Sure it is the programmer's fault. It's their fault for not choosing good tools! He or she would have less reason to be blamed had they used better tools.

By the same logic, mechanics don't need wrenches, they only need hammers, and they should treat everything like a nail and bang on it. That makes no sense.

Good IDEs can make good developers better because they help them learn the language better than they would if they were left to scratching their head trying to understand why something does not work in a text editor. In an IDE the developer can read the hints that explain why it does not work and learn from them. I have been learning Go for the past 3 months and GoLand has been a godsend!

A good engineer knows that one of the most important aspects of being a good engineer is to pick the best tools for the job (and yes, I am a degreed engineer.)

That said, if you think working in a text editor is best for you, more power to you.

Collapse
 
simov profile image
simo

A friendly reminder:

Also:

You can use the pepper grinder to create pepper by turning the crank ...but, a pepper grinder is not pepper, so you must not try to eat it!

Collapse
 
mikeschinkel profile image
Mike Schinkel

JetBrain's IDEs are at 22.3% compared to 16.8% for VSCode.

IntelliJ + PyCharm + Android Studio are all different flavors of JetBrain IDEs, analogous to VSCode with different add-ons.

But grouping them together like this would not support the narrative you chose in the headline, so it seems obvious why you did not.

<sigh>

Collapse
 
neochar profile image
neochar

Moreover, PHPStorm is not pointed here.
When it comes to write PHP code - PHPStorm is #1 IDE and it is also JetBrain's product.

Collapse
 
mikeschinkel profile image
Mike Schinkel

lol, I should have mentioned PhpStorm too! Been using since before 1.0. :-)

Collapse
 
nickytonline profile image
Nick Taylor

I really love it as an editor. One thing I'd recommend to others is to install the Insiders build. You get all the new features as they come out instead of waiting for the official releases. Also, it's really stable.

You can grab it here, code.visualstudio.com/insiders/

Collapse
 
unknownfea profile image
Daniel Millier

Couldn't agree more! Been using VS Code for awhile and absolutely love it! Find it very lightweight compared to using IDEA or PyCharm.

Collapse
 
panta82 profile image
panta82 • Edited

Intellij, PyCharm and Android Studio are basically the same editor with different plugin mixes. Which puts JetBrains/Intellij IDE at #1.

Collapse
 
neochar profile image
neochar

Once again, if we mention PHPStorm the situation will change even more.

Collapse
 
sambenskin profile image
Sam Benskin

Regarding VS Code, Go, and Ruby I think people that are more willing to try new languages and editors exhibit curiosity which is a behaviour that makes a good developer. That inquisitive nature will help diagnose and resolve issues. These types of people are always looking to push themselves further and by result will become better developers and be better equipped to demonstrate their talent in interviews.

Collapse
 
jeroka profile image
Esteban Rocha

Your totally right! VsCode and specially VIM will not make you a dependent mediocre dev like many of the others IDE's do, I have seen 95% of "IDE engineers" fail miserably when they have no access to their IDE, and the best engineers I have seen and worked with are able to write clean code on sublime, notepad, Atom, VsCode, Netbeans or whatever.

And yeah VIM really, this is not the first data that suggest that VIM or Emacs engineers have more solid core knowledge, and I'm quite happy to see that IDE's are declining, because people sometimes is not objective when it comes to understand that all tools have strengths and flaws, and I believe this actually hurts the industry as it is a red flag for a junior engineer, a senior should know this core principle at heart.

insights.stackoverflow.com/survey/...

Collapse
 
jonhodgins profile image
Jon Hodgins

This is super interesting data! Thanks for compiling it.

I don't see VSCode being overtaken anytime in the near future. The only real improvement that can be made as far as I am concerned is to move off of Electron.

Collapse
 
marthaelax profile image
Angeiͥͥͥͥͥͥͥͥͥͥͥͥͥͥ

Many people complain about Electron being slow and a RAM eater framework, but VS Code is pretty fast, not like sublime, but still much faster than Atom. Why do you think they should move off of Electron and what would be a good alternative to it?

Collapse
 
andhop profile image
Andy Hopwood

What would you recommend as an alternative to electron?

Collapse
 
milmike profile image
MilMike

I like VS Code but it is very slow for bigger files (~10k of lines). Thats why I prefer Sublime for these kind of projects, to be fair, almost all of the code editors are painfully slow with big files.

Collapse
 
elmuerte profile image
Michiel Hendriks

People are even slower on big files.

Collapse
 
blazselih profile image
Blaž Šelih

This is a genuine question, not trolling.
What is a use case or reason for 10kloc files?
I see this as more of an architectural issue than editor problem.

Collapse
 
milmike profile image
MilMike

I work in projects having a large "inc/functions.php" file where everything is cramped. Library and logic stuff. This is bad practice, I know.. but no one has the time to refactor it, I tried once but older coworkers then asked why, where, what happend to function x... where is it.

Newer projects were built uppon that first app so the functions.php is growing bigger and bigger, containing unrelevant stuff from the first app. This is pure horror, not just for the code editor.

Thread Thread
 
blazselih profile image
Blaž Šelih

OK, thanks. I see your point (and feel your pain).

Collapse
 
dazlari profile image
Darron Smith

It would be interesting to separate out those who pay for their editor or opt for the freebie.

There's a good reason VSCode is free - MS is gunning for the mind-share of the new developers which is way more valuable to them than just being notable for having the best editor.

They have successfully turned the ship on this one with VSCode. Look out for a paid for VSCodePro when they clear 50%. Developers, developers, developers...

Collapse
 
pzelnip profile image
Adam Parkin

Possibly, though given MS's focus on Azure & the cloud, I think they're less focussed on milking devs for software licenses & more on betting on cloud revenue. VSCode is very much in line with that vision as there's many tools for Azure & such that are either built in or easily installable by extension, so getting as many devs to use VS Code as possible supports the whole Azure play they're riding right now.

Collapse
 
johnkazer profile image
John Kazer

Azure has an in-browser simple version of VSC which is gradually gaining features. I reckon it will eventually be one and the same...

Collapse
 
m1guelpf profile image
Miguel Piedrafita

Nice article, turned it into audio for easier consumption :)

Collapse
 
jcabraham profile image
Jim Abraham

I will say to you what Dennis Ritchie said about Unix, in the days when Apple and Windows were yet to be consumer products: those who do not understand Unix are doomed to reinvent it -- badly.

Emacs and Vim are so incredibly powerful that they do things most people, including programmers, did not realize were possible in an editor. You probably work incredibly inefficiently, but you don't even realize what you could not be doing.

Collapse
 
neochar profile image
neochar • Edited

People who say that IDE guys without their IDEs are nobody. Are you serious?
Why do you ever need to work without IDE? To work through ssh? There are tools created to get rid of working on server with ssh.

I prefer using Intellij IDEA with IdeaVim installed. Yes, I love Vim and I use it everyday in my console because I'm too lazy to setup deployment and earn some money to update my laptop to use IDEA 100%.

I use advantages of both sides: speed of moving through the code with Vim and code refactoring tools + context-based code completion from JetBrains. I really tried to setup comfortable Vim-based IDE but when it comes to everyday coding - there is nothing better than IDE which works on you.

While I'm writing a code with IDEA, in Vim/Neovim I have to deal with ctags problems, which is too stupid to send me to parent class method because there is a method with the same name in a file which has nothing to do with my current class. I need to setup my environment more and more in Vim/Neovim just to get what I already have in IDE out-of-box? Just to play Lego? No, thanks.

PS: sorry for my lack of English knowledge.

PPS: once again, I love Vim when I need to edit some small files / write little script / work through ssh / as IdeaVim plugin.

Collapse
 
kayis profile image
K

I used PHPStorm back in the days when I still used PHP.

I switched to WebStorm when I switched to JS, but it just wasn't the same, because JS just didn't have the same static typing features PHP had.

With TypeScript becoming the de facto type-system for JS, I thought about trying WebStorm again, but VSCode simply has the best TypeScript integration.

Collapse
 
nans profile image
Nans Dumortier • Edited

Actually I find that Webstorm works well with Typescript. It even enables you to generate code (like constructors), and it's really a feature that I miss (or didn't find?) in VS Code.

Collapse
 
ryansmith profile image
Ryan Smith

Interesting data, thanks for sharing. For the Go language, my theory is similar to the Vim/Emacs reasoning with experienced developers using it. It is a language you generally have to want to go and learn, not something you will get too familiar with in university courses or in coding boot camps.

Collapse
 
lysofdev profile image
Esteban Hernández

Biggest down fall is no horizontal-split editors. I flipped my monitor 90 degrees for nothing! 😤

TS support is probs the only reason I use it over Atom which has tons of editor splitting options.

Collapse
 
wormss profile image
WORMSS

VSCode has horizontal splitting. Though the one thing it can't do currently is have separate windows on different monitors. Though I just open up a second instance and then load in the folders without it being a "Workplace".

Collapse
 
lysofdev profile image
Esteban Hernández

I can't figure out how to active it. I can just drag a tab and activate the vertical split but no luck horizontally.

Thread Thread
 
wormss profile image
WORMSS

Just need to drag it to the bottom. Maybe go a little side to side while you are at the bottom. Maybe the hotarea isn't that obvious

Thread Thread
 
suleman_hasib profile image
Suleman Hasib • Edited

VSCODE Ver: 1.51.1
View > Editor Layout >

There are multiple splitting options.

Collapse
 
darknite profile image
darknite

Yes. You can toggle splitting orientation with:

  • Ctrl + Shift + P (Command Palette)
  • Toggle Vertical/Horizontal Editor Layout.
Collapse
 
adam_cyclones profile image
Adam Crockett 🌀

Since Jetbrains products are amazing but highly specialised tools and not all purpose in quite the same way, like vscode, but perhaps the language behind the tool has a huge part in the market share, specialised tools I would expect to not be as popular unless the language is widespread.

Collapse
 
park53kr profile image
Junsuk Park

I changed IDE recently from Webstorm to VS Code. I struggled with finding some extensions that support code navigator, intellisense and some features that Webstorm do. But I get to think that VS Code is quite cool after I had gotten used to it.

Collapse
 
biros profile image
Boris Jamot ✊ /

VSCode is the newest editor in the list, and nowadays, developers are not so attached to their editor.
I think that VSCode's popularity is due to the fact that people are curious.
If we go back a few years ago, I'm sure Atom would have been the first.

Collapse
 
kayis profile image
K

I used WebStorm, switched briefly to Atom and then quickly to VSCode.

Atom had fewer features than WebStorm and felt just as sluggish :/

Collapse
 
margobra8 profile image
Marcos G.

One of the reasons I think VS Code is popular is the fact that it’s fast compared to other fully-fledged IDEs. So if people are just starting to learn a new language or prototyping/experimenting, they just want it to be fast and efficient and avoid waiting for an IDE to load, so they use VS Code.

Collapse
 
pzelnip profile image
Adam Parkin

Really interesting read, though the headline is a bit click-baity. Really the interesting part of this article is more the analysis of the different correlations between editor usage & job applicants you saw, less that VS Code is on the rise (though as a VS Code user myself I'm happy to see that too). :)

Good stuff!

Collapse
 
stealthmusic profile image
Jan Wedel • Edited

That is very interesting. During my career, i saw a lot of editors and IDEs popping and most of them can still be found in your chart. VSCode is just really new, so maybe people just want to try it. In our company, we have a few hundred developers and I don’t know one that uses VSCode (but obviously I don’t know all of them). I know a couple that tried it for some time and then changed back.
Most developers I know (and it’s mostly Java/typescript) use IntelliJ or one of its descendants like AndroidStudio for specific tasks.
So as someone deep down in the comments mentioned, if you combine all IntelliJ-based IDEs, it’s about 22%.

Collapse
 
welldone2094 profile image
Andrea Benfatti

I really hope that something new will come out which doesn't realy on a webview, i understand the reason for using it, everyone knows css and html, it's very easy to contribute etc. but it's so slow and resource heavy compared to other editors like the good old sublime.
For now i'm using JetBrains software but i'm always looking for something better. I tried to go down the neovim path but i don't have the time to spend configuring every little thing even if i have been using vim bindings everywhere for the past 10 years now.
ProofPick

Collapse
 
tvanantwerp profile image
Tom VanAntwerp

I'm curious if you've got location data on the Washington DC area. Lot's of government contract programmers around here, plus a few startups. And half of Amazon's HQ2 (HQ1.5?) is coming to this region. My guess would be higher than normal Java/C# usage, but I'd love to see my assumptions challenged.

Collapse
 
andev profile image
andev

Willing to give VS Code a try!

I used Vim when I first started coding, but quite honestly I'm not working as a programmer right now, so I haven't used it for quite a while; efficiency is not my highest priority right now, so I've been trying out multiple other solutions to see what works best for me.

I'm working very small code bases atm, mostly for automation purposes. I'm a jeweller and metalsmith these days, so most of my programming ends up producing ways to track processes (Nomie2 extensions), website guff, accounting automation, and 3D modelling automation. (And the very occasional ESO Addon).

I've been using Notepad++ forever for Python, and have been tempted by Visual Studio, which my partner works in these days (when he's not using Vim, that is). Np++ has been just sufficient for my needs for ages, but because of my change in career, I haven't bothered to find something better.


Using a tool because it is the latest thing out, or the oldest, or the trendiest, or whatever, doesn't make sense to me. Testing a tool to see if it works better for the individual or an integrated group makes way more sense. Traditions should be interrogated, but not thrown away just because they are old. Some traditions are still good! Some should be changed. Test, evaluate, make decisions :)

Also? Rubbishing other people's choices does not make you a comic genius. If you are ever lucky enough to work in the field of accessibility (one day, hopefully, this will include everyone), you'll find that no one person's brain works the same as any other, and that differing tools support different people.

 
jcabraham profile image
Jim Abraham

Yeah, I wrote that stuff too. 15 years before Linux. And -- editors are tools. You should use the right one for the job. If you're unfamiliar with a power tool, you might not appreciate it. I could go into detail, but I don't think I can do a better job than this famous post: gist.github.com/nifl/1178878

Thread Thread
 
jcabraham profile image
Jim Abraham

Oh, and Dennis Ritchie was talking about Unix, not Linux, which is of course just a flavor of Unix. Which is so ancient a tool that it powers just about everything. So, yeah, "modernity" is not a useful metric for anything.

Collapse
 
andhop profile image
Andy Hopwood

This is such an interesting insight into it! I tend to switch editors...guess I get bored. Vscode is a big favourite of mine. It has a lot of great tools shipped with it these days too. Most notably the Emmett functions!

I use visual studio in work as we program in c# mainly. I wonder if the pass rates are low for because the user gets to benefit from intellisense. Therefore not needing to remember all of the syntax.

Collapse
 
simonhaisz profile image
simonhaisz

Are you evaluating everyone, regardless of their experience, by the same standard?
Is the evaluation generic enough that the choice of programming language doesn't affect it?

Collapse
 
jcabraham profile image
Jim Abraham

I have many (many) years of experience with Perl and Java, with about five years experience in Python/Ruby/Scala. I started my career using Emacs (and vi), and Emacs is still my editor for almost everything. Many years ago a programmer wrote an article for Slate explaining how, in her experience, the Emacs and Vim people in the shop could always fix stuff the IDE people couldn't understand, because you can't have the IDE doing heavy lifting for you.

Nevertheless, when I started writing Java all day I ended up using an IDE -- not because Java itself requires it, but because one usually ends up so deep in the Java class libraries or third-party libraries that you need code inspection. And also because in the early days the IDEs would embed a servlet container and handle rebuilds and redeploys automatically. .NET (which is what people use Visual Studio for) is effectively the same.

For most Java programmers, that means that after several years they can't remember the syntax for anything. Since coding interviews inevitably (and foolishly) require actual working code, the Java people have a harder time of it.

Emacs does have pretty good code and even build integration, depending on the language, but for REPL languages (Perl, Ruby, Python, R, Go, Scala) it's usually sufficient to have the code in one buffer (an Emacs window) and the REPL in a shell buffer.

I suspect that Emacs and Vim people are better debuggers, especially, but that seems like the last thing most Google-wannabe companies care about in candidates.

Collapse
 
jcabraham profile image
Jim Abraham

If you're coding stuff in PHP, your editor is only your second problem....

Collapse
 
mithereal profile image
Jason Clark • Edited

back in 2016 i was a phpstorm lover, but then a very very bad bug appeared, if the ide crashed it would index your entire home directory, including the phpstorm cache, this caused an infinite loop and nothing was usable, this issue still exists and theres over 1000 comments on the bug report for that specific issue, they arent even interested in fixing. so i said to myself im not paying for indexing when it goes on for 4 hrs at a time, causing me to fix the config file or just reinstall, it was just too much technical debit, and caused me serious issues with my employer.
so now i use vscode 100'%, its less buggy, kinda frustrating (nothing compared to phpstorm)
and i am no longer a php dev, just lotsa legacy php projects im converting to erlang.
thank gid im no longer a php dev, the amout of batshit crazy stuff ive seen in 20 years of php is mind boggeling.!!

Collapse
 
rogierv profile image
Rogier Verkaik

So in other words, if you use VIM or EMACS, the chance you will pass the interview test is higher ;-)

Collapse
 
wormss profile image
WORMSS

Piechart says VSCode is 16.8%
Text says it's gone from 5% to 22%.. So is it 22% or 16.8%?

Collapse
 
mikeschinkel profile image
Mike Schinkel

LOL, absolutely! :-D

Collapse
 
sollyucko profile image
Solomon Ucko

What about correlation with OS? Also, it might be interesting to see the raw, anonymized data so we can perform our own analyses.

Collapse
 
xuwupeng2000 profile image
Jack Wu

Smash unrelated data together...

Collapse
 
juanfrank77 profile image
Juan F Gonzalez

Gotta love VSCode for several things not just frontend, I even am more likely to follow a tutorial where the person is using (and recommending) the editor for the development of his stuff.

Collapse
 
awwsmm profile image
Andrew (he/him)

Really interesting! Thanks for posting!

Collapse
 
vip3rousmango profile image
Al Romano

Cool breakdown with the data. Started using VSC back in 2015 and haven't looked back!

Collapse
 
jeffdstephens profile image
Jeff Stephens

I dropped Atom to go with VSCode because it was just so much more baked. With MS buying Github and inheriting Atom, it will be interesting to see how they coexist moving forward.