{"id":1753,"date":"2013-02-18T13:30:00","date_gmt":"2013-02-18T13:30:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/vcblog\/2013\/02\/18\/in-the-community-meet-tom-serface\/"},"modified":"2019-02-18T18:41:15","modified_gmt":"2019-02-18T18:41:15","slug":"in-the-community-meet-tom-serface","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cppblog\/in-the-community-meet-tom-serface\/","title":{"rendered":"In the Community: Meet Tom Serface"},"content":{"rendered":"<p><span style=\"background-color: white\"><strong><em>Welcome to In the Community. This week, meet Tom Serface, C++ MVP and longtime Visual C++ user. <\/em><\/strong><\/span><\/p>\n<p><span style=\"background-color: white\">I have been using VC++ with MFC since it first came out circa 1993 and I saw it demonstrated at a local Software Development show. I&#8217;ve been working for Rimage Corporation for just over 25 years developing software to make our optical disc publishing hardware work. My software is mostly written in C++, but we also use C# and C#\/ASP.NET. <\/span><\/p>\n<p><span style=\"background-color: white\">I have a snippet blog at <a href=\"http:\/\/www.camaswood.com\/tech\"><span style=\"font-family: Segoe UI;font-size: 10pt\">www.camaswood.com\/tech<\/span><\/a> where I list tricks that I think are useful.<\/span><br \/><span style=\"background-color: white\">&nbsp;<\/span><br \/><span style=\"background-color: white\">When I&#8217;m not working I enjoy hanging out with my family, playing guitar, traveling, and taking my dogs for walks. My family enjoys watching Survivor on Wednesday nights and we&#8217;re not even embarrassed by it.<\/span><\/p>\n<h2>C++ in 140 characters or less?<\/h2>\n<p>It&#8217;s kind of like a super hero; power and responsibility. It&#8217;s sometimes more complex, but it allows you to control every aspect of your experience. C++ can be very simple, or as complex as needed.<\/p>\n<h2>Why C++?<\/h2>\n<p>I started off life as a C programmer. When C++ came out it was just the natural progression. These days I spend my time equally in many paradigms, but almost all of them still include C++. It has proven itself over and over.<\/p>\n<h2>What do you like most about C++?<\/h2>\n<p>Most of all, like everyone else, I like the performance. I also like that you control the way your code is produced. C++ allows me to create and use objects when I want, or go all the way down to the bare metal. I especially think C++ is still the best way to create desktop programs. I have some programs that are included on optical discs that can&#8217;t have dependency on outside assemblies. C++ allows me to make great looking statically linked programs that will run on any version of Windows.<\/p>\n<h2>Least?<\/h2>\n<p>Because of its low-level-ness C++ isn&#8217;t as easy to integrate with some of the tools in Visual Studio so it often lags behind from release to release. I think C++ is being held back by the need to adhere to slow moving standards. When VC++ first came out, the goal was &#8220;to create great Windows programs quickly that work and look good&#8221; Back then, MSVC++ was mostly tailored for compling code that was being used on Microsoft Windows, and not so concerned about being portable or &#8220;standard&#8221;. For me, that was much more productive since I only write Windows programs. Other Microsoft syntaxes don&#8217;t have those same restrictions so they can live up to the credo VC++ started. The abundance of available libraries make other Microsoft syntaxes appealing as well.<\/p>\n<h2>What advice would you give new C++ developers?<\/h2>\n<p>My advice is to just start doing it. Start with something simple, but then give yourself a real project to work on. C++ is easiest to learn in the trenches. There are a ton of good books and blogs. When you need to learn how to do something Bing is your friend and I think just looking for answers to questions as they arise is a great way to learn. Copying code from a book (tutorial) just doesn&#8217;t do anything for me.<\/p>\n<h2>Do you have any favorite C++ favorite authors or books?<\/h2>\n<p>It depends on what you&#8217;re trying to learn, but from my perspective of being an MFC fan I think Jeff Procise&#8217;s book &#8220;Programming Windows with MFC&#8221; is still a great place to start. It&#8217;s a bit dated, but it works.<\/p>\n<h2>Where are your favorite technical places on the Web?<\/h2>\n<p>I use <a href=\"http:\/\/www.codeproject.com\">www.codeproject.com<\/a> a lot. Other than that I use search engines, like Bing, all the time to look up information, syntax, etc. The MSDN forums are a good place to ask questions, but my experience has been that so many questions have been asked about C++ you are better off using a search engine first and you will likely find several immediate answers. There is a ton of useful information available almost in a heartbeat.<\/p>\n<h2>What community contribution have you done recently which are you most proud of?<\/h2>\n<p>I used to spend a lot of time on support forums, but I found that there are so many people answering questions there these days that before I could get in most questions had been answered; often several times. That&#8217;s a great thing for the community, but not so great for needing me to participate there. I update my blog website periodically with real life code snippets from my programs. I&#8217;ve had lots of feedback from people who appreciate it. I also work with people locally and all over the web trying to move to newer versions of the IDE and compiler. Recently we&#8217;re starting to organize a local computer club in my small town.<\/p>\n<h2>What question should I have asked?<\/h2>\n<p>What&#8217;s next for C++?<\/p>\n<h2>And the answer?<\/h2>\n<p>C++ has come a longs ways towards competing in the new Microsoft mix on Windows 8. It will take some time for Windows 8 to proliferate to devices and new machines to replace the old. C++ is also still a great platform for creating fast, small desktop programs. Windows 8 makes the desktop experience a little less in the forefront, but there will be people with Windows machines on their desk for a really long time; perhaps forever. I feel like the desktop is here to stay for the foreseeable future and C++\/MFC will still play a major role in that area; especially given the number of legacy programs that need to be maintained.<\/p>\n<p>I join with my peers in wishing there was an expanded desktop framework for C++\/Desktop\/UI development, but I fear that will not happen. Most of the momentum seems to be towards the Win\/RT direction. Still, I think Windows will continue to live as a Janus (the Roman god of transitions and beginnings &ndash; with two faces) of sorts with one face supporting the vertical plane (tablet) and the other supporting the horizontal (desktop). Most saavy C++ programs will try to build on both paradigms. I&#8217;d love to see Microsoft provide better support tools for migrating older native programs to the new WinRT platform so the code could be shared. C++ may well end up living in the back end with other, easier to do UI, languages in the front.<\/p>\n<p>Still, I can&#8217;t help but believe if we could have the small footprint and quick execution of C++\/MFC with a full featured UI builder, like other .NET languages have, we&#8217;d have a killer.<\/p>\n<p>One last thing&hellip; C++ is always a great back end for any program. So, even if C#, or something other syntax, is used C++ is always available to do a lot of the real work in the program where speed is an imperative. If we had a better integration paradigm that would also be a huge boon.<\/p>\n<p><strong><em>Thanks Tom. Community, what do you think should be next for C++?<\/em><\/strong><\/p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Welcome to In the Community. This week, meet Tom Serface, C++ MVP and longtime Visual C++ user. I have been using VC++ with MFC since it first came out circa 1993 and I saw it demonstrated at a local Software Development show. I&#8217;ve been working for Rimage Corporation for just over 25 years developing software [&hellip;]<\/p>\n","protected":false},"author":264,"featured_media":35994,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[182],"class_list":["post-1753","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cplusplus","tag-inthecommunity"],"acf":[],"blog_post_summary":"<p>Welcome to In the Community. This week, meet Tom Serface, C++ MVP and longtime Visual C++ user. I have been using VC++ with MFC since it first came out circa 1993 and I saw it demonstrated at a local Software Development show. I&#8217;ve been working for Rimage Corporation for just over 25 years developing software [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/1753","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\/264"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/comments?post=1753"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/1753\/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=1753"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/categories?post=1753"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/tags?post=1753"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}