• 0

Attention all "coffee based" coders C++11 is now your new shiny toy


Question

I have been programming C# for the last 6-7 years or so (yes so I?m one of the ?coffee based? coders as well), before that mostly C++. At the moment I'm at a crossroad, undecided if I should switch back to C++11. Why you say? At this point mainly because I need performance, but on a grander scale because my gut feeling has started to worry me that there might be some changes coming and that C++ could be the right choice for the future?

Let me pull back a little. At the moment I'm about to start on a pretty large project, and since the project will be ridden with heavy math calculations, and I know performance will be very important, I was a little hesitant just to jump out and start implementing in C# (as I normally do). To be honest I want to choose C#, but I'm afraid it's not the correct choice do to performance issues. C# and the.NET library is beautiful and a joy to work with, and there are countless of projects where customers have been stunned of how fast I was able to produce results. This was on the other hand almost never the case with C++. But this performance thingy is nagging me big time, I?m really afraid to choose the wrong environment and discover down the path that this was a failure. So I first started out on a googling mission to find performance comparisons, tech articles, blog posts about C++ and C# performance.

During this time there was also a lot of developer anxiety due to Microsoft?s poor public relation management prior to Windows 8 pre-release and the Build conference. You have probably read most of it yourselves. In general the feeling is that Microsoft is discontinuing (read: scrapping) Silverlight and XNA, and honestly the future of .NET as a first class citizen on WinRT is also questionable. Here are just two small articles exemplifying what I?m talking about:

http://www.guardian....oft-programming

http://channel9.msdn...all-of-a-sudden

But maybe more importantly, I watched some videos with Herb Sutter from Microsoft, where he talks about why he considers C++ being the right choice for the future. For instance he talks about the Microsoft Longhorn project and Microsoft?s efforts to make managed languages a core part of Windows, and how that failed. He also talks about how they now feel the new era is towards native development with the now ?new and shiny? C++11. Take a look at the video, it?s quite interesting:

http://channel9.msdn...rb-Sutter-Why-C

Also you could supplement with this article giving a historical background explanation of Microsoft?s path towards WinRT:

http://arstechnica.c...n-dream-reborn/

And finally this video where Herb talks about how he feels C++ is now closer to C# and the managed languages, and nothing like the old C++ from back in the days:

http://channel9.msdn...our-Father-s-C-

So, what do you guys think? I would love to hear comments on the videos and what do you guys consider for the future. Should we start the journey from C# and managed and venture over to this new shiny toy C++11? Is it the right choice? Will Microsoft silently and slowly stop focusing on managed development, stop improving the CLR performance, and focus more on native development?

On the other hand, my C++ skills are fairly rusty since it's almost 10 years since I programmed any big projects in it, and it's not entirely trivial to write a high performance program in C++. I guess there will be a somewhat steep learning curve coming back to C++11, and I need to take some of that on my free time and it?s going to be rough as well (at some point I remember swearing I?ll never go back :-) But I guess, if I decide to do it, it?s because I feel it might be the right thing to do at this point in preparation for the future. So what do you all think? All comments are welcome! Yes and on a side note, anybody know a good C++11 book?

Link to comment
Share on other sites

Recommended Posts

  • 0

You should keep an eye on ANX (http://anxframework.codeplex.com/), they are using SharpDX and creating a high level wrapper.

Seems pretty dead to me already. No real progress made since March if you look at the commits. MonoGame is already much more mature, making progress at a steady pace and being used in many real-world projects.
Link to comment
Share on other sites

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.