{"id":9189,"date":"2019-06-21T16:35:51","date_gmt":"2019-06-21T20:35:51","guid":{"rendered":"https:\/\/blog.brainstation.io\/?p=9189"},"modified":"2020-12-13T23:16:07","modified_gmt":"2020-12-14T04:16:07","slug":"what-you-need-to-know-before-choosing-your-first-programming-language","status":"publish","type":"post","link":"https:\/\/brainstation.io\/blog\/what-you-need-to-know-before-choosing-your-first-programming-language","title":{"rendered":"What You Need to Know Before Choosing Your First Programming Language"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">If you\u2019re looking to get into the tech space, and more specifically development or engineering, you will have to learn a programming language. In fact, you\u2019ll have to learn <\/span><i><span style=\"font-weight: 400;\">at least<\/span><\/i><span style=\"font-weight: 400;\"> one language very well, and be expected to know multiple languages and systems, and to transition between them regularly. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Taking a step back, you will fundamentally need to have an understanding of how computers work, and learning a programming language is the most immediate way to develop a strong grasp of computing environments. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">With a dizzying array of programming languages, though, getting started can seem a bit overwhelming. Here are some tips on how to choose your first programming language. <\/span><\/p>\n<h2><span style=\"font-weight: 400;\">What is a Programming Language?<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">A programming language is a system of symbols and words with syntactical rules that can be used to control the resources of a computer \u2013 namely the CPU, memory, and inputs\/outputs such as a keyboard, mouse, and monitor. Computers are electrical devices that are controlled by electrical signals in the form of low\/high voltages, which are known as 0 and 1. A computer, therefore, understands a series of signals made up of 0s and 1s, or binary.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For humans, writing in binary is very difficult, so having human-like languages that can be translated down to these 0&#8217;s and 1&#8217;s makes controlling computers much easier. However, there is no one universal programming language and all programming languages are eventually translated down to 0s and 1s.<\/span><\/p>\n<div class=\"lead-grid-container\">\n<div class=\"lead__card\">\n<div class=\"lead__image\"><img decoding=\"async\" class=\"hide--mobile\" src=\"https:\/\/brainstation.io\/blog\/wp-content\/uploads\/2020\/03\/Dev-2.jpg\" alt=\"Icon\"><\/div>\n<div class=\"lead__content\">\n<p id=\"lead__heading\" class=\"heading--4\">Become a Web Developer in just 12 weeks!<\/p>\n<p class=\"lead__description\">BrainStation&#8217;s <a href=\"https:\/\/brainstation.io\/course\/online\/remote-web-development-bootcamp?utm_source=Blog&amp;utm_medium=BlogPost&amp;utm_campaign=blogLead\" target=\"_blank\" rel=\"noopener noreferrer\">Web Development Diploma Program<\/a> is a full-time, 12-week program that equips professionals with the skills and experience to start a new career in development.<\/p>\n<p id=\"lead__button--margin\"><a id=\"lead__button--hover\" class=\"lead__button\" href=\"https:\/\/brainstation.io\/book-call\/web-development-immersive?utm_source=Blog&amp;utm_medium=BlogPost&amp;utm_campaign=blogLead\" target=\"_blank\" rel=\"noopener noreferrer\">Speak to a Learning Advisor<\/a><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><span style=\"font-weight: 400;\">Similarly, in the human world, there is not one human language. There are many families of human languages \u2013 some with obvious relationships and evolutions, while others are completely separate and unrelated. All humans have similar experiences in life and numerous languages have all evolved different ways of expressing those experiences.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Many computer languages share fundamental concepts, just like human languages do, even though syntactically, they can look different. Some programming languages are very domain specific \u2013 for example, some can be used to control a specific electrical device \u2013 while others are so general that they can be used on virtually any computer or device and can solve any problem.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Programming languages that are closer to a problem domain, and more human-like and abstract, are called &#8220;high-level&#8221; programming languages. Languages that are more computer-like in their syntax and terminology are considered &#8220;low-level&#8221; programming languages.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">High-Level vs Low-Level Programming Languages <\/span><\/h2>\n<p><span style=\"font-weight: 400;\">All programming languages are based around some fundamental paradigm or a set of paradigms, that form the conceptual approach to using that programming language \u2013 and there are<\/span><a href=\"https:\/\/en.wikipedia.org\/wiki\/Programming_paradigm\"> <span style=\"font-weight: 400;\">numerous programming paradigms<\/span><\/a><span style=\"font-weight: 400;\">. This affects the expressiveness of a language, and how easy it is to solve various problems. Some common programming paradigms include:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><b>Functional:<\/b><span style=\"font-weight: 400;\"> Conceives of a problem as solved through a series of &#8220;functions&#8221; that, given the input, return a result. By putting together these functions, you can achieve the result you want.<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>Object Oriented:<\/b><span style=\"font-weight: 400;\"> Conceives of a problem as a system of objects that interact with each other, like in the real world. Objects have properties and actions that they can take, and can manage their own state.<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>Imperative:<\/b><span style=\"font-weight: 400;\"> A more literal, computer-like paradigm that conceives of a problem as a series of instructions for the computer, such as accessing computer memory, creating branches of instructions, and using indices to control repeating code.<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>Event-Driven:<\/b><span style=\"font-weight: 400;\"> Conceives of a problem as a series of events that can happen at any time, in any order. This is important because events are unreliable \u2013 anything can happen. So, a Programmer defines what they want to happen when an event occurs, without worrying about when exactly that event will happen.<\/span><\/li>\n<\/ul>\n<h2><span style=\"font-weight: 400;\">Your First Programming Language<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">For your first, you will often be learning a general programming language that incorporates some or all of these paradigms. These are mainstream languages that have numerous resources available to learn from.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Some of the more common languages you will probably have heard of if you have been exploring the tech space are JavaScript, Python, PHP, Ruby, Java, C\/C++\/C#, and Swift. There are countless others, and even flavors of these languages \u2013 almost like how different regions of a country will speak different dialects of a common national language.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Learning any of these languages will give you a strong understanding of what computers are about, and allow you to develop your programming skills. So while choosing your first language can seem like a daunting task, getting started is far more critical, no matter what language you choose. In fact, most programmers today probably do not program professionally in the language they first learned, and have since learned additional languages.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Practical Considerations When Choosing a Programming Language to Learn<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Most people who are looking to learn a programming language are approaching it pragmatically, as in &#8220;Which programming language is most likely to help me get a job the fastest?&#8221;<\/span><\/p>\n<p><span style=\"font-weight: 400;\">From a practical perspective, the choice of a programming language depends on two main factors: Industry and Domain.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Different industries might favor certain programming languages. For example, many enterprise web applications, such as banks, use Java or C# for much of their infrastructure. The age of an industry or company can also affect the tech stack used \u2013 &nbsp;many SaaS companies started in the early 2000s were developed using PHP and may continue to use it.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For domains, considering whether you are in a mobile, web, IoT, or the VR\/AR\/MR space can narrow the options of languages that you will be looking at. If you are interested in mobile, for example, you will be learning either Swift for iOS, or Java\/Kotlin if you are focusing on Android. If you are interested in the web, at some point you will encounter JavaScript.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">If your goal is to get a job, getting to know your ideal workplace and industry can help decide what language you should focus on. Job postings are a good place to start; if <\/span><span style=\"font-weight: 400;\">companies you\u2019re interested in seem to be asking for a particular language, that\u2019s something to consider. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Some languages are more widespread than others, and you might find learning those languages easier and more broadly useful. There are also more niche programming languages, which can be useful, but which might limit your job opportunities. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">When choosing a first language, it\u2019s important to remember that languages increase or decrease in popularity and evolve over time, with new languages emerging that are more powerful and effective than previous languages or versions.<\/span><\/p>\n<p><b>Conclusion<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Programming is a way to express ideas through a language, and, like all languages, this language will evolve over time. There is, therefore, always more to be learned, with new ways to express solutions to problems. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">At the end of the day, if you are aiming for a career in the tech space, your goal should be to understand how computers work and to focus on adding to that understanding, every day of your career. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Many programmers don\u2019t even use their first programming language on the job, but t<\/span><span style=\"font-weight: 400;\">he understanding of programming and computing they gained has served as the foundation for an entire career. <\/span><span style=\"font-weight: 400;\">So, if you\u2019re thinking about learning a programming language, don\u2019t be intimidated. Whichever language you choose, it probably won&#8217;t be your last!<\/span><\/p>\n<p><em>Get started with <a href=\"https:\/\/brainstation.io\/course\/intro-to-web-development\">BrainStation&#8217;s Web Development certificate course<\/a>.&nbsp;<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>With a dizzying array of programming languages, getting started can seem a bit overwhelming. Here are some tips to help you make the right choice.  <\/p>\n","protected":false},"author":7,"featured_media":9191,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[97],"tags":[227,602,956,99,100],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v18.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>What You Need to Know Before Choosing Your First Programming Language | BrainStation\u00ae Blog<\/title>\n<meta name=\"description\" content=\"With a dizzying array of programming languages, getting started can seem a bit overwhelming. Here are some tips to help you make the right choice.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/brainstation.io\/blog\/what-you-need-to-know-before-choosing-your-first-programming-language\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What You Need to Know Before Choosing Your First Programming Language | BrainStation\u00ae Blog\" \/>\n<meta property=\"og:description\" content=\"With a dizzying array of programming languages, getting started can seem a bit overwhelming. Here are some tips to help you make the right choice.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/brainstation.io\/blog\/what-you-need-to-know-before-choosing-your-first-programming-language\" \/>\n<meta property=\"og:site_name\" content=\"BrainStation\u00ae Blog\" \/>\n<meta property=\"article:published_time\" content=\"2019-06-21T20:35:51+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-12-14T04:16:07+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/d2re7sjnpekmig.cloudfront.net\/prod\/wp-content\/uploads\/2019\/06\/GettyImages-1075599562.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2119\" \/>\n\t<meta property=\"og:image:height\" content=\"1414\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"BrainStation\" \/>\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\":\"WebSite\",\"@id\":\"https:\/\/brainstation.io\/blog\/#website\",\"url\":\"https:\/\/brainstation.io\/blog\/\",\"name\":\"BrainStation\u00ae Blog\",\"description\":\"The Digital Learning Company\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/brainstation.io\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/brainstation.io\/blog\/what-you-need-to-know-before-choosing-your-first-programming-language#primaryimage\",\"url\":\"https:\/\/d2re7sjnpekmig.cloudfront.net\/prod\/wp-content\/uploads\/2019\/06\/GettyImages-1075599562.jpg\",\"contentUrl\":\"https:\/\/d2re7sjnpekmig.cloudfront.net\/prod\/wp-content\/uploads\/2019\/06\/GettyImages-1075599562.jpg\",\"width\":2119,\"height\":1414},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/brainstation.io\/blog\/what-you-need-to-know-before-choosing-your-first-programming-language#webpage\",\"url\":\"https:\/\/brainstation.io\/blog\/what-you-need-to-know-before-choosing-your-first-programming-language\",\"name\":\"What You Need to Know Before Choosing Your First Programming Language | BrainStation\u00ae Blog\",\"isPartOf\":{\"@id\":\"https:\/\/brainstation.io\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/brainstation.io\/blog\/what-you-need-to-know-before-choosing-your-first-programming-language#primaryimage\"},\"datePublished\":\"2019-06-21T20:35:51+00:00\",\"dateModified\":\"2020-12-14T04:16:07+00:00\",\"author\":{\"@id\":\"https:\/\/brainstation.io\/blog\/#\/schema\/person\/9f37983a6c4da6cf5dd422481ac8cf11\"},\"description\":\"With a dizzying array of programming languages, getting started can seem a bit overwhelming. Here are some tips to help you make the right choice.\",\"breadcrumb\":{\"@id\":\"https:\/\/brainstation.io\/blog\/what-you-need-to-know-before-choosing-your-first-programming-language#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/brainstation.io\/blog\/what-you-need-to-know-before-choosing-your-first-programming-language\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/brainstation.io\/blog\/what-you-need-to-know-before-choosing-your-first-programming-language#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/brainstation.io\/blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"What You Need to Know Before Choosing Your First Programming Language\"}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/brainstation.io\/blog\/#\/schema\/person\/9f37983a6c4da6cf5dd422481ac8cf11\",\"name\":\"BrainStation\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/brainstation.io\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/80c14b8388838ae1453aec36606b232d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/80c14b8388838ae1453aec36606b232d?s=96&d=mm&r=g\",\"caption\":\"BrainStation\"},\"description\":\"BrainStation is a global leader in digital skills training, empowering businesses and brands to succeed in the digital age. Established in 2012, BrainStation has worked with over 250 instructors from the most innovative companies, developing cutting-edge, real-world digital education that has empowered more than 50,000 professionals and some of the largest corporations in the world.\",\"url\":\"https:\/\/brainstation.io\/blog\/author\/brainstation\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"What You Need to Know Before Choosing Your First Programming Language | BrainStation\u00ae Blog","description":"With a dizzying array of programming languages, getting started can seem a bit overwhelming. Here are some tips to help you make the right choice.","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:\/\/brainstation.io\/blog\/what-you-need-to-know-before-choosing-your-first-programming-language","og_locale":"en_US","og_type":"article","og_title":"What You Need to Know Before Choosing Your First Programming Language | BrainStation\u00ae Blog","og_description":"With a dizzying array of programming languages, getting started can seem a bit overwhelming. Here are some tips to help you make the right choice.","og_url":"https:\/\/brainstation.io\/blog\/what-you-need-to-know-before-choosing-your-first-programming-language","og_site_name":"BrainStation\u00ae Blog","article_published_time":"2019-06-21T20:35:51+00:00","article_modified_time":"2020-12-14T04:16:07+00:00","og_image":[{"width":2119,"height":1414,"url":"https:\/\/d2re7sjnpekmig.cloudfront.net\/prod\/wp-content\/uploads\/2019\/06\/GettyImages-1075599562.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Written by":"BrainStation","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebSite","@id":"https:\/\/brainstation.io\/blog\/#website","url":"https:\/\/brainstation.io\/blog\/","name":"BrainStation\u00ae Blog","description":"The Digital Learning Company","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/brainstation.io\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/brainstation.io\/blog\/what-you-need-to-know-before-choosing-your-first-programming-language#primaryimage","url":"https:\/\/d2re7sjnpekmig.cloudfront.net\/prod\/wp-content\/uploads\/2019\/06\/GettyImages-1075599562.jpg","contentUrl":"https:\/\/d2re7sjnpekmig.cloudfront.net\/prod\/wp-content\/uploads\/2019\/06\/GettyImages-1075599562.jpg","width":2119,"height":1414},{"@type":"WebPage","@id":"https:\/\/brainstation.io\/blog\/what-you-need-to-know-before-choosing-your-first-programming-language#webpage","url":"https:\/\/brainstation.io\/blog\/what-you-need-to-know-before-choosing-your-first-programming-language","name":"What You Need to Know Before Choosing Your First Programming Language | BrainStation\u00ae Blog","isPartOf":{"@id":"https:\/\/brainstation.io\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/brainstation.io\/blog\/what-you-need-to-know-before-choosing-your-first-programming-language#primaryimage"},"datePublished":"2019-06-21T20:35:51+00:00","dateModified":"2020-12-14T04:16:07+00:00","author":{"@id":"https:\/\/brainstation.io\/blog\/#\/schema\/person\/9f37983a6c4da6cf5dd422481ac8cf11"},"description":"With a dizzying array of programming languages, getting started can seem a bit overwhelming. Here are some tips to help you make the right choice.","breadcrumb":{"@id":"https:\/\/brainstation.io\/blog\/what-you-need-to-know-before-choosing-your-first-programming-language#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/brainstation.io\/blog\/what-you-need-to-know-before-choosing-your-first-programming-language"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/brainstation.io\/blog\/what-you-need-to-know-before-choosing-your-first-programming-language#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/brainstation.io\/blog"},{"@type":"ListItem","position":2,"name":"What You Need to Know Before Choosing Your First Programming Language"}]},{"@type":"Person","@id":"https:\/\/brainstation.io\/blog\/#\/schema\/person\/9f37983a6c4da6cf5dd422481ac8cf11","name":"BrainStation","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/brainstation.io\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/80c14b8388838ae1453aec36606b232d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/80c14b8388838ae1453aec36606b232d?s=96&d=mm&r=g","caption":"BrainStation"},"description":"BrainStation is a global leader in digital skills training, empowering businesses and brands to succeed in the digital age. Established in 2012, BrainStation has worked with over 250 instructors from the most innovative companies, developing cutting-edge, real-world digital education that has empowered more than 50,000 professionals and some of the largest corporations in the world.","url":"https:\/\/brainstation.io\/blog\/author\/brainstation"}]}},"_links":{"self":[{"href":"https:\/\/brainstation.io\/blog\/wp-json\/wp\/v2\/posts\/9189"}],"collection":[{"href":"https:\/\/brainstation.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/brainstation.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/brainstation.io\/blog\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/brainstation.io\/blog\/wp-json\/wp\/v2\/comments?post=9189"}],"version-history":[{"count":9,"href":"https:\/\/brainstation.io\/blog\/wp-json\/wp\/v2\/posts\/9189\/revisions"}],"predecessor-version":[{"id":12334,"href":"https:\/\/brainstation.io\/blog\/wp-json\/wp\/v2\/posts\/9189\/revisions\/12334"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/brainstation.io\/blog\/wp-json\/wp\/v2\/media\/9191"}],"wp:attachment":[{"href":"https:\/\/brainstation.io\/blog\/wp-json\/wp\/v2\/media?parent=9189"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/brainstation.io\/blog\/wp-json\/wp\/v2\/categories?post=9189"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/brainstation.io\/blog\/wp-json\/wp\/v2\/tags?post=9189"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}