Live data from Hacker News

Visual Studio 2017 Launch [video]

launch.visualstudio.com

141–150 of 177 posts

Re: Visual Studio 2017 Launch [video]

#141
post #68

Someday I hope it finally gets ported to x64 so that it can use more than a tiny fraction of the RAM in my desktop, instead of page thrashing all the time.

Hi Douche,

I'm Cyrus, a developer on the C#/VB IDE team.

One of the areas we invested a lot in (and will continue working on) is moving a lot of our analysis and processing work out-of-process. It turns out this is a much effective way to get improved performance while taking advantage of the available RAM in the system.

There are several reasons why this is, and why it's a better solution for performance than just moving to 64bits. For one, moving to 64bits substantially increases the memory requirements to the system. For the C#/VB compiler/IDEs, it can easily double the amount of ram necessary, which can be a substantial burden on many systems. For another, when you are in a single process, you massively increase the pressure on the GC, which can lead to exacerbated GC-pauses (which are one of the single worst contributors to the IDE feeling slow or sluggish).

By moving out of proc, we can actually use less ram, have far less chance of hitting 32bit limits, and greatly improve perceived and actual latency of operations (as GCs can happen in one process without affecting the other).

We, and other teams have been using this approach with great success, and we expect to continue moving more in this direction with future updates and releases. For example, I'm doing work right now to get our indices for 'Navigate To', 'Find all References' and 'Add using' to be computed and queried outside of the main VS process. The results have been hugely successful, with the features actually running better than before, VS being even more responsive, and no excess memory usage (like we would get with 64bit).

There has been significant investigations of 64bit, and the actual empirical results of those investigations have driven our decisions. Thanks!

Re: Visual Studio 2017 Launch [video]

#142
post #58

Earlier quoted context omitted.

