{"id":1765,"date":"2012-12-01T20:31:13","date_gmt":"2012-12-02T03:31:13","guid":{"rendered":"https:\/\/simpleprogrammer.com\/?p=1765"},"modified":"2026-03-11T01:50:36","modified_gmt":"2026-03-11T01:50:36","slug":"why-c-is-not-back","status":"publish","type":"post","link":"https:\/\/simpleprogrammer.com\/why-c-is-not-back\/","title":{"rendered":"Why C++ Is Not &#8220;Back&#8221;"},"content":{"rendered":"<p><a href=\"http:\/\/click.linksynergy.com\/link?id=8nGXBg4MgOA&amp;offerid=323085.10321&amp;type=2&amp;murl=https%3A%2F%2Fwww.udemy.com%2Flearn-c%2F\">Learn to Program with C++<\/a><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/ad.linksynergy.com\/fs-bin\/show?id=8nGXBg4MgOA&amp;bids=323085.10321&amp;type=2&amp;subid=0\" width=\"1\" height=\"1\" border=\"0\" \/><\/p>\n<p><a href=\"http:\/\/click.linksynergy.com\/link?id=8nGXBg4MgOA&amp;offerid=323085.10321&amp;type=2&amp;murl=https%3A%2F%2Fwww.udemy.com%2Flearn-c%2F\"><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/udemy-images.udemy.com\/course\/480x270\/10321_0ea1_7.jpg\" border=\"0\" \/><\/a><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/ad.linksynergy.com\/fs-bin\/show?id=8nGXBg4MgOA&amp;bids=323085.10321&amp;type=2&amp;subid=0\" width=\"1\" height=\"1\" border=\"0\" \/><\/p>\n<p>I love C++.<\/p>\n<p>C++ taught me how to really write code.<\/p>\n<p>Back in the day I would study the intricacies of the language, <a href=\"http:\/\/www.cplusplus.com\/reference\/stl\/\">Standard Template Library<\/a>, and all the nuances of memory management and pointer arithmetic.<\/p>\n<p>Those were some seriously good times.<\/p>\n<p>I remember reading <a href=\"http:\/\/www.amazon.com\/gp\/product\/B008E30L9A\/ref=as_li_ss_tl?ie=UTF8&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B008E30L9A&amp;linkCode=as2&amp;tag=makithecompsi-20\">Scott Meyers Effective C++ book series<\/a> over and over again.\u00a0 Each time I would learn something new or grasp more of how to use C++.<\/p>\n<p>I\u2019m saying all this just to let you know that <strong>I don\u2019t hate C++<\/strong>.<\/p>\n<p>I love C++.<\/p>\n<p>There are plenty of excellent developers I know today that still use C++ and teach others how to use it and there is nothing at all wrong with that. So what is the problem then?<\/p>\n<h2>The new message is wrong<\/h2>\n<p><a href=\"http:\/\/en.wikipedia.org\/wiki\/C%2B%2B11\">C++11 just came out<\/a> recently and it seems like there is this big resurgence in interest in C++ development.<\/p>\n<p><a href=\"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2012\/12\/announcer.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"background-image: none; padding-left: 0; padding-right: 0; display: inline; padding-top: 0; border: 0;\" title=\"announcer\" src=\"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2012\/12\/announcer_thumb.jpg\" alt=\"announcer\" width=\"483\" height=\"483\" \/><\/a><\/p>\n<p>Now don\u2019t get me wrong.\u00a0 C++11 is fantastic!\u00a0 I am in just about 100% agreement with all of the changes that have been made.<\/p>\n<p>C++ has definitely become much easier to use and it has even become more powerful.<\/p>\n<p>There is one thing it didn\u2019t become though\u2014and this is the most important\u2014more simple.<\/p>\n<p><strong>It seems that many of the seasoned developers have forgotten why we stopped using C++ and moved on to Java, C# and other modern languages.<\/strong><\/p>\n<p>Many younger or newer developers don\u2019t really know the history and are getting confused by the current C++ message and resurgence.<\/p>\n<p>Everyone keeps asking me if they need to learn C++, but just like my answer was a few years ago, it is the same today\u2014NO! Ok, so \u201cNO\u201d in caps is a bit harsh.\u00a0 A better answer is \u201cwhy?\u201d<\/p>\n<h2>Why do you want to learn C++?<\/h2>\n<p>There are only about three sensible reasons to learn C++ today that I can think of.<\/p>\n<ul>\n<li>You absolutely need to eke out every bit of performance possible out of your software and you would like to do that with a language that will support OO abstractions.<\/li>\n<li>You are writing code which will directly interface with raw hardware.\u00a0 (Example: you are writing a low level driver.)<\/li>\n<li>Memory control and timing is of absolute importance, so you must have completely deterministic behavior in your system and the ability to manually manage memory.\u00a0 (Think real time embedded operating system controlling a moving piece of machinery.)<\/li>\n<\/ul>\n<p>Now it is possible I missed a valid case, but chances are any other case is going to roughly fall into one of these three categories.<\/p>\n<p>Wait! Wait!\u00a0 What about portability? <a href=\"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2012\/12\/banghead.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-left: 0; padding-right: 0; display: inline; float: left; padding-top: 0; border: 0;\" title=\"banghead\" src=\"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2012\/12\/banghead_thumb.jpg\" alt=\"banghead\" width=\"240\" height=\"240\" \/><\/a> No!<\/p>\n<p><strong>Please don\u2019t learn C++ thinking that you will build software to work anywhere.<\/strong><\/p>\n<p>There are plenty of other options today for doing that and C++ is not nearly as portable as many people believe or tout.\u00a0 The lower level the abstraction is the more different each operating system and platform is.<\/p>\n<p>Also please don\u2019t tell me C++ gives you more power and control to do exactly what you need. <strong>Most software development is about managing complexity not about being able to twiddle bits at a lower level.<\/strong>\u00a0 In almost all cases of modern large scale software development, higher abstractions, not lower abstractions, are what you want.<\/p>\n<h2>But, I want to learn C++ anyway<\/h2>\n<p>Ok look, I know you think Windows 8 is cool and all the cool kids are learning C++ to write their Windows 8 applications, but you should know what is in the Kool-aid before you drink it.<\/p>\n<p>Writing C++ code is not a picnic. Even with all the changes in C++11, C++ is still a very difficult language to learn and an even more difficult one to master.<\/p>\n<p>You\u2019ve probably heard this common quote about C++:<\/p>\n<blockquote><p><em>C makes it easy to shoot yourself in the foot. C++ makes it harder, but when you do, you blow away your whole leg! \u2014 Bjarne Stroustrup<\/em><\/p><\/blockquote>\n<p><a href=\"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2012\/12\/gun.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-left: 0; padding-right: 0; display: inline; float: right; padding-top: 0; border: 0;\" title=\"gun\" src=\"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2012\/12\/gun_thumb.jpg\" alt=\"gun\" width=\"240\" height=\"240\" \/><\/a> And if you don\u2019t know who <a href=\"http:\/\/en.wikipedia.org\/wiki\/Bjarne_Stroustrup\">Bjarne<\/a> is, well, \u00a0he invented C++.<\/p>\n<p>So if he says that about the language, I am sure you can draw your own conclusions.<\/p>\n<p>I keep hearing that C++11 makes things so much easier now and that C++11 has fixed many of the problems of C++98.\u00a0 I don\u2019t doubt that it has. <strong>What it hasn\u2019t fixed is the size and scope of the language\u2014it has actually increased it.<\/strong><\/p>\n<p>Sure, you can use a subset of C++.\u00a0 Sure, you can use <a href=\"http:\/\/en.wikipedia.org\/wiki\/Smart_pointer\">smart pointers<\/a> in the new C++ to prevent you from having to manually manage memory.<\/p>\n<p>You can utilize <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/dd293608.aspx\">lambda expressions<\/a> to declare functions in-line instead of passing function pointers.\u00a0 Automatic type deduction is a much needed breath of fresh air. <strong>The problem is you still have to know the old way of doing everything and you have to understand exactly what is really going on when you are debugging a C++ program<\/strong> which is easily capable of <a href=\"http:\/\/lemniscape.blogspot.com\/2009\/02\/memory-stomp-strategies.html\">stomping memory<\/a> (something you probably have never even heard of if you were born in a managed code world.)<\/p>\n<p>You will encounter C++ code from 20 years ago and it will look like a different language entirely. Here is a list of actual interview questions that I used to ask C++ developers interviewing for a job I was hiring for.<\/p>\n<ol>\n<li>How many ways are there to initialize a primitive data type in C++ and what are they?<\/li>\n<li>Why should you declare a destructor as virtual?<\/li>\n<li>What does it mean that C++ supports overloading?<\/li>\n<li>What are examples of overloading in C++?<\/li>\n<li>What is name mangling in C++ and why is it used?<\/li>\n<li>What is an abstract base class?<\/li>\n<li>What is RTTI?<\/li>\n<li>How can you access a variable that is \u201chidden\u201d by another variable of the same name?<\/li>\n<li>What is a namespace and how is it used.<\/li>\n<li>What are the differences between a class and a struct in C++, and how does this compare to C?<\/li>\n<li>What are templates? How are they used?<\/li>\n<li>What is a copy constructor and when is it used, especially in comparison to the equal operator.<\/li>\n<li>What is the difference between a \u201cshallow\u201d and a \u201cdeep\u201d copy?<\/li>\n<li>What is the const operator and how is it used?<\/li>\n<li>What are the differences between passing by reference, passing by value, and passing by pointer in C++?<\/li>\n<li>When is it and when is it not a good idea to return a value by reference in C++?<\/li>\n<li>What is the difference between a variable created on the stack and one created on the heap?<\/li>\n<li>How do you free memory allocated dynamically for an array? What are the implications of just using delete?<\/li>\n<li>What is multiple inheritance? When should it be used?<\/li>\n<li>What is a pure virtual function?<\/li>\n<li>What does the keyword mutable do?<\/li>\n<li>What does the keyword volatile do?<\/li>\n<li>What is the STL?<\/li>\n<li>What is a Vector?<\/li>\n<li>What is contained in the &lt;algorithms&gt; header?<\/li>\n<li>What is the difference between #include &lt;iostream.h&gt; and #include &lt;iostream&gt;?<\/li>\n<li>What\u2019s the difference between \u201c++i\u201d and \u201ci++\u201d?<\/li>\n<li>What is short circuit evaluation? How can it be used? Why can is be dangerous?<\/li>\n<li>What is the \u2018,\u2019 operator?<\/li>\n<li>What is the only ternary operator? How is it used?<\/li>\n<li>What is the use of a const member function and how can it be used?<\/li>\n<li>How is try\/catch used in C++?<\/li>\n<li>Why should you never throw an exception in a destructor?<\/li>\n<li>What is the explicit keyword?<\/li>\n<li>What is the proper way to perform a cast in C++?<\/li>\n<li>What does inline do?<\/li>\n<\/ol>\n<p>Some of these questions have the same answers for C# or Java, but you can see from this list that C++ is very, very deep.\u00a0 There is just a very large amount to know about the language itself. C# and Java development are somewhat about learning the language, but much more about learning the libraries. C++ development is more about learning every nook and cranny of the language.<\/p>\n<h2>C++ is the wrong direction for the future<\/h2>\n<p>The big problem is that programming languages really need to get simpler and increase the level of abstraction not reduce it.<\/p>\n<p>There will always be a need for low level code, but a majority of the code that we write today is at a much higher level.<\/p>\n<p>I first jumped off the C++ ship many years ago when I finally could no longer make the argument that I could develop apps faster in C++ than C#. I held out for a long time trying to believe that all the investment I had made in C++ was not lost, but <strong>it turned out that C# simplified things to such a great degree that the extra power C++ gave me was not worth the extra responsibility.<\/strong><\/p>\n<p>Just as I was taking a break from writing this blog post, I happened to stumble across a new\u00a0<em>revitalized<\/em> project from Microsoft Research called <a href=\"https:\/\/www.touchdevelop.com\/\">touchdevelop<\/a>.\u00a0 This is the direction we need to go.<\/p>\n<p>We need programming languages to be even simpler to use, not more complex. Now don\u2019t get me wrong, you are pretty severely constrained in touchdevelop, but I believe something similar to this is the future. It seems that Microsoft is making a decent push for bringing C++ back to mainstream with C++ support in Window 8 and attempting to kill XNA, but I think there is a warped perception of the development community that seems to be entrenched in the minds of Windows OS developers about programmers wanting to use C++.<\/p>\n<p>I just don\u2019t ever see myself moving back to a more difficult language when I can write C# on just about every platform now.\u00a0 C# is not the perfect language, but it is very elegant and simple.<\/p>\n<h2>Some parting words about C++<\/h2>\n<p>With all I said above, I still believe that there is some value in learning C++.<\/p>\n<p>No, I\u2019m not trying to contradict myself here.<\/p>\n<p>Allow me to explain.<\/p>\n<p>If you can program in C++, you can program in any programming language.\u00a0 If you understand how stack and heap memory work, pointers and references and all the low level details that make C++ so tricky, it will help you when you are working at higher abstractions and in understanding how computers work in general.<\/p>\n<p><strong>My point of this post is not to bash C++ or bash people using C++ or teaching C++, but rather to blunt the message that seems to be being preached by an over eager C++ community.<\/strong><\/p>\n<p>Everyone is not going to become a C++ developer and they shouldn\u2019t need to be.\u00a0 While C++ may have the ability to make your program more efficient (in certain scenarios,) it is extremely unlikely to make you more efficient at creating your program (except in some extreme cases.)<\/p>\n<p>So, I am glad C++ got a much needed overhaul, but I don\u2019t think it is going to make a comeback any time soon, and that is a good thing.<\/p>\n<p><em>If you&#8217;re planning to learn a new language, do take a look at my course: <a href=\"https:\/\/simpleprogrammer.com\/store\/products\/learn-anything-quickly\/\">10 Steps to Learn Anything Quickly<\/a>.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Learn to Program with C++ I love C++. C++ taught me how to really write code. Back in the day I would study the intricacies of the language, Standard Template Library, and all the nuances of memory management and pointer arithmetic. Those were some seriously good times. I remember reading Scott Meyers Effective C++ book&#8230;<\/p>\n","protected":false},"author":2,"featured_media":24466,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[1634593,1934,264],"tags":[],"class_list":["post-1765","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-c-2","category-language","category-learning"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Why C++ Is Not &quot;Back&quot;<\/title>\n<meta name=\"description\" content=\"There are plenty of excellent developers I know today that still use C++ and teach others how to use it and there is nothing at all wrong with that. So what is the problem then? Why is C++ not &quot;back&quot;?\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/simpleprogrammer.com\/why-c-is-not-back\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Why C++ Is Not &quot;Back&quot;\" \/>\n<meta property=\"og:description\" content=\"There are plenty of excellent developers I know today that still use C++ and teach others how to use it and there is nothing at all wrong with that. So what is the problem then? Why is C++ not &quot;back&quot;?\" \/>\n<meta property=\"og:url\" content=\"https:\/\/simpleprogrammer.com\/why-c-is-not-back\/\" \/>\n<meta property=\"og:site_name\" content=\"Simple Programmer\" \/>\n<meta property=\"article:published_time\" content=\"2012-12-02T03:31:13+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-11T01:50:36+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2012\/12\/Why-C-Is-Not-Back.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"John Sonmez\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"John Sonmez\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/why-c-is-not-back\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/why-c-is-not-back\\\/\"},\"author\":{\"name\":\"John Sonmez\",\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/#\\\/schema\\\/person\\\/1abc70edfb189184827740310672de67\"},\"headline\":\"Why C++ Is Not &#8220;Back&#8221;\",\"datePublished\":\"2012-12-02T03:31:13+00:00\",\"dateModified\":\"2026-03-11T01:50:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/why-c-is-not-back\\\/\"},\"wordCount\":1840,\"commentCount\":410,\"image\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/why-c-is-not-back\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/simpleprogrammer.com\\\/wp-content\\\/uploads\\\/2012\\\/12\\\/Why-C-Is-Not-Back.png\",\"articleSection\":[\"C++\",\"Language\",\"Learning\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/simpleprogrammer.com\\\/why-c-is-not-back\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/why-c-is-not-back\\\/\",\"url\":\"https:\\\/\\\/simpleprogrammer.com\\\/why-c-is-not-back\\\/\",\"name\":\"Why C++ Is Not \\\"Back\\\"\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/why-c-is-not-back\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/why-c-is-not-back\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/simpleprogrammer.com\\\/wp-content\\\/uploads\\\/2012\\\/12\\\/Why-C-Is-Not-Back.png\",\"datePublished\":\"2012-12-02T03:31:13+00:00\",\"dateModified\":\"2026-03-11T01:50:36+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/#\\\/schema\\\/person\\\/1abc70edfb189184827740310672de67\"},\"description\":\"There are plenty of excellent developers I know today that still use C++ and teach others how to use it and there is nothing at all wrong with that. So what is the problem then? Why is C++ not \\\"back\\\"?\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/why-c-is-not-back\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/simpleprogrammer.com\\\/why-c-is-not-back\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/why-c-is-not-back\\\/#primaryimage\",\"url\":\"https:\\\/\\\/simpleprogrammer.com\\\/wp-content\\\/uploads\\\/2012\\\/12\\\/Why-C-Is-Not-Back.png\",\"contentUrl\":\"https:\\\/\\\/simpleprogrammer.com\\\/wp-content\\\/uploads\\\/2012\\\/12\\\/Why-C-Is-Not-Back.png\",\"width\":1280,\"height\":720},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/why-c-is-not-back\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/simpleprogrammer.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Why C++ Is Not &#8220;Back&#8221;\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/#website\",\"url\":\"https:\\\/\\\/simpleprogrammer.com\\\/\",\"name\":\"Simple Programmer\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/simpleprogrammer.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/#\\\/schema\\\/person\\\/1abc70edfb189184827740310672de67\",\"name\":\"John Sonmez\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/dc2f18dfa76e017566ce607de002d7abe4acfd5ec19a6db82c180b00867b8d94?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/dc2f18dfa76e017566ce607de002d7abe4acfd5ec19a6db82c180b00867b8d94?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/dc2f18dfa76e017566ce607de002d7abe4acfd5ec19a6db82c180b00867b8d94?s=96&d=mm&r=g\",\"caption\":\"John Sonmez\"},\"url\":\"https:\\\/\\\/simpleprogrammer.com\\\/author\\\/jsonmez\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Why C++ Is Not \"Back\"","description":"There are plenty of excellent developers I know today that still use C++ and teach others how to use it and there is nothing at all wrong with that. So what is the problem then? Why is C++ not \"back\"?","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/simpleprogrammer.com\/why-c-is-not-back\/","og_locale":"en_US","og_type":"article","og_title":"Why C++ Is Not \"Back\"","og_description":"There are plenty of excellent developers I know today that still use C++ and teach others how to use it and there is nothing at all wrong with that. So what is the problem then? Why is C++ not \"back\"?","og_url":"https:\/\/simpleprogrammer.com\/why-c-is-not-back\/","og_site_name":"Simple Programmer","article_published_time":"2012-12-02T03:31:13+00:00","article_modified_time":"2026-03-11T01:50:36+00:00","og_image":[{"width":1280,"height":720,"url":"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2012\/12\/Why-C-Is-Not-Back.png","type":"image\/png"}],"author":"John Sonmez","twitter_card":"summary_large_image","twitter_misc":{"Written by":"John Sonmez","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/simpleprogrammer.com\/why-c-is-not-back\/#article","isPartOf":{"@id":"https:\/\/simpleprogrammer.com\/why-c-is-not-back\/"},"author":{"name":"John Sonmez","@id":"https:\/\/simpleprogrammer.com\/#\/schema\/person\/1abc70edfb189184827740310672de67"},"headline":"Why C++ Is Not &#8220;Back&#8221;","datePublished":"2012-12-02T03:31:13+00:00","dateModified":"2026-03-11T01:50:36+00:00","mainEntityOfPage":{"@id":"https:\/\/simpleprogrammer.com\/why-c-is-not-back\/"},"wordCount":1840,"commentCount":410,"image":{"@id":"https:\/\/simpleprogrammer.com\/why-c-is-not-back\/#primaryimage"},"thumbnailUrl":"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2012\/12\/Why-C-Is-Not-Back.png","articleSection":["C++","Language","Learning"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/simpleprogrammer.com\/why-c-is-not-back\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/simpleprogrammer.com\/why-c-is-not-back\/","url":"https:\/\/simpleprogrammer.com\/why-c-is-not-back\/","name":"Why C++ Is Not \"Back\"","isPartOf":{"@id":"https:\/\/simpleprogrammer.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/simpleprogrammer.com\/why-c-is-not-back\/#primaryimage"},"image":{"@id":"https:\/\/simpleprogrammer.com\/why-c-is-not-back\/#primaryimage"},"thumbnailUrl":"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2012\/12\/Why-C-Is-Not-Back.png","datePublished":"2012-12-02T03:31:13+00:00","dateModified":"2026-03-11T01:50:36+00:00","author":{"@id":"https:\/\/simpleprogrammer.com\/#\/schema\/person\/1abc70edfb189184827740310672de67"},"description":"There are plenty of excellent developers I know today that still use C++ and teach others how to use it and there is nothing at all wrong with that. So what is the problem then? Why is C++ not \"back\"?","breadcrumb":{"@id":"https:\/\/simpleprogrammer.com\/why-c-is-not-back\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/simpleprogrammer.com\/why-c-is-not-back\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/simpleprogrammer.com\/why-c-is-not-back\/#primaryimage","url":"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2012\/12\/Why-C-Is-Not-Back.png","contentUrl":"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2012\/12\/Why-C-Is-Not-Back.png","width":1280,"height":720},{"@type":"BreadcrumbList","@id":"https:\/\/simpleprogrammer.com\/why-c-is-not-back\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/simpleprogrammer.com\/"},{"@type":"ListItem","position":2,"name":"Why C++ Is Not &#8220;Back&#8221;"}]},{"@type":"WebSite","@id":"https:\/\/simpleprogrammer.com\/#website","url":"https:\/\/simpleprogrammer.com\/","name":"Simple Programmer","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/simpleprogrammer.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/simpleprogrammer.com\/#\/schema\/person\/1abc70edfb189184827740310672de67","name":"John Sonmez","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/dc2f18dfa76e017566ce607de002d7abe4acfd5ec19a6db82c180b00867b8d94?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/dc2f18dfa76e017566ce607de002d7abe4acfd5ec19a6db82c180b00867b8d94?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/dc2f18dfa76e017566ce607de002d7abe4acfd5ec19a6db82c180b00867b8d94?s=96&d=mm&r=g","caption":"John Sonmez"},"url":"https:\/\/simpleprogrammer.com\/author\/jsonmez\/"}]}},"_links":{"self":[{"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/posts\/1765","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/comments?post=1765"}],"version-history":[{"count":1,"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/posts\/1765\/revisions"}],"predecessor-version":[{"id":47098,"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/posts\/1765\/revisions\/47098"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/media\/24466"}],"wp:attachment":[{"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/media?parent=1765"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/categories?post=1765"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/tags?post=1765"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}