{"id":18934,"date":"2016-12-22T10:00:04","date_gmt":"2016-12-22T15:00:04","guid":{"rendered":"https:\/\/simpleprogrammer.com\/?p=18934"},"modified":"2016-12-20T13:40:41","modified_gmt":"2016-12-20T18:40:41","slug":"what-does-cc-mean","status":"publish","type":"post","link":"https:\/\/simpleprogrammer.com\/what-does-cc-mean\/","title":{"rendered":"What Does C\/C++ Mean?"},"content":{"rendered":"<p>So, I&#8217;ve seen a lot of people asking me this question, about what does C\/C++ mean.<\/p>\n<p>Well, for new software developers this might not make any sense, after all, why do these companies put in their job listing &#8220;we want a C\/C++ developer&#8221;?<\/p>\n<p>I&#8217;ve had this doubt myself back then and this is totally normal.<\/p>\n<p>This is exactly what George asked me:<br \/>\n&#8220;What I don&#8217;t understand is why I always see C\/C++ in the job listing, as far as I know those are different languages and somebody told me that C is mostly for hardware and embedded devices and I&#8217;m currently not that interested in that but why do we always see the C\/C++ thing and not only one language, do people really always use both languages at the same job?Is it a bad idea to leave C aside and focus on C++ because I am really interested in competitive programming right now?&#8221;<\/p>\n<p>So, do you wanna know why some companies ask for C\/C++ programmers? Watch this video and find out!<\/p>\n<p><center><\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/www.youtube.com\/embed\/3bCtm3Cyv2E?list=PLjwWT1Xy3c4U4xrSdGiN9fh04NjHoNwTq\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<p><\/center><strong>Transcripts From The Video<\/strong><\/p>\n<p><strong>John Sonmez:\u00a0<\/strong>Hey, what\u2019s up, John Sonmez from <a href=\"https:\/\/simpleprogrammer.com\">simpleprogrammer.com<\/a>. Today we\u2019re going to be talking about C and C++. I\u2019ve got this question\u2014I thought this was a good one. I haven\u2019t really seen too many people ask this question, but I know that a lot of people are confused by it. I was confused by this earlier on in my career. It\u2019s titled C\/C++ Confusion. This question comes from George and he says, \u201cWhat I don\u2019t understand is why I always see C\/C++ in the job listing, as far as I know those are different languages and somebody told me that C is mostly for hardware and embedded devices and I\u2019m currently not that interested in that, but why do we always see the C\/C++ thing and not only one language? Do people really always use both languages at the same jobs? Is it a bad idea to leave C aside and focus on C++ because I am really interested in competitive programming right now?\u201d<\/p>\n<p>This is a good question. This is something that I had often wondered about. I can tell you about this from my\u2014if I go way back to my early days of programming as a C\/C++ developer, mostly a C++ developer and I can tell you why that this exists.<\/p>\n<p>The primary reason why this exists\u2014well, let\u2019s talk about the languages. C++ is a super set of C for the most part. Now, there are some small exceptions to this, but for the most part, everything that is valid in C is valid in C++ and so C++ is C plus more, C plus plus hence the name. But everything in C++ is not compatible with C. You can\u2019t write C++ code and run it in the C compiler, but you can take C code for the most part and run it in C++ because C++ is a super set.<\/p>\n<p>That\u2019s where this initially comes from is essentially you can write C code and you can use it in C++. Now there are different styles of writing the code because C is a procedural language. It\u2019s not object oriented where C++ is object oriented, although there are ways to write object oriented C now, so I hear, sounds scary to me.<\/p>\n<p>So now why do we have this confusion? Why do jobs say C\/C++? Well, it\u2019s because there\u2019s a lot of developers especially on legacy systems and some old, old school developers that have been writing C\/C++ code for a long time, especially ones that have been writing C code for a long time who don\u2019t really know the difference and sort of mix it together, a lot.<\/p>\n<p>What I found commonly, I worked at a little company called Hewlett Packard for a while and I worked on some of the firmware there on some of the printers and it was C\/C++. It was literally C\/C++ because what you had was you had a lot of firmware developers that were old school C developers, okay? Some new fangled kid came in and said, \u201cYou guys start doing C++ and object oriented programming.\u201d They said, \u201cNo!\u201d and he said, \u201cWell that\u2019s what we\u2019re doing.\u201d So they started using C++ but they started writing the C++ code as if it were C. they didn\u2019t use objects or they created these huge\u2014we call them God objects, it\u2019s a codes mountain and they would write it just like C. So there\u2019s a lot of code out there that is written that way so you\u2019ve got to have the C\/C++ skills.<\/p>\n<p>You\u2019re essentially using the C++ language features but you\u2019re abusing them because you\u2019re not writing them in an object oriented way. That\u2019s what a lot of development environments that are kind of old school in that way have that C\/C++. Because the languages can technically be mixed because you can technically use C++ features and write them in a C way or you can use write C code and put it into C++ compiler that\u2019s why you see that so often.<\/p>\n<p>Now as far as recommendations, if you\u2019re a C++ developer you should have some familiarity with C. You\u2019re going to have to know C. If you learn C++\u2014if you know CC++ you know C. You just don\u2019t know how to write idiomatic C, so you might want to look at how people write idiomatic C especially in low level firmware stuff. Although a lot of it is C++ now and gain that understanding. In general, if you know C++ you can look at C code and understand what it\u2019s doing.<\/p>\n<p>There are some contexts, some arguments for writing C instead of C++, C++ is a lot more complicated than C and there\u2019re plenty of environments where they just do plain C. But I would not invest heavily into plain C. I don\u2019t think that\u2019s a good investment. I did a video on how to learn C++ and I basically said not to do that and I still kind of stand by that. I mean if you want to learn C++ it will make you really smart, too smart and it will be really hard, but it\u2019s rewarding because it\u2019s a difficult language to learn. There\u2019s a lot to learn and a lot of ways to blow your whole foot off as the creator of C++ Bjarne Stroustrup famously said.<\/p>\n<p>There you have it. That\u2019s where we\u2019ve got that little bit of history. If someone else has some background on this and would like to chime in, leave a comment below. If you\u2019ve got a question for me, you can email me at <a href=\"mailto:john@simpleprogrammer.com\">john@simpleprogrammer.com<\/a>. If you liked this video, if you want to subscribe to the channel, just go ahead and click that subscribe button below and you\u2019ll get more videos like this one about all kinds of programming, topics, life, career, philosophy, fitness, you name it. We talk about it here on this channel as it relates to a software developer\u2019s life and beyond. I\u2019ll talk to you next time. Take care.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>So, I&#8217;ve seen a lot of people asking me this question, about what does C\/C++ mean. Well, for new software developers this might not make any sense, after all, why do these companies put in their job listing &#8220;we want a C\/C++ developer&#8221;? I&#8217;ve had this doubt myself back then and this is totally normal&#8230;.<\/p>\n","protected":false},"author":2,"featured_media":18935,"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":[162229169],"tags":[],"class_list":["post-18934","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-youtube"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>What Does C\/C++ Mean? - Simple Programmer<\/title>\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\/what-does-cc-mean\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What Does C\/C++ Mean? - Simple Programmer\" \/>\n<meta property=\"og:description\" content=\"So, I&#8217;ve seen a lot of people asking me this question, about what does C\/C++ mean. Well, for new software developers this might not make any sense, after all, why do these companies put in their job listing &#8220;we want a C\/C++ developer&#8221;? I&#8217;ve had this doubt myself back then and this is totally normal....\" \/>\n<meta property=\"og:url\" content=\"https:\/\/simpleprogrammer.com\/what-does-cc-mean\/\" \/>\n<meta property=\"og:site_name\" content=\"Simple Programmer\" \/>\n<meta property=\"article:published_time\" content=\"2016-12-22T15:00:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2016\/12\/What-Does-C-CPlus-Mean.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=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/what-does-cc-mean\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/what-does-cc-mean\\\/\"},\"author\":{\"name\":\"John Sonmez\",\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/#\\\/schema\\\/person\\\/1abc70edfb189184827740310672de67\"},\"headline\":\"What Does C\\\/C++ Mean?\",\"datePublished\":\"2016-12-22T15:00:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/what-does-cc-mean\\\/\"},\"wordCount\":1252,\"commentCount\":1,\"image\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/what-does-cc-mean\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/simpleprogrammer.com\\\/wp-content\\\/uploads\\\/2016\\\/12\\\/What-Does-C-CPlus-Mean.png\",\"articleSection\":[\"YouTube\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/simpleprogrammer.com\\\/what-does-cc-mean\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/what-does-cc-mean\\\/\",\"url\":\"https:\\\/\\\/simpleprogrammer.com\\\/what-does-cc-mean\\\/\",\"name\":\"What Does C\\\/C++ Mean? - Simple Programmer\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/what-does-cc-mean\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/what-does-cc-mean\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/simpleprogrammer.com\\\/wp-content\\\/uploads\\\/2016\\\/12\\\/What-Does-C-CPlus-Mean.png\",\"datePublished\":\"2016-12-22T15:00:04+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/#\\\/schema\\\/person\\\/1abc70edfb189184827740310672de67\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/what-does-cc-mean\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/simpleprogrammer.com\\\/what-does-cc-mean\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/what-does-cc-mean\\\/#primaryimage\",\"url\":\"https:\\\/\\\/simpleprogrammer.com\\\/wp-content\\\/uploads\\\/2016\\\/12\\\/What-Does-C-CPlus-Mean.png\",\"contentUrl\":\"https:\\\/\\\/simpleprogrammer.com\\\/wp-content\\\/uploads\\\/2016\\\/12\\\/What-Does-C-CPlus-Mean.png\",\"width\":1280,\"height\":720},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/what-does-cc-mean\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/simpleprogrammer.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"What Does C\\\/C++ Mean?\"}]},{\"@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":"What Does C\/C++ Mean? - Simple Programmer","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\/what-does-cc-mean\/","og_locale":"en_US","og_type":"article","og_title":"What Does C\/C++ Mean? - Simple Programmer","og_description":"So, I&#8217;ve seen a lot of people asking me this question, about what does C\/C++ mean. Well, for new software developers this might not make any sense, after all, why do these companies put in their job listing &#8220;we want a C\/C++ developer&#8221;? I&#8217;ve had this doubt myself back then and this is totally normal....","og_url":"https:\/\/simpleprogrammer.com\/what-does-cc-mean\/","og_site_name":"Simple Programmer","article_published_time":"2016-12-22T15:00:04+00:00","og_image":[{"width":1280,"height":720,"url":"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2016\/12\/What-Does-C-CPlus-Mean.png","type":"image\/png"}],"author":"John Sonmez","twitter_card":"summary_large_image","twitter_misc":{"Written by":"John Sonmez","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/simpleprogrammer.com\/what-does-cc-mean\/#article","isPartOf":{"@id":"https:\/\/simpleprogrammer.com\/what-does-cc-mean\/"},"author":{"name":"John Sonmez","@id":"https:\/\/simpleprogrammer.com\/#\/schema\/person\/1abc70edfb189184827740310672de67"},"headline":"What Does C\/C++ Mean?","datePublished":"2016-12-22T15:00:04+00:00","mainEntityOfPage":{"@id":"https:\/\/simpleprogrammer.com\/what-does-cc-mean\/"},"wordCount":1252,"commentCount":1,"image":{"@id":"https:\/\/simpleprogrammer.com\/what-does-cc-mean\/#primaryimage"},"thumbnailUrl":"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2016\/12\/What-Does-C-CPlus-Mean.png","articleSection":["YouTube"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/simpleprogrammer.com\/what-does-cc-mean\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/simpleprogrammer.com\/what-does-cc-mean\/","url":"https:\/\/simpleprogrammer.com\/what-does-cc-mean\/","name":"What Does C\/C++ Mean? - Simple Programmer","isPartOf":{"@id":"https:\/\/simpleprogrammer.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/simpleprogrammer.com\/what-does-cc-mean\/#primaryimage"},"image":{"@id":"https:\/\/simpleprogrammer.com\/what-does-cc-mean\/#primaryimage"},"thumbnailUrl":"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2016\/12\/What-Does-C-CPlus-Mean.png","datePublished":"2016-12-22T15:00:04+00:00","author":{"@id":"https:\/\/simpleprogrammer.com\/#\/schema\/person\/1abc70edfb189184827740310672de67"},"breadcrumb":{"@id":"https:\/\/simpleprogrammer.com\/what-does-cc-mean\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/simpleprogrammer.com\/what-does-cc-mean\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/simpleprogrammer.com\/what-does-cc-mean\/#primaryimage","url":"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2016\/12\/What-Does-C-CPlus-Mean.png","contentUrl":"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2016\/12\/What-Does-C-CPlus-Mean.png","width":1280,"height":720},{"@type":"BreadcrumbList","@id":"https:\/\/simpleprogrammer.com\/what-does-cc-mean\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/simpleprogrammer.com\/"},{"@type":"ListItem","position":2,"name":"What Does C\/C++ Mean?"}]},{"@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\/18934","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=18934"}],"version-history":[{"count":0,"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/posts\/18934\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/media\/18935"}],"wp:attachment":[{"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/media?parent=18934"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/categories?post=18934"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/tags?post=18934"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}