As a newcomer to .net I was really confused by the lacking refactoring support in Visual Studio (yes, things we spoiled Java brats take for granted like extract method, extract class, move to separate file etc). Is this available in VS 2017? Edit: and live unit testing! I was looking forward to that until I found out it was only available in the enterprise version. (And yes, here you have an edge on Java anyway I thi…

I think "most everyone" just uses Resharper - Microsoft kind of has a background of letting a healthy ecosystem of 3rd party addin providers exist, and only gradually incorporates the best features into the core product.

Most times when someone complains that Visual Studio is slow, you'll find they have Resharper installed.

Re: Visual Studio 2017 Launch [video]

#143
post #58

Earlier quoted context omitted.

As a newcomer to .net I was really confused by the lacking refactoring support in Visual Studio (yes, things we spoiled Java brats take for granted like extract method, extract class, move to separate file etc). Is this available in VS 2017? Edit: and live unit testing! I was looking forward to that until I found out it was only available in the enterprise version. (And yes, here you have an edge on Java anyway I thi…

I think "most everyone" just uses Resharper - Microsoft kind of has a background of letting a healthy ecosystem of 3rd party addin providers exist, and only gradually incorporates the best features into the core product.

i love the features of resharper, but after all these years, the performance is still super awful when you have large projects.

Every new version I give it a try to see if the perf problems are fixed, and every time I have to turn it off after a few hours.

Re: Visual Studio 2017 Launch [video]

#144
post #68

Someday I hope it finally gets ported to x64 so that it can use more than a tiny fraction of the RAM in my desktop, instead of page thrashing all the time.

There seems to be some people in the IDE team who believe that a 32-bits only IDE is a feature and not a bug, including for reasons as fun as because it crashes sooner in case of memory leaks... I guess eventually those people will move to other things and/or the market pressure will be such that we will see a 64-bits IDE. Just don't know exactly when...

Hi Xorblurb :)

I'm a dev on the "IDE team" :)

We've actually done a huge amount of work investigating and addressing perf issues and working to create an architecture that can scale well. 64bits is not a panacea. And if we had simply moved to that, most people would find that their IDE was using much more ram AND behaving more sluggishly.

We decided to invest our energies in work that would actually benefit the vast majority of customers. This led to efforts that we were able to demonstrably measure as producing better experiences for people. If there's a point that 64bit will actually produce better results for people, we'll gladly move to it. Thanks!

Re: Visual Studio 2017 Launch [video]

#146

Earlier quoted context omitted.

Hey DMarlow, could you clarify your question? A C# 7.0 program should run on pretty much any version of .Net after 2.0. Similar to C# 2.0-6.0. The only thing we ever really adopted in C# that needed a new runtime version was Generics.

So with c# 7 all I need is VS 2017? It'll work with existing .net 4.5.x and 4.6.x projects? I tried tuples and VS complained. Are there instructions to get that working somewhere? In order to compile on a build server do I need an updated toolchain?

> So with c# 7 all I need is VS 2017?

All you really need is the new C# compiler. You can get that with VS2017, or standalone. But the programs produced by this compiler should be runnable on pretty much every runtime out there.

> It'll work with existing .net 4.5.x and 4.6.x projects?

Definitely.

> I tried tuples and VS complained

What was the complaint? in order to use Tuples, you need a reference to add the System.ValueTuple NuGet package as that's the type under-the-hood that packages up the tuple values so other people can consume them.

This is a nice approach because it means your APIs can use Tuples, while people using C# 6.0 and earlier can still use them. effectively.

> In order to compile on a build server do I need an updated toolchain?

If you use C# 7.0 features, then use. You always need the appropriate compiler to use the latest language features. But you shouldn't need to really 'upgrade' anything else if you don't want to. (You can, of course, if you do want to).

Re: Visual Studio 2017 Launch [video]

#147

Its a great sense of relief to finally ship this product, we really hope folks give it a try and join our live keynote which is streaming now at http://launch.visualstudio.com

Congrats on the launch.

The download link takes you to a page ( https://www.visualstudio.com/vs/whatsnew/ ) where the main download button doesn't actually appear when the window is resized below a certain width, and there's no obvious indication of what's going on. This really confused and frustrated me.

Re: Visual Studio 2017 Launch [video]

#148
post #136
post #134

Earlier quoted context omitted.

The type is library code, the only part that's a language feature is the grammar. ValueTuple is a type like any other, and the CLR will need it referenced to use it.

Microsoft seriously needs to rediscover the value of simplicity. I don't need to install some third party library to use tuples in python. Tuples being part of the language means it just works.

Well I mean, it's not 3rd party. It's a 1st party library.

Re: Visual Studio 2017 Launch [video]

#149
post #127

Earlier quoted context omitted.

But how can it be called a new language feature if it's not supported unless I add some external references (and the what's new page doesn't make any reference to a nuget package).

Hi CM, i'm Cyrus, a developer on the C#/VB IDE. First: The benefit of this approach is that people can now use this sort of feature down-level. i.e. you can interoperate with this code even if you're on a previous version of C# or VB. Also, it means that the libraries can be rev'ed independently of compiler and IDE releases. There's a lot of value in having this sort of thing. And in the past people would rightfully…

But, to repeat another comment I made below, are you satisfied with this solution? Would you expect to have to go to a package manager to use tuples in python? The power of .net, and of visual basic in particular was its simplicity. What I am seing is Microsoft going into the opposite direction, with an ever more fractured ecosystem, .net, .net core, .net portable and .net standard running in parallel. Asp.net and asp.net core running in parallel, winform, wpf, winRT apps, uwapps, xamarin, etc running in parallel. And now when a new feature is introduced in the syntax it requires to add some external dependencies, which can be simplified by changing some default deep into the IDE...

My opinion is that simplicity matters a lot to the success of a platform. And by the way nothing in the error that you display when using tuples in VS2017 suggests a nuget package or an assembly name that can be searched.

Re: Visual Studio 2017 Launch [video]

#150

Does anyone know how to unsubscribe from the "Your Visual Studio Subscriptions update for March" spam emails from Microsoft? I think they're super annoying, and have no unsubscribe instructions at all . I just got one announcing this launch.

Microsoft emails are absurdly hard to unsubscribe from. I've had to resort to dropping MS domains at our exchange edge to stop receiving them. Their Azure sales team are even worse - I've actually had to shout (repeatedly) at them to stop them from calling me, all because I wanted to try Azure AD as a test. They're on my permanent blacklist now, I won't even consider Azure because of the constant harassment over emai…

The answer to any sales calls that won't stop (I found this out by happenstance):

"We're a consultancy selling services for these tools/products."

or

"We're a competitor, and I registered for your free trial for competitive research."

In my case, these are true answers, but I never get more than one sales call from anyone.

I can't help you on the email front, but it's easy to set up filters for those.

Post reply on HN