Move forward and bring back VS UI written in native code
Move forward and bring back VS UI written in native code
I know there has been a lot of discussion on this topic, and the general interest has been around improving the performance of Visual Studio. With VS11 Beta out, we have seen significant improvements in performance.
At this point, we do not have plans to re-write the IDE in native code, and we are going to close out this idea and release your votes for you to apply elsewhere.
We have the performance forum (link is on the bottom of the right hand side of the main VS UserVoice page) where you can vote for specific performance ideas, without using up your 10 votes on the main forum.
Doug Turnure (MSFT) – Visual Studio PM
David Cole commented
I meant something slightly different. It seems to me that an average C# developer and an average C++ developer might live in slightly different worlds, for example:
* a C++ developer likely has a much bigger project than a C# developer, for historical reasons,
* a C++ developer likely has much worse build times than a C# developer due to differences in language design (headers vs assemblies, templates vs generics, etc),
* a C++ developer likely spends much less time than a C# developer in wizards and similar helper tools, whose performance is not important, etc.
I don't know whether or not the above is true, but if it is, it is indeed possible for C# developers to be happy with the performance of VS2010, but for C++ developers to be very unhappy with it.
@David Cole, man you hit the nail in the head. That’s exactly what’s going on. Guys who develop in MJ (Microsoft’s Java) they are just not aware of the slowness they apps work with. It like for someone who all his life drove ford fiesta (MJ). Every new model seems to be better, than the older one. But for someone who drives Ferrari (C++) and then with new release he gets body of a Ferrari but engine of a ford fiesta surely he will feel disappointment, but the guy who drives fiesta for entire life will not be able to understand it. Only when he go for a test drive in a Ferrari (with someone who already drives it for good few years) only then they can really see what and where is the difference and what real performance really looks like.
David Cole commented
I might be mistaken, LaughingJohn, but could it be that you primarily work with C# or, perhaps, VB.NET and not C++? Because what you say about VS2010 just doesn't compute for a C++ developer like myself. For the C++ work that I do, VS2010 is very slow, much slower than, say, VS2008 ever was.
I disagree completely, VS2010 is excellent and a great demo for the .Net stack. Personally I'd like to see more MS programs rewritten in .Net, especially Office which is long overdue a rewrite (especially if they separate out the UI layer so we can finally use Office from a server/service without the UI).
Uwe Johnsson commented
DrPizza, I would also like to reply to this statement of yours:
"I provided a nice worked example of some fairly typical code and it demonstrated just how well .NET performs, and just how hard it is to get C++ to perform as well."
First, as I said in the previous post, the sequence of blog posts you are referring to is absolutely not an example of just how hard it is to get C++ to perform. The only reason Raymond had several post instead of just one was that he intended to show his toy program evolving over time. Nor was the sequence of blog posts an example of just how well .NET performs. Raymond was *not* trying to outperform C# code put by Rico. Rico did try to outperform C++ code put by Raymond, without too much success. That's it.
Now, if you want to see a real world example of how .NET and C++ stack up against each other performance-wise, please read, for example, this:
Passionate guys, were trying to make .NET perform for a long time, weren't successful, went to C++. The result? "On our test hardware, Evernote 4 starts five times faster, and uses half the memory of Evernote 3.5." And if you try to compare two versions of the product side-by-side, you will be able to see the difference with your own eyes. Seriously, give it a try.
@DrPizza My, my how agressive
Uwe Johnsson commented
DrPizza, please note that the old sequence of blog posts on Raymond Chen's and Rico Mariani's blogs that you are referring to is not in any way a measure of how C++ and C# stack against each other in terms of performance and difficulty of development in real life.
Raymond Chen was illustrating the process of building a simple tool in C++ and gradually evolving it. The point was not to build the fastest tool possible, the point was to demonstrate the process of gradually improving the performance of the code, in small bites. This is the reason for the many posts, not that it was too hard to make the code fast. Please note also that Raymond Chen intentionally refrained from using anything but straight Win32 and some very basic STL, so as to not require that the reader is familiar with anything but those very basic things. Please also note that even though Raymond Chen was *not* trying to outperform any specific code, Rico Mariani, who *was* trying to outperform Raymond's C++ code using equivalent C# code have had a fair start, but very quickly had to give up. Due to fundamental issues, too.
So, please, stop presenting this sequence of posts as some kind of proof that C# is as fast as C++ or that C# is so much easier to write than C++. The sequence demonstrates no such thing.
@AndrewDover there was from the very beginning no chance for this suggestion. I, and I believe people who voted for it, just wanted to express they feelings, and wishes.
There is zero point in this suggestion, as Microsoft has already rejected it.
at 45 minutes.
I don't think anybody would do it first time. And I don't think it's reasonable to believe that Microsoft should have to write Visual Studio six times--or even 3 times--just to make it perform well.
Accel Banks made a number of assertions without evidence. I couldn't care less about what he has to say. But if assertions without evidence are good enough for you, I'm going to assert that anyone claiming a memory unsafe language like C++ is as easy to use safely and correctly as a memory safe language like C# is a moron.
Or do unsupported assertions only count when you agree with them?
Did you look at the C#? Did you look at the C++? Do you see how much work it took to get the C++ to perform at the same level as the C#?
Clear, maintainable, bug-free C++ was soundly beaten by clear, maintainable C#. The process of optimizing the C++ took time, it took careful analysis, it introduced bugs (!), and it resulted in code that's a lot ****** to understand, and a lot ****** to maintain.
Visual Studio needs to be maintainable and it needs to be bug-free. With that constraint, C# is performance competitive with C++, and often faster.
@DrPizza what evidence? That MJ HAS BEEN BEATEN by C++? So no dude, you're wrong. Back then and now.
And I don't care that to some guy, took 6 times to beat it. To someone else would took just 3 times to beat it and someone else would do it from the first time. So no DUDE, you're wrong. And more over, did you read comment by Accel Banks and what he has to say about all this stuff you saying here?
So please, get real, no one reasonable will ever believe that Java can beat C++. Get real DUDE.
How can I be "wrong"? I posted links to actual evidence. With actual code. Which showed the managed code being faster than standard, reasonable C++.
All you have is assertion. That's all you've ever made. "C++ is faster than managed code". That's all the nuance and detail you've provided.
@DrPizza Um, dude you're wrong. Read through posts and you'll find posts mine and others who also backed it up. And you also find few posts which point out that you're wrong. So no DUDE, you just wrong - back then and now.
@sbi If you read carefully you’ll see that I backed it up few times to different people and I have also support from few other people who also think that what I’m suggesting does make sense and they also are backing me up. So I think I’m ok and I will not repeat myself this time. But if you want to see my and others “backing up” read through posts.
On the other hand you still failed to answer to my question, so could you please clarify what did you mean by saying this in one of your post to me:
“Oh, and I repeated my argument because your reply to it last time was just a repetition of the blahblah which I had replied to in my argument” – to me it looks like some smart *, semi idiotic response of a frustrated person, but I hope I’m wrong because I really like you, you big monkey. ;)
Um, no, dude, you didn't back it up. You just asserted it over and over again. I provided a nice worked example of some fairly typical code and it demonstrated just how well .NET performs, and just how hard it is to get C++ to perform as well.
@Knowing: You keep repeating the argument, but you fail to back it up. I could do nothing but repeat my POV again. I'd rather leave it at that, though. HAND.
@sbi Did not understand what you meant by this:
You in your last post have said:
"Oh, and I repeated my argument because your reply to it last time was just a repetition of the blahblah which I had replied to in my argument"
so could you please clarify it to me?
Secondly if you care which language do you develop in let me repeat this time myself:
@sbi I think we need to care which language, reason being if we want results to become better and better, we need languages to continue to develop(become better and better). For that we need people who are passionate enough about a language to see how far they can take it. It is important for a language to be in constant use and to be promoted. Otherwise it will stagnate and eventually die. That’s why they re-wrote VS. Fortunately it backfired, proving that .NET is inadequate for such tasks. C++ rules and rocks!
And sbi, as for what most important to you, your answer in your last post has nothing to do with it. You clearly indicated by giving three votes that resizing window has for you more importance than performance of Very Slow.
And let me repeat myself again: If you care in which language you develop your applications you also should start caring how this language is promoted/used etc.
@Knowing: Of course I care which language *I* develop in. But I don't care which language others develop in, as long as the results of their works fit my needs.
As for my own suggestion (thanks for advertising it here): I spend my votes according to several criterions, one of which is the probability of a suggestion being implemented. Flipping a flag on some dialog has a higher probability than reversing a trend that's a decade old.
Oh, and I repeated my argument because your reply to it last time was just a repetition of the blahblah which I had replied to in my argument. I don't care how speed is achieved, if only it *is* achieved. I have yet to see an objective argument against that.
@sbi do you care in what language you develop, or to you it doesn't make any difference and you're equally happy to develop in VB as in Java or C++?
As a note, how can I take you seriously if apparently having resizable window (http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2061447-make-the-c-project-properties-dialog-resizable) is for you more important (you gave THREE votes on it) than performance of Very Slow (you gave just TWO votes on it)?
And last but not least - you're repeating yourself.