{"id":3393,"date":"2011-02-24T05:29:09","date_gmt":"2011-02-24T05:29:09","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/vcblog\/2011\/02\/24\/c-renaissance-first-symptoms-of-contagion-in-traditionally-non-native-teams\/"},"modified":"2021-10-06T10:32:41","modified_gmt":"2021-10-06T10:32:41","slug":"c-renaissance-first-symptoms-of-contagion-in-traditionally-non-native-teams","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cppblog\/c-renaissance-first-symptoms-of-contagion-in-traditionally-non-native-teams\/","title":{"rendered":"C++ Renaissance: First Symptoms of Contagion in Traditionally Non-Native Teams"},"content":{"rendered":"<p>You may already know <a href=\"http:\/\/10rem.net\/blog\" target=\"_blank\" rel=\"noopener\">Pete Brown<\/a> but if you don\u2019t, I\u2019ll briefly introduce him here: he\u2019s, like me, a Community Program Manager with Microsoft but while I\u2019m focused on C\/C++ languages and the Visual C++ tool, he\u2019s devoted to client-side development technologies (mainly WPF and Silverlight, with some Windows Phone 7 and XNA, a bit less of HTML and JavaScript \u2013<a href=\"http:\/\/blog.reybango.com\/\" target=\"_blank\" rel=\"noopener\">Rey Bango<\/a> covers these two web techs- and a bit of C++ as well, although this last hasn\u2019t happened for months, if not years (even before last December, when there was no C++ Community PM at all). In his own words:<\/p>\n<blockquote>\n<p><em>My C++ is slightly more rusty than an old tractor left in the back field for most of the century.<\/em><\/p>\n<\/blockquote>\n<p>He recently had a problem to solve, he needed a fast, smart way to collect online resources for his own weekly report: the <a href=\"http:\/\/10rem.net\/blog?filterby=WindowsClientRoundup\" target=\"_blank\" rel=\"noopener\">Windows Client Developer Roundup<\/a> which, among others, inspired our <a href=\"http:\/\/paper.li\/visualc\/news\" target=\"_blank\" rel=\"noopener\">Visual C++ Weekly<\/a>. The tedious part in his case was to copy\/paste titles with some special format, while eliminating some tracking stuff in the companion URL. That for each of the 25 links he includes per week.<\/p>\n<p>He decided to create a browser add-in to deal with this all at once. Hopefully <a href=\"http:\/\/10rem.net\/blog\/2011\/02\/22\/creating-an-internet-explorer-add-in-toolbar-button-using-cplusplus-and-atl\" target=\"_blank\" rel=\"noopener\">his solution<\/a> will also serve to you if you need something similar, if you were planning to create an add-in or at least if you\u2019d never considered that chance and his approach inspires you for any other problem you were having in browsing web pages.<\/p>\n<p>But I\u2019m not to reproduce his whole post here, just wanted to highlight the two main reasons why he chose ATL (and C++) and not any of the techs he\u2019s more used to.<\/p>\n<p>One of his reasons is very rational:<\/p>\n<blockquote>\n<p><em>You can create add-ins using .NET and Script, but both have significant limitations as well as performance concerns. If you want to write an add-in of any complexity, you&#8217;ll almost certainly want to write it in C++.<\/em><\/p>\n<\/blockquote>\n<p>This demonstrates that Pete thinks as an architect when solving problems: he\u2019s just not tied to the technologies he masters but he privileges the most adequate solution for a given problem. This principle applies, of course, for us as well: we should prefer alternative technologies to C++ when more adequate to solve a specific problem.<\/p>\n<p>The other reason adds some emotional component:<\/p>\n<blockquote>\n<p><em>I specifically wanted to do this in C++. No, not because I hate myself, but because I&#8217;m starting to see a resurgence of interest in C++.<\/em><\/p>\n<\/blockquote>\n<p>Well, I said emotional although mixed emotions in any case: how is that about hating oneself if someone chooses C++, Pete? \n<a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/02\/6165.wlEmoticon-hotsmile_126BF34D.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/02\/6165.wlEmoticon-hotsmile_126BF34D.png\" alt=\"Image 6165 wlEmoticon hotsmile 126BF34D\" width=\"19\" height=\"19\" class=\"alignleft size-full wp-image-29293\" \/><\/a>\nIn the same sentence, however, he opens the door to some hope when talking about a resurgence of interest in C++. He wanted to give C++ an opportunity to delight him back like before the rise of managed languages.<\/p>\n<p>I haven\u2019t talked to Pete for months. We used to report to the same manager a while ago when I was editorial director of MSDN Magazine but since I moved to Microsoft building 41 (where the Windows C++ team \u201clives\u201d) I lost all contact with him. Looks like if he sees some C++ resurgence out there, it wasn\u2019t me! \n<a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/02\/5187.wlEmoticon-smile_254076F7.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/02\/5187.wlEmoticon-smile_254076F7.png\" alt=\"Image 5187 wlEmoticon smile 254076F7\" width=\"19\" height=\"19\" class=\"alignleft size-full wp-image-29291\" \/><\/a><\/p>\n<p><em>Love is in the air<\/em> so, dear readers, blog followers and C++ lovers in general: let\u2019s keep beating our drum. Even louder. This is not about supplanting managed languages with C++, but just putting C++ back in the place it deserves as preferred technology to fully get the power and performance a platform features.<\/p>\n<p><a href=\"http:\/\/10rem.net\/blog\/2011\/02\/22\/creating-an-internet-explorer-add-in-toolbar-button-using-cplusplus-and-atl\" target=\"_blank\" rel=\"noopener\">His solution<\/a> may not have been the best as himself prevents:<\/p>\n<blockquote>\n<p><em>Keep in mind, I&#8217;m relearning C++. If I did something dumb, don&#8217;t hesitate to (nicely) point it out in the comments, especially if it&#8217;s something other people shouldn&#8217;t repeat in their own code.<\/em><\/p>\n<\/blockquote>\n<p>He finally states<\/p>\n<blockquote>\n<p><em>Works On My Machine.<\/em><\/p>\n<\/blockquote>\n<p>Period. <\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/02\/5516.wlEmoticon-angel_649E2A87.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/02\/5516.wlEmoticon-angel_649E2A87.png\" alt=\"Image 5516 wlEmoticon angel 649E2A87\" width=\"19\" height=\"19\" class=\"alignleft size-full wp-image-29292\" \/><\/a><\/p>\n<p>He just got three (3) comments by the time I\u2019m writing this, what makes sense to me as I don\u2019t believe that a huge crowd of C++ developers follow his blog. Why don\u2019t we help him tune up his C++ background by signaling areas of improvement? That may pay back if Pete feels encouragement to keep addressing us as one of his audiences in the near future.<\/p>\n<p>His approach is posted here: <a title=\"http:\/\/10rem.net\/blog\/2011\/02\/22\/creating-an-internet-explorer-add-in-toolbar-button-using-cplusplus-and-atl\" href=\"http:\/\/10rem.net\/blog\/2011\/02\/22\/creating-an-internet-explorer-add-in-toolbar-button-using-cplusplus-and-atl\">http:\/\/10rem.net\/blog\/2011\/02\/22\/creating-an-internet-explorer-add-in-toolbar-button-using-cplusplus-and-atl<\/a>.<\/p>\n<p>Is this signaling that we\u2019ll start seeing more C++ flirting from other community PMs?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>You may already know Pete Brown but if you don\u2019t, I\u2019ll briefly introduce him here: he\u2019s, like me, a Community Program Manager with Microsoft but while I\u2019m focused on C\/C++ languages and the Visual C++ tool, he\u2019s devoted to client-side development technologies (mainly WPF and Silverlight, with some Windows Phone 7 and XNA, a bit [&hellip;]<\/p>\n","protected":false},"author":293,"featured_media":35994,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[23,94],"class_list":["post-3393","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cplusplus","tag-atl","tag-ie-add-ins"],"acf":[],"blog_post_summary":"<p>You may already know Pete Brown but if you don\u2019t, I\u2019ll briefly introduce him here: he\u2019s, like me, a Community Program Manager with Microsoft but while I\u2019m focused on C\/C++ languages and the Visual C++ tool, he\u2019s devoted to client-side development technologies (mainly WPF and Silverlight, with some Windows Phone 7 and XNA, a bit [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/3393","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/users\/293"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/comments?post=3393"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/3393\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media\/35994"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media?parent=3393"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/categories?post=3393"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/tags?post=3393"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}