It would indeed be interesting if MS rediscovered native code and C++. Might actually make want to develop for Win32 again (at least some time when I have the choice not to).
On second thought...naah.
Just watched a coworker waste half a day because Windows/Microsoft Update quietly installed conflicting versions of the C runtime libraries on his developer box. So the executables he built wouldn't run on some random subset of the target machines.
Since the introduction of C#, I was under the impression that Microsoft would be more than happy to see C++ die off. But here we have
"It seems from another Microsoft job posting that Microsoft is really pushing the idea that C++ will be key to building applications for the coming version of Windows."
Unsurprisingly, the Delphi developers are coming out in full force in the comments in this article.
To be honest, the idea that Microsoft will make C++ the favored language for development for Windows is surreal to me. What the heck is going on with the C# team?
The Windows team never fully bought into the .net strategy. The success of Windows 7 has finally given them the leverage to do what they've wanted all along.
Addendum: I don't think this means they're somehow abandoning .net. In fact the early Windows 8 leaks reveal that there's a new "System Language Runtime" which is a lower-overhead subset of the CLR designed to allow you to do things like write shell and IE extensions in managed code.
They are also integrating the new JavaScript engine from IE9/10 into the OS, and probably all OS features will have JavaScript APIs as well as managed/native ones.
However, .net APIs will no longer be emphasized over native and JS ones, the three options will just be treated as peers.
I really don't think that's the case for technical reasons.
I was trying to think of a good counterexample though and I realized that I can't think of any new first-rate apps Microsoft has "innovated" since they sent their app division down the .Net road.
Perhaps some new component that comes bundled with Windows (other than .Net runtime platform itself of course). Perhaps the movie maker thing, malicious software tool, etc. You might find a UI built with .Net, but I doubt you'll see much (if any) under-the-hood code written in C#.
Isn't that primarily an ASP.NET web site UI? Yes, that's an example of the kind of thing that .Net is a good fit for. I think there are some COM components that SharePoint supplements MS Office documents with. I bet those are written with native code.
Visual Studio 2010?
If you recall the massive loss in UI responsiveness in the transition from the VC6 to VS.net, you'll see why they're excited about going back to native C++.
Glad to see I'm not the only one annoyed by the sluggish feel of .net applications. That's why I still use good old C++, albeit with some Borland extensions around the Win32 API. My clients are grateful for it.
Yeah, it's been a slow uptake. But so far we have stuff like Expression Blend, Windows Live Writer and SQL Server Management Studio that come to mind. Not to mention the Visual Studio shell and editor. And of course, the seriously awesome Powershell.
No, it's not that. Severals teams within MS, notably Windows, still haven't bought into .NET. Most still prefer C++ for performance reasons. This division been well documented here.
I've done it .. let me know if you want any help. I've got a fully working OpenGL ES demo ported to the NDK and functioning as a regular Android app ..
http://gcc.gnu.org/gcc-4.6/changes.htmlAndroid GCC now supports the Bionic C library and provides a convenient way of building native libraries and applications for the Android platform. Refer to the documentation of the -mandroid and -mbionic options for details on building native code. At the moment, Android support is enabled only for ARM.
I haven't tried it myself yet, know of a reason it wouldn't work?
I'm not denying it -- I just took issue with your sweeping statement. Taste when talking about programming languages, frameworks and so on, is individual (like everything else in life where "taste" is involved).
Since Microsoft's Server and Tools Business is a 1+ billion dollar business it obviously tastes good to quite a few people.
Ah--suggesting the question "what is the correlation between having taste and (collectively) being able to spend a billion dollars on tools when there are equivalents to be had for free?"
Sure, except for me, the guy who bought the HTC G2. I have one of the best android phones you can get and when I used a coworker's iPhone yesterday I frowned at how poor the interface and responsiveness of my phone are in comparison.
I think this'll be my last Android phone (this is my second), I'm going iPhone whenever they do another release.
I still use Borland C++ Builder, Delphi's little brother, on a daily basis.
Both Delphi and C++Builder are powered by VCL under the hood. VCL = Visual Components Library, a very orthogonal application+userinteface kit. Microsoft has tried to imitate it with .Net, both foundations feel the same. But the VCL is less bloated.
I always thought "Visual C++" was a dumb name because there's nothing more or less "visual" about it than the other tools at the time.
C++ is a text-based language, by definition, and a chainsaw by metaphor. If you approach it like it's some kind of drag-and-drop finger paint set, you will surely encounter misery.
But don't listen to me. It's not like I've ever named a $B+ product line. :-)
Well that is a fair point. It is a bit annoying how Microsoft tries to fit groups of products under the same umbrella even when they do not necessarily fit together.
39 comments
[ 3.5 ms ] story [ 73.4 ms ] threadOn second thought...naah.
Just watched a coworker waste half a day because Windows/Microsoft Update quietly installed conflicting versions of the C runtime libraries on his developer box. So the executables he built wouldn't run on some random subset of the target machines.
Since the introduction of C#, I was under the impression that Microsoft would be more than happy to see C++ die off. But here we have
"It seems from another Microsoft job posting that Microsoft is really pushing the idea that C++ will be key to building applications for the coming version of Windows."
Unsurprisingly, the Delphi developers are coming out in full force in the comments in this article.
To be honest, the idea that Microsoft will make C++ the favored language for development for Windows is surreal to me. What the heck is going on with the C# team?
They are also integrating the new JavaScript engine from IE9/10 into the OS, and probably all OS features will have JavaScript APIs as well as managed/native ones.
However, .net APIs will no longer be emphasized over native and JS ones, the three options will just be treated as peers.
What language do you think they develop their own first-tier apps and the operating system itself in?
There are some commercial apps and parts of MS applications written in the .Net languages. But still the heavy lifting is done in native C++.
I was trying to think of a good counterexample though and I realized that I can't think of any new first-rate apps Microsoft has "innovated" since they sent their app division down the .Net road.
Perhaps some new component that comes bundled with Windows (other than .Net runtime platform itself of course). Perhaps the movie maker thing, malicious software tool, etc. You might find a UI built with .Net, but I doubt you'll see much (if any) under-the-hood code written in C#.
Isn't that primarily an ASP.NET web site UI? Yes, that's an example of the kind of thing that .Net is a good fit for. I think there are some COM components that SharePoint supplements MS Office documents with. I bet those are written with native code.
Visual Studio 2010?
If you recall the massive loss in UI responsiveness in the transition from the VC6 to VS.net, you'll see why they're excited about going back to native C++.
Come to Android, where engineering decisions are made with taste, all the way down.
Will I be able to use g++ >= 4.6 to code natively to OpenGL at some point?
http://developer.android.com/sdk/ndk/index.html
I haven't tried it myself yet, know of a reason it wouldn't work?
Since Microsoft's Server and Tools Business is a 1+ billion dollar business it obviously tastes good to quite a few people.
Sure, except for me, the guy who bought the HTC G2. I have one of the best android phones you can get and when I used a coworker's iPhone yesterday I frowned at how poor the interface and responsiveness of my phone are in comparison.
I think this'll be my last Android phone (this is my second), I'm going iPhone whenever they do another release.
http://www.embarcadero.com/products/delphi
Both Delphi and C++Builder are powered by VCL under the hood. VCL = Visual Components Library, a very orthogonal application+userinteface kit. Microsoft has tried to imitate it with .Net, both foundations feel the same. But the VCL is less bloated.
C++ is a text-based language, by definition, and a chainsaw by metaphor. If you approach it like it's some kind of drag-and-drop finger paint set, you will surely encounter misery.
But don't listen to me. It's not like I've ever named a $B+ product line. :-)
I have grave fears for Skype.