9 ms·
The Rise of Microsoft Visual Studio Code
- indemnity 8y agoI'm not Microsoft's biggest fan (I switched away from .NET and their platforms a few years ago, switched to Mac, etc). But I use VS Code, it really is a great little editor with a good ecosystem. The JavaScript support pulled me in, but it's a pretty decent Rust environment now as well!
- brokenwren 8y agoVS Code solves different problems then IntelliJ, PyCharm and Atom. I'm not sure this is a fair comparison. For example, I wouldn't ever code a full Java stack in VS Code. I'd go straight to IntelliJ.
- jtms 8y agoThere’s a jetbrains (IntelliJ) flavored ide for basically everything - even c#! I prefer Rider for doing c# in Unity3D over VS or VSCode because it seems muc more performant and the vim plug-in is way better
- macjohnmcc 8y agoI actually enjoy using Rider on macOS over using Visual Studio for Mac with C#.
- passivepinetree 8y agoSure, but Rider is a full-fledged IDE with years of dedicated development. Visual Studio for Mac is basically a skinned-over MonoDevelop still. It's getting better, but it's still nowhere near as mature and full-featured as Rider.
- unsignedint 8y agoI find Rider only way I can get performance and features of Resharper in a sane way. Visual Studio + Resharper feels very sluggish, while Rider doesn't have so much of problem with that. Also more convenient when opening more than one solutions simultaneously. (Which I do all the time!)
- xtracto 8y agoVS Code has something that JetBrains IDEs cannot match: Price. For startups in developing countries $200 per seat is a lot of money... VS Code or Atom look amazing in comparison for $0
- no_wizard 8y agoYou should talk to Jetbrains if you are a startup. They have discounts and such. Having good tools in a fast paced environment is the key to Keep things focused on the product. I’d argue it’s more critical in a startup than else where for that reason
- tossaccount123 8y agoVS code is a jack of all trades editor, obviously it's not going to be able to match more specialized editors
- munchbunny 8y agoSeparately from being my JS IDE of choice, VS Code has for the most part replaced Notepad++. It's quite good at being a general purpose "heavyweight" text editor.
- ourmandave 8y agoHas anybody written a Notepad++ to VS Code command translation guide? I use Notepad++ for all sorts of text related things (cutting, sorting, making 100s of julennne phrases) but not as an editor. If there was a cheat sheet of VS shortcuts I could ditch Notepad++ completely.
- freehunter 8y agoVS Code has a printable cheatsheet of keyboard shortcuts that it prompts you to view when you first open the editor.
- misterdoubt 8y agoAlso available here: https://code.visualstudio.com/docs/getstarted/tips-and-tricks https://code.visualstudio.com/docs/getstarted/tips-and-trick... I, too, am making the Notepad++ -> vscode move.
- zeppelin101 8y agoI don't see the point of ditching Notepad++. It's still an excellent text editor and it's more lightweight than VSCode. I use both and I'm very happy with it.
- munchbunny 8y agoIt's not about whether there's a point. Their functionality is close enough that it's entirely a matter of preference.
- hahamrfunnyguy 8y agoThat's exactly what it's intended for, in my view. I still use Notepad++ for quick edits though, mostly because I am so used to it.
- nickbarnwell 8y agoI use emacs for Java and Scala development with LSP quite successfully, and VS Code's support for language servers is as good as they come. Is it primarily debugging that's the impediment to switching for you?
- nickysielicki 8y agoI have some time off soon and there's a project I have planned that will use Scala. What LSP server do you recommend, and are you using it with lsp-mode or with eglot?
- nickbarnwell 8y agoI'm using lsp-mode and the Eclipse JDT language server. lsp-java is great and the maintainer is very responsive to PRs and feedback. For Scala I use Ensime at work and have been playing with metals at home. The latter is still very much under active development and you'll likely have to put up with Ensime's quirks for a complicated Scala codebase.
- globuous 8y agoMe too, the Spacemacs layers are really nice actually. Java and Scala ain't gonna keep me away from dired, macros, magit, org, nor my favorite shortcuts :D Speaking of, I had a Spark lab for school and it was too powerful for my machine, so I ssh'ed into the school's computer and ran a spark-shell from there, in an emacs split. Then with a macro, it was easy to "send region" or "send buffer" to the ssh'ed spark-shell. I made a quick script for that actually, it was so convenient: https://github.com/tbinetruy/config/blob/master/spacemacs/spark-shell/main.el https://github.com/tbinetruy/config/blob/master/spacemacs/sp... And that's why I love my emacs, I can just do stuff like that so easily :D
- int_19h 8y agoWhile we're on the subject - not that many people are aware of it yet, but VS Code has a debugger protocol similar to LSP for pluggable IDE-agnostic debuggers. https://microsoft.github.io/debug-adapter-protocol/ https://microsoft.github.io/debug-adapter-protocol/ https://github.com/Microsoft/debug-adapter-protocol/blob/gh-pages/debugAdapterProtocol.json https://github.com/Microsoft/debug-adapter-protocol/blob/gh-... I hope this takes off. Between it and LSP, pretty much any text editor can be an IDE with little effort.
- BrandonRisell 8y agoI switched from IntelliJ IDEA to VSCode for a massive legacy Java/Wildfly project. It started as an experiment, I figured I'd be back to IntelliJ within a week. I'm still using VSCode after a couple months now and I don't see a reason to go back to IntelliJ. It starts and runs well, and has plugins for anything I might need. The day I run into something there isn't a plugin for, it's awesome to know that I could just make one to suit my need. As far as negatives, VSCode has times where it gets hung up and intellisense is borked for a couple minutes, but I can usually just ignore the red squigglies until it catches up. I also don't yet feel as fast as I did in IntelliJ, IntelliJ has some really great keyboard shortcuts and I could jump around and work very quickly because of it. I'm hopeful this gap will close as I continue to learn and remember keyboard shortcuts in VSCode.
- 33degrees 8y agoI agree with the first two, but does VS Code really solve different problems than Atom?
- sonnyblarney 8y agoJava on VS code is still kind of pain, which is too bad. To me, VS Code and Typescript were made for each other. Python is just a free bonus.
- woolvalley 8y agoIntelliJ has a huge head start in targeting Java. Right now it's my python & golang editor of choice.
- ammon 8y agoAnother interesting angle on this is that VS Code is free (and open source), while Sublime is proprietary and (nominally) costs $80. I wonder how many people don't use Sublime because of the price? Atom is free too and never surpassed Sublime.
- no_wizard 8y agoExpressedly, this is my opinion solely, with that said: I stopped using Sublime and stopped recommending it not because of price (I actually prefer to pay for things when I can) but because the community plugins for my development workflow (PHP + Frontend) is...not great. I also found the distinct lack of API documentation to be frustrating (I'm not above making my own extensions and I very much like Python) Visual Studio code at least has good front end tooling (The PHP extensions can't handle my large PHP projects, though I am tempted to try the a paid extension on this that I heard works well in Visual Studio proper, also, Twig support plain sucks. I'm not 100% certain if this is a limitation of VS Code or the Extension but it can't find my variables from the PHP files) I've since moved to a combo of PHPStorm (my daily driver) and Visual Studio Code for Git Merges (I prefer the way you can handle it in VS Code) and doing other misc tasks that I don't want to fire up a PHPStorm instance for. Same reason I never liked Atom. Tooling always seemed off somehow. Side note? If you are going to pay for an editor, I recommend any JetBrains product offering.
- wolco 8y agoPhpStorm is by far the best editor. The slowness is a huge issue. For frontend sublime offers a nicer experience. VCode feels slightly off but I do want to move over because it's free. For quick development vim is perfect. If you need to make single page changes on multiple remote sites nothing is faster than dreamweaver 8. The designer/code split was always great no editor ever implemented anything to match.
- asituop 8y agoBe careful that's it's only open-source if you build it yourself or if you use VS-Codium (https://github.com/VSCodium/vscodium https://github.com/VSCodium/vscodium). The VS-Code that everyone uses is under a Microsoft License and includes close source Microsoft telemetry (spyware?) and user data collection : https://code.visualstudio.com/License/ https://code.visualstudio.com/License/
- sbilstein 8y agoVSCode is fast, stable, and the plugin ecosystem really beats Sublime Text at this point. I was skeptical because Microsoft but it is hands down my favorite editor.
- nystorm 8y agoI'm also skeptical of microsoft products, but they have come a long way since getting their new CEO. I've gained a lot of respect from them for better integration with non-windows platforms.
- tomnipotent 8y agoMS developer tools have always been great, independently of whatever mess Windows gets itself into.
- belltaco 8y agoSomeone said big companies are like aircraft carriers, they take a long time to change course and travel to the right destination, but if they do, once they are there they bring massive impact compared to more nimble and smaller sea vehicles.
- protomyth 8y agoexpect for a feature that keeps a lot of people on other editors (recordable macros) https://github.com/Microsoft/vscode/issues/4490 https://github.com/Microsoft/vscode/issues/4490
- billforsternz 8y agoAgreed, it's bizarre that this feature is missing and apparently impossible to implement as an extension. It's been a fundamental feature of every serious programmers' editor for over 30 years!
- sbilstein 8y agoI don’t use macros but it looks like I should tbh
- lowercased 8y ago> However, it seems that the average C# or Java engineer who goes through our process does less well than the average Ruby or Go engineer. I have no idea why. Given that they have the test info... and they're the ones deciding pass/fail... it's a bit strange they "have no idea why". Well, perhaps just this person doesn't? Are people not finishing the projects? Do the projects have syntax errors in them? Or logical bugs? What metrics do they use for "pass/fail"?
- nepeckman 8y agoI think the author is saying they have no idea why C# and Java devs are worse on average than Ruby and Go devs. I'm sure they know the specific reason those devs fail, but are trying to understand the more general trends that lead to higher rates of failure. I would guess that this is another instance of the python paradox (http://www.paulgraham.com/pypar.html http://www.paulgraham.com/pypar.html).
- eksemplar 8y agoWe’ve been a C# house since .net 2.0 and having recently moved a lot of our things to first JS and then python I think it’s the tooling. Visual studio does a lot of things for you without a CLI. Want to deploy? Right click on your project and do the UI wizard for it. I mean, even nuget has a gui. On top of that C# comes with a ton of easy to use features from its library. Like AD integration is just a library that gives you everything you need, at least until it doesn’t and you have to write your own bits and things get hard, but until then everything is easy and it’s much easier than using an open source library for it. I think any C# programmer could use its basic functionality from VS without ever looking at its documentation, and while Django and flask integrates with AD as well, you can’t really say the same thing about them. You don’t get that with most tools. Ironically I think the fact that .net core has moved to a more CLI sort of environment has made visual studio a worse option for it than visual studio code, but we aren’t really going down that road, so what do I care. I do care about python support for visual studio code, and it’s damned awesome.
- 8y ago
- lowercased 8y agoThe "live shared coding" angle in VSCode makes it a great option in many areas where there's a need for it. People have been asking jetbrains for this for a decade, and there's nothing on the horizon as far as I can tell.
- xtracto 8y agoWe use it in our distributed team and it works wonders for pair programming.
- jxramos 8y agowow, never realized that was a supported feature. I must have glossed over that feature in that then feature release https://code.visualstudio.com/blogs/2017/11/15/live-share https://code.visualstudio.com/blogs/2017/11/15/live-share
- 33degrees 8y agoOne of my favorite things about VS Code is how usable it is with its default configuration, and how easy it is to customize to my liking. I found Atom and Sublime Text very frustrating in that regard.
- dylan-m 8y agoYep. I really like Sublime, and I probably still would be using it. I had it all set up to sync settings between my devices, with a nice theme, some handy plugins, and excellent syntax highlighters. But at some point I had both a new personal laptop and a new work computer. I had it on the back of my mind that I need to sort out my Sublime configuration again on both of these (which at the time included that weird dance to install Package Control). But then I already had VSCode working pretty well out of the box (including a perfectly good colour scheme), so my motivation to sort out Sublime became less and less until suddenly I was happy just using VSCode.
- davidwparker 8y agoInterestingly, I found Atom to be much easier to customize. There are still things in VS Code I can't customize that I used to have in Atom. That said, I've been on VS Code for a little more than a year now and it's grown on me.
- deleted 8y ago[deleted]
- 33degrees 8y agoTo be clear, I meant easy in terms of how little I have to do the get it working to my liking. Atom might be easier to customize in general, but it requires more effort overall.
- NotANaN 8y ago"Do Emacs and Vim users have some other characteristic that makes them more likely to succeed during interviews?" I think the Interview Pass Rates chart makes it clear that the answer is a statistical "Yes", at least for Emacs.
- emacsuserrrr 8y agoMaybe it’s because the editor was taught to students at places like MIT, Berkeley, etc?
- JustSomeNobody 8y agoYou'll need to explain this...
- thatsaguy 8y agoMore probably because editors with a steep learning curve (emacs/vi) tend to select for people more willing to invest effort in learning. The same can be said for Go when Go was relatively new. You learnt [Go^H^Hnew thing] because you thought it was interesting or wanted to play, not because you had to. As a secondary effect, editors in the likes of emacs/vi require a different mindset compared to an IDE when programming on large projects. There's no question that all IDEs in general have an huge advantage for "all things discoverability" (from project layout to built-in doc). I personally rely much more on documentation and memorization than autocomplete, despite autocomplete-like extensions being available to both emacs/vi for quite a while. There's a steep hill to climb when approaching large, new codebases when working this way, and it definitely doesn't pay off for quick fixes. That being said, I used anything from IntelliJ, NetBeans to VSCode and when thinking about "good editor" the first thing that comes to mind is: zero latency. If your computer is slower than you, there's a problem somewhere.
- waynecochran 8y agoI learned emacs in the late 1980's -- it is now an ingrained part of my brain. I hate when I have to use an IDE w a different editor -- at least most editors (and GUI components like browser textfields) respond to common emacs key-sequences.
- hprotagonist 8y agoThere are some warts, but it seems nice from afar. The biggest wart is/was the "FUCK FUCK FUCK" git clean vs git reset UX error: https://github.com/microsoft/vscode/issues/32405 https://github.com/microsoft/vscode/issues/32405 . This is a fantastic demonstration of why i exclusively use git from a command prompt -- i know what will happen and nobody's going to reinvent terms to put on buttons that just confuse me. In my life: - I'm committed to emacs for org-mode and LaTeX editing and daily use. - I paid for sublime so i will use it -- and multiple cursors everywhere is a boon for quick and dirty data munging. - I write serious python code in pycharm. - I write serious c# in full blown Visual Studio
- bassman9000 8y agoamen people look at me like I'm an old crazy dude because I don't use a git UI or eclipse, or intellij, or from sublime. Git already has plenty of quirks, adding another layer of unknown on top of it is a no-go
- freehunter 8y agoWhich is weird because with all of its inconsistencies, git must have been designed with the idea that someone would build a sensible shell over top of it. I can't imagine Linus expected people to interact directly with git when he built it.
- bassman9000 8y agogit has its problems, but it's a consistent, centralized (in the sense of origin/repo), well known set of problems. I use multiple IDEs/editors, and they all handle git differently. It doesn't make sense to learn yet another N sets of quirks.
- Drdrdrq 8y ago> git has its problems, but it's a consistent, centralized (in the sense of origin/repo), well known set of problems. Consistent? Ha! Change branch: git checkout my-branch. Reset file to committed version: git checkout -- my-file. Git is many things, but consistent it is not. That said, I still use CLI precisely because I don't trust other software to make sensible abstractions on top of it, given that foundation is so inconsistent. Besides, those CI scripts only know git cli...
- hellofunk 8y ago> With 17% of the pie, VS Code was the editor used by the majority of Triplebyte candidates last year. Huh? This has broken the world of math for me.
- Cursuviam 8y agoThey mean plurality.
- ammon 8y agoJust changed it to plurality. Thanks!
- hellofunk 8y agoAlmost! : >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 it appears to be rapidly taking market share from other top editors.
- JustSomeNobody 8y ago> Do Emacs and Vim users have some other characteristic that makes them more likely to succeed during interviews? I think it comes down to users of those editors probably are used to keeping code/libraries in their head more. IDEs tend to suggest a lot to you and if you're not used to having that happen you could get more nervous during whiteboarding rituals. Edit: I guess this really doesn't apply as their interview process is on the web.
- hartator 8y agoWorked with a bunch of them, always come back to Sublime Text for performance and multi-cursor support.
- brink 8y agoEmacs has multi-cursor support. http://emacsrocks.com/e13.html http://emacsrocks.com/e13.html
- hartator 8y agoIs that native?
- BeetleB 8y agoNo, but why would that be a concern? If you're going to use Emacs as your environment, it's best to learn how to install additional packages, as you'll get a lot more functionality that way. If you're using Sublime or VSCode, I'm sure you'll one day install plugins for it as well.
- PascLeRasc 8y agoAt least for me, sometimes I have to work on servers where I don't have sudo privileges, so I usually can't install plugins.
- BeetleB 8y agoYou don't need sudo privileges to install packages for Emacs. They reside in the user's directory.
- donedealomg 8y agoIt's emacs. That should answer it.
- brink 8y agoIt isn't, and it's better because of that. All "advanced" features should be a plugin so you can pick your favorites. This way, if someone comes up with a better multi-cursor system, there's no politics involved about which multi-cursor system to come to a global consensus on. Just switch your personal config over to the new plugin and get on with your life.
- reaperducer 8y agoBecause of the popularity of VS Code on HN, I decided to give it a try. It's good. Much better than Electron or Atom for my workflow. And much faster IME. The one thing that keeps me from switching from my current IDE is the lack of Whitesmiths brace formatting. I'd pay up to $15 for a Whitesmiths plugin. Until then, I can't change. But I'll keep checking.
- dman 8y agoWhat language do you write?
- munchbunny 8y agoFrom a point of anthropological curiosity, do you work in a team where everyone uses that style of brace indentation? Is it actually common and I've just never encountered it before?
- reaperducer 8y agoI don't think it's common, but one of the projects I work on has the entire codebase and documentation already in Whitesmiths. I don't know much about the history of how it came to be that way, but it's my understanding that pretty much everyone else who's ever worked on the project came either from big iron, or had big iron in their background. Maybe that's where it came from. I could just be used to it now, but I find it much easier to follow what's happening in the code than Ratliff or K&R. Horstmann and Lisp aren't bad, either. They make a lot more sense than some of the other options that litter the screen with braces in seemingly random places.
- arcticfox 8y agoWhat is big iron?
- hyperdimension 8y agoIt means mainframes.
- pzone 8y agoVS Code has taken me off Emacs for Python development on Windows. I was never able to get a clean and speedy code completion, navigation, or refactoring to work with Emacs. I hope the situation changes someday.
- nickysielicki 8y agoThe same engine that VSCode uses is open source [1]. With lsp-mode [2] or eglot [3], you can have the same stuff working inside emacs. I've actually been writing Java inside emacs lately --- yes, java, and I have had very few issues. One caveat, development on the emacs LSP stuff is moving very quickly, so I don't recommend using ELPA/MELPA/etc. to install the plugins. I use straight.el [4] to manage my plugins, they're checked out from the upstream source and can be updated at-will. You'll also need an up to date version of emacs, ie: 26+. (That's the current release, but it's not available in some distributions ie: debian/ubuntu yet.) --- [1]: https://github.com/Microsoft/python-language-server https://github.com/Microsoft/python-language-server [2]: https://github.com/emacs-lsp/lsp-mode https://github.com/emacs-lsp/lsp-mode [3]: https://github.com/joaotavora/eglot https://github.com/joaotavora/eglot [4]: https://github.com/raxod502/straight.el https://github.com/raxod502/straight.el
- PurpleRamen 8y agoPython-lsp with emacs is dreadful bad. It's slow, bugged and doesn't integrate well. Worst is how often the helper dies. The microsoft-helper is supposed to work better, but it seams harder to setup with linux, so I hadn't the chance yet to try it.
- aldanor 8y agoIt's hard to beat pycharm especially on Windows...
- cbhl 8y agoFrankly, I think we're seeing the results of the new era of Python paradox. Except it's not Python 3, it's TypeScript, VS Code, and React. If you look at the education space, many of the deployments are either Chromebooks or iPads. Back in 2012, the "learn to code" sites (like Khan Academy or Code.org) ended up building their lesson plans around JavaScript. https://johnresig.com/blog/introducing-khan-cs/ https://johnresig.com/blog/introducing-khan-cs/ People who were in 3rd- and 4th-grade in 2012 would now be finishing up high school. Someone in 7th- or 8th- grade would have just finished a bachelor's, or maybe be looking for their second job after two or three years in the industry. For these folks, TypeScript/VS Code/React would be a short jump from these learn-to-code-JavaScript-in-the-browser sandboxes. As for Go... I suspect that's the set of people who can handle Google-scale software complexity. So either former Google employees, or people who are in the kubernetes ecosystem.
- dcchambers 8y agoThis article has some very interesting data beyond just showing the rise of VSCode. Fun read.
- laythea 8y agoWhere is Notepad++??? !!!
- thebigspacefuck 8y agoHanging out with Bloodshed and Code::Blocks
- talltimtom 8y agoWell that settles it, I’m off to program some Go code in Emacs.
- munchbunny 8y agoHaving gone through Triplebyte's interview process, I'll propose another interpretation: Triplebyte's interview is on aggregate biased against Java and C# developers. I'm not accusing Triplebyte of "being biased", but rather pointing out that Java and C# tend to correlate to a skill set that Triplebyte's test process values less. My experience of Triplebyte's interview process is slanted towards frontend/backend developers of web apps. Fortunately for me, that was my background. However, in the team I currently work with, the team is in aggregate heavily C# with only secondary experience in web frontend/backend development. That's because their expertise is in low level security. Several developers on this team are exceptions to the "don't roll your own cryptography" adage. They're all competent developers, but the version of Triplebyte's coding test that I took (and passed) would be in unfamiliar territory for people in this team. That's fine since most of Triplebyte's clients are probably looking for web frontend/backend skills, but I think this means that Triplebyte's test shouldn't be seen as an objective measure of programmer skill, just an objective measure of fit for Triplebyte's clients.
- ww520 8y agoCould you give some examples? I keep seeing annoying Triplebyte ads popping up and not sure what it is.
- munchbunny 8y agoWhat kinds of examples are you asking for? Like specific parts of the interview?
- compumike 8y agohttps://triplebyte.com/interview_guide https://triplebyte.com/interview_guide
- pfarnsworth 8y agoI click on their ads every single time, using incognito mode, whenever I see them, just so that it costs them money. Their ads are completely deceitful in my opinion and nothing but clickbait.
- interesthrow2 8y agoIt's a good text editor, first and foremost. Compared to netbeans, eclipse, visual studio, even intellj idea in my opinion. The same thing that made textmate, then sublime text successful made VSC successful. I takes a few seconds to launch, even on my celeron machine with 2Gigs of RAM, it's relatively minimal and unlike intellj it doesn't appear to be analyzing my whole hard drive for hours for no reason... the irony is that Microsoft did hire Eclipse creator to work on that product... hopefully it doesn't end up bloated. Having an open spec for language servers is also a smart move. While others have their proprietary, often non speced protocol, now any text editor can implement the same protocol and basically use any language server already developed. So kudos for Microsoft, it's a great piece of engineering.
- AsyncAwait 8y ago> It's a good text editor, first and foremost. Compared to netbeans, eclipse, visual studio, even intellj idea Have to disagree with VSC being better than Intellij. I find Intellij refactoring, debugging and autocomplete far ahead of VSC, especially when it comes to supporting leaser known features, or recently released language changes.
- jhall1468 8y agoVSC and Intellij aren't the same thing. If you want better refactoring and debugging there are definitely plugins that do exactly that. Hard disagree on autocomplete, I've never run into a single situation where Intellij did it better.
- williamdclt 8y agoWell, hard disagree on your hard disagreement, I've never ran into a situation where VSCode did better than Intellij/Webstorm :) Often, the problem is the order of suggestions, it was magically almost always right on Webstorm and not as good on VSC
- zbuttram 8y agoI tend to agree except for languages where the plugin ecosystem on VSC is still lacking. Ruby, for example. RubyMine is still much nicer by comparison, especially when working with Rails.
- atombender 8y agoVSCode is fast and it's certainly the best editor/IDE I've used since back when I was a Java dev using Eclipse back in 2006 or so. But I recently opened up Sublime Text to compare some editor behaviour, and the difference in UI performance is astounding. It's possible that VSCode has regressed a bit the last couple of years. It was always faster than Atom. But comparing it to Sublime shows that there are clear advantages to writing UI code in a natively compiled language. Sublime's widget drawing seems very well optimized. VSCode has also become slower for me the last few years, simply from the load of extensions. I use the ESLint extension and the Go extension heavily, both of which parse code a lot. Neither is doing any sort of incremental parsing, so there's potentially a lot of churn. There's also some kind of indexing of symbols that happens in the background in the language server or in the extension. I sometimes have to kill the "Code Helper" process because it's sitting there consuming a whole core when idle. Overall, VSCode is becoming increasingly closer to how I remember Atom, when I used it. I worry that it's slowly turning into Atom, performance-wise.
- misnome 8y agoI love VSCode and have moved to it from Sublime; mostly same shortcuts by default, inline debugging, extension ecosystem and blistering pace of development. It's fast enough but Sublime blows it out of the water - especially for things to "Go To Symbol" where it works almost instantly whereas I'm constantly waiting for VSCode to stop spinning and give up and cmd-f search instead. Also, I have to work with a lot of network-user-login RHEL6 boxes, and VSCode doesn't work on desktops that old.
- Dayshine 8y ago>especially for things to "Go To Symbol" where it works almost instantly whereas I'm constantly waiting for VSCode to stop spinning and give up and cmd-f search instead. "Go to symbol" isn't implemented by the IDE though. Neither Sublime Text nor VSCode provide that feature. Plugins do. What you're probably experiencing is that Sublime Text tends to have less intelligent language servers. Which means they're faster, because they're not scanning your whole project, or because they're not using the official language server. I've written my own language server so I know firsthand that any UI delay is entirely my fault, not VSCode.
- cjensen 8y agoJust as an aside, there is this sentence in the article: "On the peninsula, where larger companies tend to be located, you see a lot of Java developers. In San Francisco, where startups dominate, you see more JavaScript." None of the non-SF cities is on the peninsula. They're 100% in the Silicon Valley / Santa Clara Valley.
- shmulkey18 8y agoNewspaper headline: "Emacs text editor makes people smarter."
- sinuhe69 8y agoFunny how people analyse data and draw conclusions without applying any statistical method. Yeah, maybe more people use VS Code, but I don't think it has anything to do with people's failure or success.
- akerro 8y ago> I don't think it has anything to do with people's failure or success. Unless the interviewer is a big fan of VSC and they favour other VSC users.
- craigsmansion 8y ago> The first thing that jumps out from this graph is the prominence of Visual Studio Code. Maybe to some. 10.2% percent for vim! For some reason that makes me really happy even though I use emacs. I guess the (d)evil you know...
- johngalt 8y ago> Engineers who use Go are also especially strong. If you know why, please let me know. Because there is almost no reason to learn Go. Most shops want JS/Java/Python/C# etc... The primary reason to learn a language like Go is because you want to for it's own sake. It's not that you must learn Go in order to be good, or that knowing Go makes you better. Rather it's difficult to be bad and still have the desire/interest to spend time learning something unnecessary.
- mrdoops 8y agoGo is a language designed to take CS college graduates to productive engineers at Google with as little fuss as possible. Considering it was designed for an organization in the scope of Google, it's less likely to be the best option for something like a startup, small business, or even a medium size business.
- mawburn 8y agoI feel like you should spend some time with Go. If I were building a startup, I would probably choose Go for core infra for being able to move quickly as a developer and write incredibly performant code with about as much mental overhead as most dynamically typed languages. Anecdotally, I've seen it replace Java in quite a few small and medium sized established companies.
- Nimitz14 8y ago> I would probably choose Go for core infra for being able to move quickly as a developer At the company I used to work at it took nearly a 1000 lines to replace an 80 line bash script. So I can't help but laugh at this statement.
- feketegy 8y agoSince when LoC is a meaningful metric?
- 8y ago
- kcon 8y agoIt seems strange to me to compare VSCode against PyCharm, IntelliJ, and Android Studio separately. While PyCharm, IntelliJ, and Android Studio are distinct applications, I believe they share much of their code, UI, 3rd party plugins, and workflows for all being JetBrains language-flavored IDEs. On the other hand, VSCode supports different languages through its extensions instead of having separate language-flavored applications like "VSCode Python", "VSCode Java", or "VSCode Android". So I feel that reaching for IntelliJ vs. PyCharm vs. Android Studio is roughly equivalent to installing a particular set of extensions in VSCode. If you look at it that way, the data from the article seems to tell a different story - while VSCode has grown significantly in popularity, JetBrains IDEs seem to dominate in terms of overall usage (11.3% + 6.9% + 4.1% = 22.3% vs. VSCode's 16.8%).
- lowercased 8y agoI didn't see any js or php specific stuff in their list, but have to assume phpstorm or webstorm might be in their 'other' category as well, pushing JB up to closer to 25%(?)
- kumarvvr 8y agoI use PyCharm and VSCode and I find that for python apps, PyCharm is much better. Lots of more features, easy to use commands, etc. Having a dedicated IDE for a given language has it's pros. However, I use VSCode for JS/HTML development, as it has a lot less clutter, than compared to other IDE's.
- jokoon 8y agoLike it was said in this thread, as long as you have an editor that is built on something js-related like electron or node-js, it just cannot beat alternatives that are made in C++. I've tried VSCode because I wanted to have UI breakpoints with GDB, I admit that vscode seems better than atom, but for performance I have my doubts. I really don't understand why engineers choose to use JS to made a text editor. I know that js and the dom have enabled the web, but it's because there was nothing better, choosing js to do non-web stuff doesn't only sound silly, IT IS silly.
- 21 8y agoDo you think it's a coincidence that some of the most used and loved desktop applications lately are written in JS/HTML? import_pkt_ws_btc_deribit_v2.py Could it be that it's extremely hard to do these kind of applications in traditional GUI frameworks?
- pjmlp 8y agoCould it be that many JS devs don't bother to learn how GUI frameworks are able to do stuff where Web is still catching up with the 90's?
- atq2119 8y agoYou're perhaps more snarky than necessary, but I think you're getting to the core of the problem. The web has unfortunately made JS a very common first language, and created an army of people who know JS. Then rather than learn, say, C++ and Qt for building cross-plattform GUI, they stick to the language they know even though it leads to inferior results.
- pjmlp 8y agoGo for DDD as GUI for gdb.
- nojvek 8y agoEveryone is on the argument that because you use C++ you'll always be faster. I disagree, you get fast by using good datastructures and algorithms. Yes, for the same algorithm C++ may have some perf gains but it's so easy to shoot yourself in the foot. Visual Studio itself is written in Visual C++. It's slow and a memory hog. Most folks who are not familar with JS don't understand the internals of V8. V8 does amazing things to compile the JS down to really fast bytecode. It builds hidden classes and structs just the way you'd write C++ and them compile them to machine code. There are many instances where the C++ code won't be much faster than the JS. In some cases naive C++ is even slower. As for VSCode, it's a testament to show you can build very usable things by using the web as a platform. Chromium's blink's engine is fast if you know what you're doing. Sublime is great, don't get me wrong, but VSCode's extension architecture gives it a leg up. It's so much easier to write a vscode extension than a sublime extension. Typescript gives the JS world a lot of sanity.
- zygotic12 8y agoI've told you guys before - my 10 year old son scored 'well above average' on their interview process. We live in the UK but they are still trying to recruit him. And no - he cannot write code.
- zygotic12 8y agoMy son has seen this post and points out that he not only uses unreal engine - to my complete surprise (and not just a little delight) - he has deployed some c++. I sent him to bed because it's late. Dad;s will know why.
- Double_a_92 8y agoThe interview process reminded me of the theoretical exam for a drivers license. If you pick the option that sounds least crazy, you're fine.
- zygotic12 8y agoI wonder if you just nailed being a prog
- d_burfoot 8y agoIt's interesting to me that Go does so well. I have a buddy who convinced his shop to switch over to Go for the following reason: he knew that they were not going to be able to consistently hire good programmers, and he thought Go was a way to mitigate the problems arising from this situation. In other words, Go is a language where newbie programmers can still do okay. He also claimed that Google developed Go for this reason, referencing the infamous Ron Pike quote ("They're not capable of understanding a brilliant language, but we want to use them to build good software").
- triodan 8y agoGo makes it really hard to do stupid things, and that makes it a really good language.
- satysin 8y agoI have tried VSCode a few times for C++ on macOS and always found it more hassle than it was worth to get it up and running. I saw it had debugging options and I thought that looked pretty cool but it is a bit of a mess with tasks.json and some other file I have forgotten about now. I recall I did finally get a working setup but it wasn't portable between folders/projects as the binary filenames were hardcoded and I just lost interest in fixing it. I think the VSCode team could make this a lot smoother. I want my tools to simplify these things for me with automatic configuration like every other editor seems to be able to do. Not sure why VSCode needed a couple of json config files to know to use /usr/bin/gcc on the current C++ file when no other programmers editor does.
- jtsylve 8y agoI'm not sure when the last time you've tried, but in the last year VSCode has come a long way towards "just working" out of the box for C++. They've specifically focused on it. If you've got some time, I'd recommend that you checkout Rong Lu's CppCon 2018 talk. https://www.youtube.com/watch?v=JME1i3vCRR8 https://www.youtube.com/watch?v=JME1i3vCRR8
- me_love_animes 8y agothe best i've interviewed use asciifuk ( http://www.github.com/asciifuk http://www.github.com/asciifuk ) here's a sample 8===D~~ :-) (me) -> (you)
- JustSomeNobody 8y agoIf I ever interview with a company that would potentially reject me due to coding style, I really hope they do. That's not a place I would enjoy. Not that I am against a common style, I just think it's an extremely petty thing to reject a candidate for.
- thedirt0115 8y agoWhat editor do Go devs use??? Their numbers for Go only add up to 12%! https://d25hn4jiqx5f7l.cloudfront.net/file_attachments/files/original/96551f0f84b87bd438ab1e7be23c269038383620.png?1543937640 https://d25hn4jiqx5f7l.cloudfront.net/file_attachments/files...
- fanf2 8y agoYes, that chart shows that they have relatively few people doing their interviews in Golang, so their outlier pass rate should have correspondingly large error bars (which you have to imagine because the graphs were drawn without any statistical sophistication).
- ExcilSploft 8y agovim
- ChrisCinelli 8y agoI like VSCode a lot. The only reason why I sometimes switch to other alternative is the multi-file search results. When the fix this, I will be a happy camper: https://github.com/Microsoft/vscode/issues/63465 https://github.com/Microsoft/vscode/issues/63465
- lostgame 8y agoThe only issue I have with VS code is it's awful UI/UX performance - it behaves like an Electron app or something. I realize that's a fair insult around these crowds, but it really does have that lack-of-polish, weird-UI/UX feeling. I know Microsoft would obviously never build an IDE off it, but I'm almost curious to see what on earth they did wrong. Comparing it side-by-side with Xcode is certainly the easiest way to tell.
- draw_down 8y agoIt's a nice editor but it has defaults I don't care for, and I suspect the effort in figuring them all out and how to change them to my liking is not worth whatever marginal advantages it has over Sublime. For example, out of the box, when you search for a file and then open it, then search for another file and open it, it doesn't keep the first file open. To fix that, I had to guess what to plug into Google to figure out what that "feature" was named, and then turn it off. (Why would I want an editor that offers tabs, then only ever keeps one tab open?!) I dunno, the older I get the more I just want shit to work so I can do my job. Nowadays the thought of tweaking a tool to make it perhaps 7% better than what I was using just makes me feel exhausted.
- CrazyCatDog 8y agoSure, maybe it is the old-school nature of Vim and Emacs that makes then standout in performance, but why not throw a years-since-graduation variable into the equation to find out with greater certainty?
- nickpsecurity 8y ago"Do Emacs and Vim users have some other characteristic that makes them more likely to succeed during interviews? Perhaps they tend to be more willing to invest time and effort customizing a complex editor in the short-term in order to get returns from a more powerful tool in the long-term?" One thing I noticed on Lobste.rs is that a lot of them like the old school editors. That's normal. What was more interesting was that they were constantly sharing and discussing their customizations that made them more productive. Kept making me want to have another go at those editors. I didn't since I came from Windows with big, full-featured editors that could do everything (or Notepad++ or Notepad). Still, I keep reading those comments since there's always new and interesting things people are coming up with. In other words, I think the author is onto something worth further investigation and comparisons. Especially comparing VS Code programming to experienced folks using highly-customized, full-featured setups in the other stuff. I bet the results would be more interesting than a random person tried using Emacs or whatever.
- Miltnoid 8y agoI recently helped make a VS Code extension during a Microsoft internship, and I found the language server interface really easy to use. It really makes it easy to write an extension.
- eterm 8y agoThese conclusions are frustrating to read because they haven't handled the numbers properly at all and have drawn poor conclusions. Take a scenario where Java/C# are popular and have 20 people applying for each position but Go isn't and only has 5 people applying for each position. You'd then have a far far better "pass rate" for Go developers. But it doesn't actually say anything about Java or Go in terms of developer proficiency.
- deleted 8y ago[deleted]
- welder 8y agoI was also surprised to see how much VS Code has grown in popularity among WakaTime users in such a short amount of time. [1] https://wakatime.com/static/img/wakatime-editor-usage-2018-12-07.png https://wakatime.com/static/img/wakatime-editor-usage-2018-1...
- kyberias 8y agoOk I stopped reading when they started drawing graphs how well the people using certain editors fared better in their test as if the editor could have anything to do with it.
- jgtrosh 8y agoDepending on the task and the familiarity of the user with the editor, it can make a big difference! As an extreme example, a good 80s programmer might work efficiently on a file in ed, but nowadays approximately no human could do that.
- kyberias 8y agoBut their tests don't measure "how efficiently" the candidates edit files, do they?
- nameless912 8y agoOTOH, I've found that having a mastery of Vim helps me out a LOT in interviews where I get a computer to work at. I can actually type faster than I can think at this point, so I get to express my ideas pretty much as soon as they come to me, which allows me to "look more impressive", I guess. They certainly shouldn't judge based on the choice of an editor or language, but 1) seeing that someone is very comfortable in any editor and any language shows they've been at it for a while, and being able to express the right answer quickly is almost as important as finding it at all.
- tminima 8y agoLater they did mention that they don't take into account the language or editor selection to make interview decisions. They are just exploring the data they have acquired. May be they could have phrased that section differently.
- redsummer 8y agoAccording to the article, 3% of Swift users have more than 8 years experience…
- brianzelip 8y agoThe killer feature for my switch from Atom was the built in terminal. Enough to let me be ok using a ms product temporarily to try it out. I appreciate their energy behind it - the update schedule, the changelog write ups, the listening to the feedback from the users. I really liked the json config of atom. the code gui isn't my fave but it's ok. Two other things helped me transition easily: - click a button to edit `PATH` or whatever so that `$ code` opens up the editor from the terminal - atom keymapping The coffee script use in atom was unfamiliar territory for me too, so that part seemed distant.
- adrianhel 8y agoWhat I would gladly pay 100$/month for is Vim with correct syntax highlighting, intellisense and nice plugins (such as fuzzy finder) by default. It would not need to be Vim, but I have only tried one Vim emulator that didn't suck and was terminal-first: emacs with evil-mode. Let that be the bar for vim-emulation. Why is nobody doing this? I think this would appeal to a lot of people. The criteria for me to to pay for something like this would be: 1. Terminal first. It would either have to become my main shell or open fast within my shell. 2. Vim based or with GOOD Vim emulation. Macros, remapping and all normal mode key combinations must be implemented. 3. Fast terminal<->editor loop. I don't want to wait >300ms to edit a file. 4. Actual production quality zero-config syntax highlighting, intellisense and fuzzyfinder. Sign me up!
- yayana 8y agoIntellij, pystorm, Android Studio (and half of "Other") make up more than a quarter and are the same jetbrains editor with different plugins pre-installed and some plugins unavailable.. That is more than VSCode and these identical IDEs are all over the place in these charts. So what was I supposed to have learned from this article?
- avshyz 8y agoAnyone who still uses VSCode, probably haven't read about all the features IntelliJ and its ilk offer. The local history, for example, and its integration with the test runner (knowing at which point of your editing process your tests started to break) has saved me a tremendous amount of time. (I've accidentally erased changes that were uncommitted with a stroke of a `checkout -f`, and managed to save hours of work with that feature alone.)