I'm a linux user, sysadmin with very light scripting and I normally use Sublime or VI. I tried Code out last year and been using it for all kinds of things, markup files, python, css files.
Gotta say, Code is pretty nice for free and very multipurpose.
Kinda worried after seeing that article today that bing search cant be turned off in Code, no idea whats thats about.
Quite frankly I find it disturbing --- what used to be software you paid for and then you would be left alone to, is now "free" pseudo-SaaS that is funded by the collection and sale of user data.
VS itself isn't fully 64 bit. All the important bits are (like the compilers and such) just not the main VS app.
Also they aren't very good at the collecting part if they let you just disable, and make it known that you can, while also providing versions (the OSS version) that don't even have the data collectors.
Also they aren't very good at the collecting part if they let you just disable, and make it known that you can, while also providing versions (the OSS version) that don't even have the data collectors.
It's opt-out, not opt-in, and how many people will bother to? Things like this don't really inspire confidence either:
Compilers and IDEs are resource intensive pieces of software and VS is over twenty years old. I can imagine innumerable opportunities over the years to increase performance by assuming the size of certain variables in memory. That kind of stuff would have been a big deal when compiling C++ on a 333mhz processor.
Last time i checked c++ debugger still used 16 bit line numbers. My attempts to make a plugin for vs also left an impression that it contains large amount of modules glued together using various technologies. Things like 5 layers of c# API wrappers named api10, api20, api30 on top of some c code communicating using COM objects. I wouldn't be surprised if they still had some third party libraries for which they only have a binaries and vendor doesn't exist anymore.
Nah, MS has always given away their suites of software for free(Visual Studio, etc) to students and the like. VSCode is probably the same with a smooth integration for Azure, .net and TypeScript.
The business justification there is easy to see: get them hooked on your products when they're young, so they'll ask for the same when they start working.
I haven't tried to do any serious .net debugging in vs code, but I'd be shocked if it has capabilities anywhere near vs. Heap snapshots, garbage collection stats, attach-to-process, click to evaluate enumerable in watch, first chance exceptions, break in "just my code" off the top of my head.
They desperately need to. It is absurd for VS to be thrashing disk so much when it starts touching 2 GB of RAM usage, when I have 32 GB sitting mostly unused on my workstation.
As JetBrains Rider 64-bit becomes more mature, it's harder not to switch.
> If anything, Visual Studio is trying to catch up with Visual Studio + Resharper made by the same people who make Rider.
I never needed to use Resharper.
Resharper might offer better refactoring tooling, but it doesn't offer anything else over what it means a full Visual Studio experience.
> Which first party IDE do users of Python, Java, Go, Node, etc. use?
I though we were speaking about .NET here, and other languages offered by OS vendors.
From your list only Java fits this description.
So to answer it, Java main IDE, the one pushed by Sun and used as basis for Solaris development was Netbeans, which incidentally still has features not offered by InteliJ and Eclipse regarding GUI designers, visual editing for Web development and mixed debugging between managed and native code, including directly visualization of native code generated by the JIT.
Visual Studio has quite good support for Python and Node as well.
Resharper might offer better refactoring tooling, but it doesn't offer anything else over what it means a full Visual Studio experience
R# doesn’t offer anything but better refactoring, better navigation, a better unit testing interface, better code analysis, more shortcuts for taking care of boilerplate code like creating an equality override for classes, better Nugget integration (Find this type in Nuget) - ie everything a developer does on a day to day basis...
R# also turns an useful PC into an airplane, increases the typing delay, does not offer UML modelling tools, database integration, database modelling tools, Windows Forms, WPF and UWP modelling tools, enterprise code navigation tooling, mixed mode debugging between native and managed code, code generation templates, GPGPU debugging, services and drivers debugging, profiling tools, task and threading debuggers with selective control with graphical visualization,...., what a Windows developer actually needs.
I’m assuming you mean Rider since R# is a part of VS. But Windows Forms? Microsoft basically abandoned that years ago. The writing is on the wall as far as the .Net framework, MS is showing no love for classic .Net. All of their energy is toward .Net Core. I jumped off of that train a year ago and don’t plan to look back. I’m a big fan of Core but classic .Net?
Yes, Forms. It is legacy, yet loved by many enterprise customers, lots of gigs available.
.NET Core will be relevant for our customers when it finally achieves 1:1 parity with .NET Framework features, until then not many will bother to rewrite their applications, they already have Java for non-Windows platforms with better libraries.
I had to port an application from .NET Framework to Java, because customer wanted it to run on Linux and .NET Core wasn't up to it, regarding the necessary features.
That is what they keep saying... It just pisses me off that I have this monster desktop machine with all of this power available, and Visual Studio is choking and thrashing and locking up all the time, using a tiny fraction of what is available, because this 32-bit throttle is in the way. And anybody reading the tea-leaves over the past decade could see that 32-bit Windows was on the way out, and memory capacity, if it hasn't grown at the curve it did the decade before that, is certainly not a precious commodity to the point that you have to fuss about 32 vs 64 bit pointers taking more space.
John Gruber has a theory about why Apple will never completely eliminate macOS and go iPad-only: "The Mac being heavy allows iOS to be light". That is, iOS can be free of a bunch all the cruft that comes with the long history of desktop operating systems because the Mac has that for the people who need those scenarios.
I think there's a similar dynamic at work here: full Visual Studio has a lot of powerful capabilities that are only used by 1% of its userbase, but each person needs a different 1%, and much of it is legacy Windows stuff. VS will continue to bear the burden of having all that so that VSCode can continue to be reasonably lightweight and updated quickly.
I use vscode (primarily because I don’t have sudo rights to install visual studio) and I’ve researched the difference between the two and have never found a more concrete explanation of the differences than a vague “Visual Studio focuses on the entire lifecycle of the software”.
I use vscode and visual studio, though I tend to use vscode much less now and tend to use webstorm a lot more.
Visual Studio focuses much more on the environment understanding the language and frameworks you are using it ripples through coding, build system, debugging, and deployment. As such it has multitudes of features that make life easy.
Summary: Visual Studio has 20 years of features. Code has 3.
Those numbers cut both ways, as programming today isn't close to what it was 20 years ago. And choices / features that seemed critical then seem archaic now.
On the other hand, you can't instantly catch up on 20 years worth of good ideas.
As an analytics architect, VS has SSDT and better support for Azure Data Factory, SSIS, SSAS, SSRS, Machine Learning Services in SQL Server, Azure Streaming Analytics, Azure Blob Storage exploration, U-SQL unit testing ...
In my world all VS code is good for is writing Python.
It's a great tool, but there's a lot of legacy left in VS.
I'd believe it, if somebody can show me windows 10 core product which clearly has electron inside. Or, if you can show me code pointers to 'developed in-house, in VSC'
I am in OSX, without access to W10 so its conjecture for me.
I get the impression that the author of the article hasn't used a debugging feature any more advanced than breakpoints before. I don't want to stick up for Visual Studio because it has so many issues, but it's an incredibly powerful debugging tool with tight source control integration, and isn't going away any time soon. Visual Studio Code just doesn't provide the toolset needed by a team of 500 developers working on a monolithic software project, and it shouldn't, that isn't what it's intended to be. It's good at what it is already.
I wish. The VSCode editor is years ahead of VS, but it's not happening. You don't have to only compete with Microsoft's out-of-the-box experience, but also VSIP - that includes Resharper (which I don't use, but it's reality).
> 64-bit
I've never experienced an out-of-memory with VS, so that whole argument is moot.
You'll find a much different experience with OOM exceptions for developers working on large solutions, especially ones that contain a lot of test projects and small test assets. They've improved on it in 2017 but it's still pretty bad, OOM full crashes multiple times a day.
I think it's less a LoC thing than it is a number of symbols/files thing. We have some 900k+ tests with an accompanying large number of test asset files. That means 900k public methods that test discovery has to process in realtime.
It's partially on us to move away from the antipattern of solution monoliths, and to nugetize crap that doesn't need to actually be in the solution. But it's also on Microsoft to lazily load projects that aren't being used.
> on us to move away from the antipattern of solution monoliths
We started that about 6mo ago. It's worth it but good luck. Spend a lot of time understanding your codebase. Spend more time understanding DDD (there are great courses on Pluralsight). You're going to learn a lot and it's going to be both rewarding and hell.
> But it's also on Microsoft to lazily load projects that aren't being used.
They have that fast solution load thing in 2017, I'm not entirely sure what it does but maybe it's worth a shot.
What are your loc? I've found that the language makes a huge difference. Visual Studio performs wildly differently on JS heavy projects, vs C# heavy projects, vs C++ projects.
JS code files slow everything down so badly in VS my preferred method is rip it all out of the VS solutions and do front-end work in WebStorm.
Just because you have not experianced, does not mean others do not. Personally long before I hit the actual OOM I start to get .NET thrashing inside of the process, with performance counters showing 30% of the CPU time is being used for GC. During these times the GUI lags noticeably.
> I've never experienced an out-of-memory with VS, so that whole argument is moot.
Second-hand knowledge here- I heard that VS 2010 was delayed because it would crash out of memory under many common scenarios- like load WinForms designer, TFS and one other module and boom. So every team had to go on a serious diet.
The only reason you haven't gotten an out of memory is that the VS team has been fighting like mad to support common scenarios in the 32-bit address space.
VS Code is great but will never replace Visual Studio. They are different beasts. I could see the two gravitating towards each other but I never see the one winning outright. There are a vast spectrum of developers out and its okay that there is no single IDE that fits everyone perfectly.
> Visual Studio was always paid software. But in 2014 MS introduced the Community Edition.
Visual Studio has had a free Express edition since 2005. The only difference I ever noticed between it and the Pro version was the lack of plugin support. They modified the license slightly and called their new free version the Community edition, but not much has changed.
Was there something missing that was important for .Net developers? For C++, there was practically no difference aside from the aforementioned plugin support.
It's long been the case that businesses buy the pro version and hobbyists use the free one. Now it's because of license restrictions rather than because of missing features, but the end result is basically the same.
I think you’re under the impression that VS is stagnating and VSC is active because VSC has to catch up to 20 years of features. Even just a few months ago VSC was missing a ton of features, but every release brings more advanced IDE features. Only recently has it replaced Sublime Text as my default text editor. That’s just simply editing text.
VSC still hasn’t replaced PyCharm for me when I want to make large scale edits to python code.
VS has alot of stuff which is missing in Code, so Code has of course new shiny features every release. I mean just the XAML development is missing (as far as i know). That was also the point why they released VS Community, to allow Independent developers to develop for there UWP Platform. Also MS uses VS in several other Products, like sql management studio (they releases a cross platform tool lately), or Blender. Both are just VS with a bunch of other Plugin/Projekt Templates. I also know some Companys who uses VS Shell - a striped down Visual Studio - for there own internal software.
Also, if i'm not wrong, VSCode is electron based app. If VSCode will have the same amount of fearures as VS, i think they will have Performance and Memory issues. Just a few weeks ago they published a blog post, how they improved the performance of the editor for large files (fun fact, Atom had the same problem and they solved it by implementing a native Textbuffer, no JS). So adding new features to VSCode will bring new challenges to performance and memory consumption. And don't forget, there are people out there complaining about why the slack app needs so much memory....
So all in all, yes maybe Vscode will replace VS but this is a really long road to go.
56 comments
[ 3.3 ms ] story [ 190 ms ] threadGotta say, Code is pretty nice for free and very multipurpose.
Kinda worried after seeing that article today that bing search cant be turned off in Code, no idea whats thats about.
What? I've used Visual Studio to work on 64-bit applications.
Thus comes in VS Code, a free, cross platform IDE that supports all modern languages.
It's only "free" because you're paying for it in other ways than money:
https://en.wikipedia.org/wiki/Visual_Studio_Code#Data_collec...
Quite frankly I find it disturbing --- what used to be software you paid for and then you would be left alone to, is now "free" pseudo-SaaS that is funded by the collection and sale of user data.
Also they aren't very good at the collecting part if they let you just disable, and make it known that you can, while also providing versions (the OSS version) that don't even have the data collectors.
It's opt-out, not opt-in, and how many people will bother to? Things like this don't really inspire confidence either:
https://stackoverflow.com/questions/40451596/visual-studio-c...
https://news.ycombinator.com/item?id=11804366
You can also turn off the data collection.
The business justification there is easy to see: get them hooked on your products when they're young, so they'll ask for the same when they start working.
If I'm getting "hooked" on a product because it's good at what it does what exactly is wrong with that?
https://blogs.msdn.microsoft.com/ricom/2015/12/29/revisiting...
Then his own rebuttal to himself...
https://blogs.msdn.microsoft.com/ricom/2016/01/04/64-bit-vis...
As JetBrains Rider 64-bit becomes more mature, it's harder not to switch.
They never move beyond being a 2nd class citizen with their own set of issues and development problems.
Which first party IDE do users of Python, Java, Go, Node, etc. use?
I never needed to use Resharper.
Resharper might offer better refactoring tooling, but it doesn't offer anything else over what it means a full Visual Studio experience.
> Which first party IDE do users of Python, Java, Go, Node, etc. use?
I though we were speaking about .NET here, and other languages offered by OS vendors.
From your list only Java fits this description.
So to answer it, Java main IDE, the one pushed by Sun and used as basis for Solaris development was Netbeans, which incidentally still has features not offered by InteliJ and Eclipse regarding GUI designers, visual editing for Web development and mixed debugging between managed and native code, including directly visualization of native code generated by the JIT.
Visual Studio has quite good support for Python and Node as well.
R# doesn’t offer anything but better refactoring, better navigation, a better unit testing interface, better code analysis, more shortcuts for taking care of boilerplate code like creating an equality override for classes, better Nugget integration (Find this type in Nuget) - ie everything a developer does on a day to day basis...
.NET Core will be relevant for our customers when it finally achieves 1:1 parity with .NET Framework features, until then not many will bother to rewrite their applications, they already have Java for non-Windows platforms with better libraries.
I had to port an application from .NET Framework to Java, because customer wanted it to run on Linux and .NET Core wasn't up to it, regarding the necessary features.
I think there's a similar dynamic at work here: full Visual Studio has a lot of powerful capabilities that are only used by 1% of its userbase, but each person needs a different 1%, and much of it is legacy Windows stuff. VS will continue to bear the burden of having all that so that VSCode can continue to be reasonably lightweight and updated quickly.
Visual Studio focuses much more on the environment understanding the language and frameworks you are using it ripples through coding, build system, debugging, and deployment. As such it has multitudes of features that make life easy.
Those numbers cut both ways, as programming today isn't close to what it was 20 years ago. And choices / features that seemed critical then seem archaic now.
On the other hand, you can't instantly catch up on 20 years worth of good ideas.
In my world all VS code is good for is writing Python.
It's a great tool, but there's a lot of legacy left in VS.
I am in OSX, without access to W10 so its conjecture for me.
> 64-bit
I've never experienced an out-of-memory with VS, so that whole argument is moot.
It's partially on us to move away from the antipattern of solution monoliths, and to nugetize crap that doesn't need to actually be in the solution. But it's also on Microsoft to lazily load projects that aren't being used.
We started that about 6mo ago. It's worth it but good luck. Spend a lot of time understanding your codebase. Spend more time understanding DDD (there are great courses on Pluralsight). You're going to learn a lot and it's going to be both rewarding and hell.
> But it's also on Microsoft to lazily load projects that aren't being used.
They have that fast solution load thing in 2017, I'm not entirely sure what it does but maybe it's worth a shot.
JS code files slow everything down so badly in VS my preferred method is rip it all out of the VS solutions and do front-end work in WebStorm.
Second-hand knowledge here- I heard that VS 2010 was delayed because it would crash out of memory under many common scenarios- like load WinForms designer, TFS and one other module and boom. So every team had to go on a serious diet.
The only reason you haven't gotten an out of memory is that the VS team has been fighting like mad to support common scenarios in the 32-bit address space.
This statement can only be said by someone that hasn't actually used Visual Studio beyond editing text.
Visual Studio has had a free Express edition since 2005. The only difference I ever noticed between it and the Pro version was the lack of plugin support. They modified the license slightly and called their new free version the Community edition, but not much has changed.
It's long been the case that businesses buy the pro version and hobbyists use the free one. Now it's because of license restrictions rather than because of missing features, but the end result is basically the same.
Meaning something like Express C++, Express C# Desktop, Express C# Web development.
Then many plugins for SQL, GUI design, static code analysis, debugging were not available.
Even C++ had language features not enabled on Express versions, and if I recall correctly it did only 32bit code generation.
Visual Basic when it first came out, made it easy to program and create forms and controls.
VSC still hasn’t replaced PyCharm for me when I want to make large scale edits to python code.
Also, if i'm not wrong, VSCode is electron based app. If VSCode will have the same amount of fearures as VS, i think they will have Performance and Memory issues. Just a few weeks ago they published a blog post, how they improved the performance of the editor for large files (fun fact, Atom had the same problem and they solved it by implementing a native Textbuffer, no JS). So adding new features to VSCode will bring new challenges to performance and memory consumption. And don't forget, there are people out there complaining about why the slack app needs so much memory....
So all in all, yes maybe Vscode will replace VS but this is a really long road to go.
The very first sign was when Microsoft refused to port Visual Studio (VS) to 64 bit. "
MS purposely chose to forego 64 bit in favor of 32 bits for performance among other reasons.