{"id":17340,"date":"2016-08-01T08:00:46","date_gmt":"2016-08-01T12:00:46","guid":{"rendered":"https:\/\/simpleprogrammer.com\/?p=17340"},"modified":"2018-02-21T15:34:16","modified_gmt":"2018-02-21T20:34:16","slug":"learn-programming-language","status":"publish","type":"post","link":"https:\/\/simpleprogrammer.com\/learn-programming-language\/","title":{"rendered":"What Programming Language Should I Learn?"},"content":{"rendered":"<p>One of the most common questions I get from new programmers starting out in the field of software development is which programming language they should learn.<\/p>\n<p>For some aspiring developers, this question ends up being a stumbling block they never get over.<\/p>\n<p>I\u2019ve coached plenty of developers who were always second-guessing themselves or changing their minds, jumping from programming language to programming language, always worrying about making the wrong decision. They stress over the question, &#8220;What programming should I learn?&#8221;<\/p>\n<p>If you\u2019ve stressed over this, then this post is for you.<\/p>\n<p>First, I\u2019m going to dispel some of that doubt; then I\u2019ll give you some real practical considerations for choosing your first programming language to learn.<\/p>\n<h3><b>The Actual Language Doesn\u2019t Matter All That Much<\/b><\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-17375\" src=\"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2016\/08\/Untitled-1-1-1024x576.png\" alt=\"What Programming Language Should I Learn First?\" width=\"716\" height=\"403\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Yes, you read that right. <\/span><a href=\"https:\/\/simpleprogrammer.com\/2013\/12\/02\/programming-language-learn\/\"><span style=\"font-weight: 400;\">What language you learn doesn\u2019t actually matter nearly as much as you might think it does.<\/span><\/a><\/p>\n<p><span style=\"font-weight: 400;\">There are several reasons I make this statement, but one of the main ones is because so <\/span><b>many programming languages, at their core, are very similar. <\/b><span style=\"font-weight: 400;\">Yes, the syntax is different. Yes, programming languages may look different. They may even have completely different sets of features.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">However, at their core, all programming languages share more than you might first suspect. <\/span><b>Almost all programming languages will have:<\/b><\/p>\n<ul>\n<li><b>basic constructs for branching<\/b><\/li>\n<li><strong>basic constructs for Looping<\/strong><\/li>\n<li><strong>calling methods or procedures<\/strong><\/li>\n<li><strong>a way to organize code at a high level<\/strong><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Many programming languages are so similar that if you know one language, you almost already know the other. C# and Java are pretty good examples. JavaScript is very similar to both of those.<\/span><\/p>\n<p><b>Learning your first programming language is always the most difficult<\/b><span style=\"font-weight: 400;\">. Once you learn a programming language, though, learning a second one is easier. After you know two or more programming languages, each additional programming language is exponentially easier to learn.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">If you don\u2019t even know one programming language well\u2014or at all\u2014it might be difficult to believe these statements, but <\/span><b>I\u2019ve learned <\/b><a href=\"https:\/\/simpleprogrammer.com\/2013\/06\/02\/after-completing-40-online-training-courses-for-pluralsight-what-have-i-learned\/\"><b>at least 10 different programming languages<\/b><\/a><b> over the course of my career<\/b><span style=\"font-weight: 400;\">. I can guarantee you that the first and second ones were by far the most difficult.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Not only are programming languages more similar than you might think, but you\u2019ll also easily be able to switch to a different programming language and learn it later on.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">That means, even if you learn one programming language and decide it\u2019s not the right one, or you get a job where you\u2019d be using a different programming language, it\u2019s not a big deal. You\u2019ve already done the hard work of learning your first programming language.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">You\u2019ll also probably find that many developer jobs\u2014<\/span><a href=\"http:\/\/www.amazon.com\/exec\/obidos\/ASIN\/0316099988\/makithecompsi-20\"><span style=\"font-weight: 400;\">especially at big companies like Microsoft or Google<\/span><\/a><span style=\"font-weight: 400;\">\u2014don\u2019t require that you know a specific programming language. I\u2019ve even had plenty of interviews where I was asked to solve a programming problem in <\/span><b>whatever language I felt most comfortable<\/b><span style=\"font-weight: 400;\"> doing it in. There were no constraints and no one specific language that I absolutely needed to know.<\/span><\/p>\n<h3><b>Considerations for Picking a Programming Language<\/b><\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-17377\" src=\"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2016\/08\/Untitled-2-5-1024x576.png\" alt=\"Pick A Programming Language\" width=\"729\" height=\"410\" srcset=\"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2016\/08\/Untitled-2-5-1024x576.png 1024w, https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2016\/08\/Untitled-2-5-300x169.png 300w, https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2016\/08\/Untitled-2-5-768x432.png 768w, https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2016\/08\/Untitled-2-5.png 1280w\" sizes=\"auto, (max-width: 729px) 100vw, 729px\" \/><br \/>\n<span style=\"font-weight: 400;\">Therefore, <\/span>I really don\u2019t think it matters all that much what programming language you decide to learn first when you&#8217;re looking to <a href=\"https:\/\/simpleprogrammer.com\/how-to-become-a-software-developer\/\">become a software developer<\/a><span style=\"font-weight: 400;\">, but if you are still having some trouble making a decision, <strong>here\u2019s a list of 5 things to consider:<\/strong><\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><strong>Job prospects and future<\/strong><\/li>\n<li style=\"font-weight: 400;\"><strong>Technology that you\u2019re interested in<\/strong><\/li>\n<li style=\"font-weight: 400;\"><strong>Difficulty level<\/strong><\/li>\n<li style=\"font-weight: 400;\"><strong>Resources available to you<\/strong><\/li>\n<li style=\"font-weight: 400;\"><strong>Adaptability<\/strong><\/li>\n<\/ul>\n<h3><b>1. Job Prospects and Future<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">I\u2019d say, for most of you, <\/span><b>the most important thing to consider is what jobs a particular programming language is likely to help you get<\/b><span style=\"font-weight: 400;\"> and what the future of that language is.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Now, for most popular programming languages, at any given time there are going to be plenty of jobs available. Different programming languages may rise or fall in popularity, but if you are concerned with job availability, you might want to consider one of the main, popular programming languages.<\/span><\/p>\n<p><b>At the time of writing this book, I\u2019d say the most popular programming languages are:<\/b><\/p>\n<ul>\n<li><b>C#<\/b><\/li>\n<li><strong>Java<\/strong><\/li>\n<li><strong>Python<\/strong><\/li>\n<li><strong>Ruby<\/strong><\/li>\n<li><strong>JavaScript<\/strong><\/li>\n<li><strong>C++<\/strong><\/li>\n<li><strong>PHP<\/strong><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">There is no shortage of jobs for developers who program in one of these languages.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">That said, depending on where you live in the world, you may need to be a bit more selective if you aren\u2019t willing to relocate. For example, if you live in some small town in Arkansas and there is only one technology company and that technology company does everything in Java, I suggest you <\/span><a href=\"https:\/\/www.youtube.com\/watch?v=OrUL2zCNBXM\"><span style=\"font-weight: 400;\">learn you some Java<\/span><\/a><span style=\"font-weight: 400;\">. I would imagine for most people this won\u2019t be the case, but if it is you, then I guess your decision is pretty easy. <\/span><br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\" wp-image-17379 alignright\" src=\"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2016\/08\/Freelancing-1-1024x1024.png\" alt=\"Freelancing\" width=\"357\" height=\"357\" \/><\/p>\n<p><b>If you are willing to relocate or you are planning on doing freelance programming, you could probably <\/b><a href=\"https:\/\/simpleprogrammer.com\/2014\/04\/28\/well-biggest-mistake-make-software-development-career\/\"><b>specialize in a more eccentric and less widely used language<\/b><\/a> <span style=\"font-weight: 400;\">and do pretty well being an expert in an area where there are few experts. But, if you are just starting out, I\u2019d try to stick to something a bit more mainstream.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Another consideration to take into account, along with job prospects, is <\/span><b>what the future is likely to hold for the programming language you are considering<\/b><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">At the time of writing this book, Objective-C would probably not be a good choice of a language to get started in, simply because most iOS developers are switching to Swift, and Apple is heavily investing in the <\/span><a href=\"http:\/\/www.amazon.com\/exec\/obidos\/ASIN\/0134398017\/makithecompsi-20\"><span style=\"font-weight: 400;\">Swift programming language<\/span><\/a><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">If you\u2019ve already been programming in Objective-C, I wouldn\u2019t worry; there will still be plenty of jobs and legacy Objective-C applications to maintain. It just might not be the best choice for the future. Of course, none of us have a crystal ball, so <\/span><b>it\u2019s pretty difficult to predict which languages are going to be popular and which ones aren\u2019t<\/b><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><a href=\"https:\/\/simpleprogrammer.com\/2013\/05\/06\/why-javascript-is-doomed\/\"><span style=\"font-weight: 400;\">A while back I predicted the death of JavaScript.<\/span><\/a><span style=\"font-weight: 400;\"> That didn\u2019t exactly happen. I just went to a conference where one of the speakers was a co-inventor of Objective-C, which first came into being in the early 1980s.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The speaker, Tom Love, wrote a book in which he basically stated that the JavaScript language was dead. At the time of writing this book, it\u2019s now one of the top five most-used programming languages in the world. (I\u2019ve heard it claimed to be number three.)<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The point is, <\/span><b>you never know what is going to happen<\/b><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Ruby took years before it became popular. JavaScript is arguably one of the worst designed languages ever and was originally used for making little pop-up or alert boxes on web pages; now it\u2019s an extremely popular language.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">So, don\u2019t try and guess the future, unless you do have a crystal ball. In which case, forget programming. Wall Street is where you need to be.<\/span><\/p>\n<h3><\/h3>\n<h3><b>2. Technology That You Are Interested In<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">One excellent consideration when picking a programming language is simply what technology you are interested in. If you start with a technology, the programming language choice may be easier.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">I know plenty of developers who are interested in developing Android apps because they love the technology. For most of them, Java is going to make sense because that is the native language in which to develop Android applications. (Although, you could also develop Android applications in many other languages, like C#, Ruby, and even JavaScript.)<\/span><\/p>\n<p><b>It definitely doesn\u2019t hurt to pick your first language based on what you are most interested most<\/b><span style=\"font-weight: 400;\">, because learning your first programming language can be difficult. The more you are interested in and excited about what you are learning, the easier it will be to stick with it and get through the difficult parts of the learning curve.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">I really wanted to develop an iOS application because I had just gotten an iPhone, and I was excited about the technology. That excitement made it much easier for me to learn Objective-C and <\/span><a href=\"https:\/\/simpleprogrammer.com\/2011\/06\/09\/pacemaker-for-iphone-released\/\"><span style=\"font-weight: 400;\">build my first iOS app<\/span><\/a><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><b>Had I not been excited about the technology, I probably wouldn\u2019t have made it very far<\/b><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Don\u2019t be afraid to pick a programming language based on what excites you or what you are interested in. Your enthusiasm can carry you through the rough patches in the learning process.<\/span><\/p>\n<h3><\/h3>\n<h3><b>3. Difficulty Level<\/b><\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-17382\" src=\"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2016\/08\/Depositphotos_29270411_l-2015-1-1-1024x682.jpg\" alt=\"How To Learn Programming\" width=\"706\" height=\"470\" srcset=\"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2016\/08\/Depositphotos_29270411_l-2015-1-1-1024x682.jpg 1024w, https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2016\/08\/Depositphotos_29270411_l-2015-1-1-300x200.jpg 300w, https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2016\/08\/Depositphotos_29270411_l-2015-1-1-768x512.jpg 768w, https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2016\/08\/Depositphotos_29270411_l-2015-1-1-1536x1024.jpg 1536w, https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2016\/08\/Depositphotos_29270411_l-2015-1-1.jpg 2000w\" sizes=\"auto, (max-width: 706px) 100vw, 706px\" \/><br \/>\n<span style=\"font-weight: 400;\">Another major consideration would be difficulty level.<\/span><\/p>\n<p><b>Some programming languages are just much more difficult to learn than others.<\/b><\/p>\n<p><a href=\"https:\/\/simpleprogrammer.com\/2012\/12\/01\/why-c-is-not-back\/\"><span style=\"font-weight: 400;\">I usually don\u2019t recommend starting out by learning C++<\/span><\/a><span style=\"font-weight: 400;\"> because, in comparison to many other programming languages, <\/span><a href=\"https:\/\/www.youtube.com\/watch?v=sXr2gRk8nco\"><span style=\"font-weight: 400;\">C++ is rather difficult to learn<\/span><\/a><span style=\"font-weight: 400;\">. C++ has you dealing with managing memory and pointers and quite a few other nasty constructs that can throw a beginner for a loop. It\u2019s a great language\u2014still one of my favorites\u2014but not the easiest one to learn.<\/span><\/p>\n<p><b>A language like C#, <\/b><a href=\"https:\/\/simpleprogrammer.com\/2013\/12\/03\/beginning-lua\/\"><b>Lua<\/b><\/a><b>, Python, Ruby, or PHP is going to be much easier starting out. <\/b><span style=\"font-weight: 400;\">There are even beginner languages specifically tailored to learning programming, like Scratch or Basic.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">I don\u2019t want to discourage your from learning a more difficult language like C++ if that is what you really want to do, but you should at least know what you are getting into and decide if you\u2019d rather your first language be something easier.<\/span><\/p>\n<h3><\/h3>\n<h3><b>4. Resources Available to You<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">You also might want to consider what resources are available to you for learning a programming language.<\/span><\/p>\n<p><b>Some obscure programming language may not have as many books, online videos, or other resources available,<\/b><span style=\"font-weight: 400;\"> which might make them more difficult to learn. Other more popular programming languages may have plenty of tutorials online, bootcamps you can enroll in, and books and other resources you can utilize. So, be sure to look into how many and what resources are available out there for you.<\/span><br \/>\n<span style=\"font-weight: 400;\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-17384 alignright\" src=\"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2016\/08\/Untitled-4-1-1024x1024.png\" alt=\"Available Resources\" width=\"352\" height=\"352\" srcset=\"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2016\/08\/Untitled-4-1-1024x1024.png 1024w, https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2016\/08\/Untitled-4-1-300x300.png 300w, https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2016\/08\/Untitled-4-1-150x150.png 150w, https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2016\/08\/Untitled-4-1-768x768.png 768w, https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2016\/08\/Untitled-4-1.png 1500w\" sizes=\"auto, (max-width: 352px) 100vw, 352px\" \/>You can learn JavaScript online through your web browser without installing anything on your computer.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">While this isn\u2019t as big of a concern today as it used to be since there are so many resources for beginners out there, it\u2019s still something to take into consideration.<\/span><\/p>\n<p><b>You might also want to consider what resources are specifically available to you<\/b><span style=\"font-weight: 400;\">, like a computer or software. A somewhat difficult to learn programming language may be a better choice, simply because of how many interactive online tutorials there are.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">You can learn JavaScript online through your web browser without installing anything on your computer.<\/span><\/p>\n<p><b>A language like C++ will require downloading some tools and software<\/b><span style=\"font-weight: 400;\">, which might not be easy to do or as easily available.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For the final resource, I\u2019d consider looking to the people you know. Who can you turn to for help? <\/span><b>Is there someone that can answer your questions if you get stuck or help accelerate your learning?<\/b><\/p>\n<p><span style=\"font-weight: 400;\">I certainly wouldn\u2019t make resources the biggest consideration to take into account when choosing your first programming language, but it\u2019s still one you should contemplate.<\/span><\/p>\n<h3><\/h3>\n<h3><b>5. Adaptability<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Finally, let\u2019s talk about adaptability.<\/span><\/p>\n<p><b>Different programming languages are going to be more adaptable to different situations and technologies.<\/b><\/p>\n<p><span style=\"font-weight: 400;\">For example, the C# programming language, at the time of writing this book, is one of the most adaptable thanks to companies like Microsoft and <\/span><a href=\"https:\/\/simpleprogrammer.com\/2013\/07\/01\/cross-platform-mobile-development\/\"><span style=\"font-weight: 400;\">Xamarin<\/span><\/a><span style=\"font-weight: 400;\"> (now part of Microsoft). If you learn C#, you are not just constrained to Windows or web programming. <\/span><b>C# is available on just about every platform today<\/b><span style=\"font-weight: 400;\">, so it is highly adaptable. You can use C# to write Linux and Mac applications, and you can even write Android and iOS applications, completely in C#. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Plenty of other programming languages are also highly adaptable. For instance, Ruby has been ported to many different platforms and is used in quite a few areas of technology. JavaScript is also highly adaptable. You can even use JavaScript to control Arduino boards and do robotics. (<\/span><a href=\"https:\/\/www.safaribooksonline.com\/blog\/2013\/07\/16\/javascript-powered-arduino-with-johnny-five\/\"><span style=\"font-weight: 400;\">Check out my good friend Derick Bailey\u2019s article on how to do it.<\/span><\/a><span style=\"font-weight: 400;\">)<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Other programming languages are not as adaptable. If you learn R or Go, for example, you are going to be a bit more restricted to the technologies and platforms those languages were designed for.<\/span><\/p>\n<p>More and more programming languages\u2014especially popular ones\u2014are being ported to more platforms and used in a variety of different technologies, but there are still some that are not as versatile.<\/p>\n<p><span style=\"font-weight: 400;\">So, if you think you might want to be a web developer today but do Android development tomorrow, or you want to get involved in a bunch of different platforms or technologies, <\/span><b>you might want to consider how adaptable the language is you are trying to learn.<\/b><\/p>\n<h3><\/h3>\n<h3><b>Some Final Thoughts on Picking a Programming Language<\/b><\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-17386\" src=\"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2016\/08\/Untitled-5-1-1024x576.png\" alt=\"Become A Programmer\" width=\"715\" height=\"402\" srcset=\"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2016\/08\/Untitled-5-1-1024x576.png 1024w, https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2016\/08\/Untitled-5-1-300x169.png 300w, https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2016\/08\/Untitled-5-1-768x432.png 768w, https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2016\/08\/Untitled-5-1.png 1280w\" sizes=\"auto, (max-width: 715px) 100vw, 715px\" \/><br \/>\n<span style=\"font-weight: 400;\">Even though I\u2019ve given you some considerations to take into account when choosing your first programming language, <\/span><b>I want to stress the point that the actual language is not all that important.<\/b><\/p>\n<p><span style=\"font-weight: 400;\">What is important is that you pick something and stick with it long enough to get through the learning curve required to gain proficiency. Plenty of programmers who are just starting out get frustrated, <\/span><b>because they feel like they are just not getting it.<\/b><\/p>\n<p><span style=\"font-weight: 400;\">I\u2019ll talk about this more in the next chapter on \u201cLearning Your First Programming Language.\u201d Just hang on and stay the course, and you will gain proficiency. I promise. It can be tempting to get bored, or think you are learning the wrong language, and so keep switching languages, but\u2014trust me\u2014that is not a good idea.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Finally, consider this. When I was first starting programming, knowing a language in-depth was one of the most important skills a programmer could have. I would pour over C++ books and try to learn every intricacy of the language. That is no longer as important a skill today.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Today\u2019s programming is done at a higher level. <\/span><b>Programming today involves utilizing libraries and frameworks much more than language features<\/b><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Sure, it\u2019s important to know a programming language\u2014and to be good at it\u2014but absolute mastery just isn\u2019t as valuable a skill as it was. That is why I say don\u2019t worry about that looming question, &#8220;What programming language should I learn?&#8221;. <\/span><b>Just make sure you do learn one and stick with it<\/b><span style=\"font-weight: 400;\">\u2014at least for now.<\/span><\/p>\n<p><i><span style=\"font-weight: 400;\">While the actual language itself isn&#8217;t too important, how you learn it is. Take a look at my course: <\/span><\/i><a href=\"https:\/\/simpleprogrammer.com\/products\/learn-anything\/\"><i><span style=\"font-weight: 400;\">10 Steps to Learn Anything Quickly<\/span><\/i><\/a><i><span style=\"font-weight: 400;\"> for a better way to learn.<\/span><\/i><\/p>\n<hr \/>\n<p><a href=\"https:\/\/simpleprogrammer.com\/products\/careerguide\/\"><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2017\/06\/Site-Ad.png\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>One of the most common questions I get from new programmers starting out in the field of software development is which programming language they should learn. For some aspiring developers, this question ends up being a stumbling block they never get over. I\u2019ve coached plenty of developers who were always second-guessing themselves or changing their&#8230;<\/p>\n","protected":false},"author":2,"featured_media":17387,"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":[179,2426,1634593,14560,162228966,1017,264,31679,1883271,162229803,5895,162229840,162229253],"tags":[],"class_list":["post-17340","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-business","category-c","category-c-2","category-career","category-education-2","category-java","category-learning","category-process-improvement","category-productivity-2","category-programming","category-self-improvement","category-skills","category-technical"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>What Programming Language Should I Learn? - Simple Programmer<\/title>\n<meta name=\"description\" content=\"As a new programmer, one of the first questions you&#039;ll have to answer is: What programming language should I learn? The answer might surprise you.\" \/>\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\/learn-programming-language\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What Programming Language Should I Learn? - Simple Programmer\" \/>\n<meta property=\"og:description\" content=\"As a new programmer, one of the first questions you&#039;ll have to answer is: What programming language should I learn? The answer might surprise you.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/simpleprogrammer.com\/learn-programming-language\/\" \/>\n<meta property=\"og:site_name\" content=\"Simple Programmer\" \/>\n<meta property=\"article:published_time\" content=\"2016-08-01T12:00:46+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-02-21T20:34:16+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2016\/08\/What-Programming-Language-Should-I-Learn-First.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=\"12 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/learn-programming-language\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/learn-programming-language\\\/\"},\"author\":{\"name\":\"John Sonmez\",\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/#\\\/schema\\\/person\\\/1abc70edfb189184827740310672de67\"},\"headline\":\"What Programming Language Should I Learn?\",\"datePublished\":\"2016-08-01T12:00:46+00:00\",\"dateModified\":\"2018-02-21T20:34:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/learn-programming-language\\\/\"},\"wordCount\":2406,\"commentCount\":12,\"image\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/learn-programming-language\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/simpleprogrammer.com\\\/wp-content\\\/uploads\\\/2016\\\/08\\\/What-Programming-Language-Should-I-Learn-First.png\",\"articleSection\":[\"Business\",\"C#\",\"C++\",\"Career\",\"Education\",\"Java\",\"Learning\",\"Process Improvement\",\"Productivity\",\"Programming\",\"Self Improvement\",\"Skills\",\"Technical\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/simpleprogrammer.com\\\/learn-programming-language\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/learn-programming-language\\\/\",\"url\":\"https:\\\/\\\/simpleprogrammer.com\\\/learn-programming-language\\\/\",\"name\":\"What Programming Language Should I Learn? - Simple Programmer\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/learn-programming-language\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/learn-programming-language\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/simpleprogrammer.com\\\/wp-content\\\/uploads\\\/2016\\\/08\\\/What-Programming-Language-Should-I-Learn-First.png\",\"datePublished\":\"2016-08-01T12:00:46+00:00\",\"dateModified\":\"2018-02-21T20:34:16+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/#\\\/schema\\\/person\\\/1abc70edfb189184827740310672de67\"},\"description\":\"As a new programmer, one of the first questions you'll have to answer is: What programming language should I learn? The answer might surprise you.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/learn-programming-language\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/simpleprogrammer.com\\\/learn-programming-language\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/learn-programming-language\\\/#primaryimage\",\"url\":\"https:\\\/\\\/simpleprogrammer.com\\\/wp-content\\\/uploads\\\/2016\\\/08\\\/What-Programming-Language-Should-I-Learn-First.png\",\"contentUrl\":\"https:\\\/\\\/simpleprogrammer.com\\\/wp-content\\\/uploads\\\/2016\\\/08\\\/What-Programming-Language-Should-I-Learn-First.png\",\"width\":1280,\"height\":720},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/learn-programming-language\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/simpleprogrammer.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"What Programming Language Should I Learn?\"}]},{\"@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 Programming Language Should I Learn? - Simple Programmer","description":"As a new programmer, one of the first questions you'll have to answer is: What programming language should I learn? The answer might surprise you.","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\/learn-programming-language\/","og_locale":"en_US","og_type":"article","og_title":"What Programming Language Should I Learn? - Simple Programmer","og_description":"As a new programmer, one of the first questions you'll have to answer is: What programming language should I learn? The answer might surprise you.","og_url":"https:\/\/simpleprogrammer.com\/learn-programming-language\/","og_site_name":"Simple Programmer","article_published_time":"2016-08-01T12:00:46+00:00","article_modified_time":"2018-02-21T20:34:16+00:00","og_image":[{"width":1280,"height":720,"url":"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2016\/08\/What-Programming-Language-Should-I-Learn-First.png","type":"image\/png"}],"author":"John Sonmez","twitter_card":"summary_large_image","twitter_misc":{"Written by":"John Sonmez","Est. reading time":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/simpleprogrammer.com\/learn-programming-language\/#article","isPartOf":{"@id":"https:\/\/simpleprogrammer.com\/learn-programming-language\/"},"author":{"name":"John Sonmez","@id":"https:\/\/simpleprogrammer.com\/#\/schema\/person\/1abc70edfb189184827740310672de67"},"headline":"What Programming Language Should I Learn?","datePublished":"2016-08-01T12:00:46+00:00","dateModified":"2018-02-21T20:34:16+00:00","mainEntityOfPage":{"@id":"https:\/\/simpleprogrammer.com\/learn-programming-language\/"},"wordCount":2406,"commentCount":12,"image":{"@id":"https:\/\/simpleprogrammer.com\/learn-programming-language\/#primaryimage"},"thumbnailUrl":"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2016\/08\/What-Programming-Language-Should-I-Learn-First.png","articleSection":["Business","C#","C++","Career","Education","Java","Learning","Process Improvement","Productivity","Programming","Self Improvement","Skills","Technical"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/simpleprogrammer.com\/learn-programming-language\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/simpleprogrammer.com\/learn-programming-language\/","url":"https:\/\/simpleprogrammer.com\/learn-programming-language\/","name":"What Programming Language Should I Learn? - Simple Programmer","isPartOf":{"@id":"https:\/\/simpleprogrammer.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/simpleprogrammer.com\/learn-programming-language\/#primaryimage"},"image":{"@id":"https:\/\/simpleprogrammer.com\/learn-programming-language\/#primaryimage"},"thumbnailUrl":"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2016\/08\/What-Programming-Language-Should-I-Learn-First.png","datePublished":"2016-08-01T12:00:46+00:00","dateModified":"2018-02-21T20:34:16+00:00","author":{"@id":"https:\/\/simpleprogrammer.com\/#\/schema\/person\/1abc70edfb189184827740310672de67"},"description":"As a new programmer, one of the first questions you'll have to answer is: What programming language should I learn? The answer might surprise you.","breadcrumb":{"@id":"https:\/\/simpleprogrammer.com\/learn-programming-language\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/simpleprogrammer.com\/learn-programming-language\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/simpleprogrammer.com\/learn-programming-language\/#primaryimage","url":"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2016\/08\/What-Programming-Language-Should-I-Learn-First.png","contentUrl":"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2016\/08\/What-Programming-Language-Should-I-Learn-First.png","width":1280,"height":720},{"@type":"BreadcrumbList","@id":"https:\/\/simpleprogrammer.com\/learn-programming-language\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/simpleprogrammer.com\/"},{"@type":"ListItem","position":2,"name":"What Programming Language Should I Learn?"}]},{"@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\/17340","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=17340"}],"version-history":[{"count":0,"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/posts\/17340\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/media\/17387"}],"wp:attachment":[{"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/media?parent=17340"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/categories?post=17340"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/tags?post=17340"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}