{"id":48,"date":"2018-08-28T16:07:27","date_gmt":"2018-08-28T16:07:27","guid":{"rendered":"https:\/\/www.thecoderschool.com\/blog\/the-history-of-coding-and-computer-programming\/"},"modified":"2022-10-14T07:47:43","modified_gmt":"2022-10-14T07:47:43","slug":"the-history-of-coding-and-computer-programming","status":"publish","type":"post","link":"https:\/\/www.thecoderschool.com\/blog\/the-history-of-coding-and-computer-programming\/","title":{"rendered":"The History of Coding and Computer Programming"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright wp-image-1175 size-full\" src=\"https:\/\/www.thecoderschool.com\/blog\/wp-content\/uploads\/2018\/08\/HISTORY_coding.png\" alt=\"History of Coding Diagram\" width=\"560\" height=\"315\" srcset=\"https:\/\/www.thecoderschool.com\/blog\/wp-content\/uploads\/2018\/08\/HISTORY_coding.png 560w, https:\/\/www.thecoderschool.com\/blog\/wp-content\/uploads\/2018\/08\/HISTORY_coding-300x169.png 300w, https:\/\/www.thecoderschool.com\/blog\/wp-content\/uploads\/2018\/08\/HISTORY_coding-450x253.png 450w\" sizes=\"auto, (max-width: 560px) 100vw, 560px\" \/><\/p>\n<p>Coding and computer programming are always changing and evolving. As coder nerds, it\u2019s exciting to think about how we can program computers to do complex things, and to look back into history and see that this has been happening for quite a while. Learn how programmers throughout time have imagined and invented new possibilities with programming and coding, and how they\u2019ve used their (mostly mathematics) skills to make their ideas become a reality \u2013 something we deal with on a daily basis, thanks to them. We\u2019ll highlight a few big names and things concerning programming:<\/p>\n<h3>Heron of Alexandria<\/h3>\n<p>Programming dates all the way back to 60 A.D., to the time of Mr. Heron of Alexandria. This fella was a mathematician and engineer who was known for his amazing inventions and machines. There was one machine in particular that perhaps sparked the evolution of computer programming \u2013 this specific machine had puppets on it, and underneath the machine were a series of strings that you could pull, to make the puppets do certain things. By simply re-wiring the machine or re-programming the machine, you could manipulate the puppets to do different things. So, that\u2019s one of the first recorded examples we know of where you could program or change the way something is operated without having to take it all apart and rebuild it.<\/p>\n<h3>Joseph Marie Jacquard<\/h3>\n<p>Then, as far as computer programming, things went dark for quite some time. There was very little progress for the next 1,800 years or so. It was in France that the next influential programmer came along \u2013 Joseph Marie Jacquard \u2013 and took programming to the next level by inventing the \u201c<a href=\"https:\/\/www.youtube.com\/watch?v=OlJns3fPItE\">Jacquard loom<\/a>\u201d. If you aren\u2019t too familiar with what a loom is, well, it\u2019s a giant machine that created certain patterns on carpets, rugs, and blankets. Basically, the French dude used a set of punch cards made of metal (much like early computer programming, imagine that) that he would stitch together and run through the loom, and the loom would read these cards and weave a pattern accordingly. Consider Jacquard the loom programmer, if you will.<\/p>\n<h3>Charles Babbage<\/h3>\n<p>Towards the end of the 19th Century, someone in London, UK started to create waves in the programming world. He was a mathematician as well (surprise, surprise). Considered by some to be the \u201cfather of the computer\u201d, Charles Babbage invented the first mechanical computer, called the analytical engine, that others (whom we\u2019ll mention later) would then use as inspiration in their more complex, electronic designs and computers. But before that invention came to be, he had this dream of a machine that could perform calculations, and he called it the calculating engine. After asking Parliament for a fairly large budget to try and build the thing, he gave up halfway when he had a better idea \u2013 the analytical engine.<\/p>\n<h3>Analytical Engine<\/h3>\n<p>So of course he went back to Parliament to ask for more money to build his new idea, to which you can probably guess Parliament\u2019s reply \u2013 \u201cNO, finish what you started with the calculating engine.\u201d Babbage never did complete the calculating engine after having the better idea to build the analytical engine, and never got the money to be able to build that. So, with the calculating engine only partially built and the analytical engine only designed, Babbage never finished what he started. But, just because it wasn\u2019t built yet didn\u2019t mean you couldn\u2019t write \u201csoftware\u201d for it \u2013 and that\u2019s exactly what one person did, someone who worked very closely with Babbage. Her name was Augusta Ada Byron, Countess of Lovelace \u2013 but we\u2019ll call her Ada Lovelace.<\/p>\n<h3>Ada Lovelace<\/h3>\n<p>Ada Lovelace was \u2013 you guessed it \u2013 a mathematician, and also technically the world\u2019s first computer programmer, who was intrigued by what Babbage had thought up with his analytical engine. So much so, that after an Italian dude had written a book about the analytical engine, she translated the book from Italian to English, and learned all about how the machine worked. So not only was she good with languages (see where we\u2019re going here?), she was in theory creating a program, or language, for this machine that didn\u2019t technically exist.<\/p>\n<p>Then, like before, progress with programming went quiet for some time until around the middle of the 20th Century, during World War II. This was when progress really started to take off, as far as modern computer programming. While the Germans had the Enigma machines to protect their communication during the war, the British (Allies) had Alan Turing. If you\u2019ve seen the 2014 film <a href=\"https:\/\/www.imdb.com\/title\/tt2084970\/\">The Imitation Game<\/a>, you may recognize the name. If you haven\u2019t seen the film, you should see it \u2013 it has Benedict Cumberbatch in it \u2013 but we\u2019ll tell you why he\u2019s important.<\/p>\n<h3>Alan Turing<\/h3>\n<p>Any guesses on Alan Turing\u2019s profession? Yep, another mathematician. Basically, this guy was \u201c<a href=\"https:\/\/www.iwm.org.uk\/history\/how-alan-turing-cracked-the-enigma-code\">The Bombe<\/a>\u201d. Let us explain. Doing top-secret work breaking military codes used by the Germans and Axis powers, Turin (with the help of his coding team) was able to crack the ever-changing \u2018Enigma\u2019 code by inventing a computing machine that helped reduce the work of code-breaking. This machine was called The Bombe. By breaking the code, the Allies were able to understand German naval movements. Definitely Bombe.com, right?<\/p>\n<h3>Tommy Flowers<\/h3>\n<p>During the later stages of World War II, another British fellow made some progress in computer programming; a guy who actually wasn\u2019t a mathematician, but worked as an engineer in the British Post Office. His name was Tommy Flowers. His job had to do with telegraph relays. If you\u2019re not familiar, basically telegraph relays were a wire that went from point A to point B through electromagnetic currents (a transistor). Tommy Flowers basically took those telegraph relays and built a programmable computer. It wasn\u2019t like a computer we know today, this computer was literally an entire room made up of wires and pulleys, with electromagnetic currents running through it.<\/p>\n<h3>Early Computers <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-8379\" src=\"https:\/\/www.thecoderschool.com\/blog\/wp-content\/uploads\/2019\/06\/iStock-948657976-300x169.jpg\" alt=\"\" width=\"300\" height=\"169\" srcset=\"https:\/\/www.thecoderschool.com\/blog\/wp-content\/uploads\/2019\/06\/iStock-948657976-300x169.jpg 300w, https:\/\/www.thecoderschool.com\/blog\/wp-content\/uploads\/2019\/06\/iStock-948657976-768x432.jpg 768w, https:\/\/www.thecoderschool.com\/blog\/wp-content\/uploads\/2019\/06\/iStock-948657976-1030x579.jpg 1030w, https:\/\/www.thecoderschool.com\/blog\/wp-content\/uploads\/2019\/06\/iStock-948657976-1500x844.jpg 1500w, https:\/\/www.thecoderschool.com\/blog\/wp-content\/uploads\/2019\/06\/iStock-948657976-705x397.jpg 705w, https:\/\/www.thecoderschool.com\/blog\/wp-content\/uploads\/2019\/06\/iStock-948657976-450x253.jpg 450w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/h3>\n<p>This machine was known as the Colossus (it really was colossal). With a few redesigns and copies of the original machine, around ten units helped in code-breaking during the war, giving the Allies a clear advantage in key battles like D-Day in Normandy. Most of them went out of commission after the war. It was actually top-secret and people didn\u2019t really talk about it, and people who didn\u2019t work with it didn\u2019t know about it for quite a while \u2013 until the 1950s.<\/p>\n<p>Other than what we know as the Colossus being one of the first computers, the other \u201cfirst\u201d computer was the \u201cManchester Baby\u201d. Basically, it had a series of switches and buttons that would light up a range of lights. Compare this to modern-day <a href=\"https:\/\/www.thecoderschool.com\/camps\/#pijam\">Raspberry Pi<\/a> (yes, we have a camp for that).<\/p>\n<h3>Programming Languages <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-8882\" src=\"https:\/\/www.thecoderschool.com\/blog\/wp-content\/uploads\/2019\/11\/Screen-Shot-2019-11-11-at-11.57.42-AM-300x214.png\" alt=\"\" width=\"300\" height=\"214\" srcset=\"https:\/\/www.thecoderschool.com\/blog\/wp-content\/uploads\/2019\/11\/Screen-Shot-2019-11-11-at-11.57.42-AM-300x214.png 300w, https:\/\/www.thecoderschool.com\/blog\/wp-content\/uploads\/2019\/11\/Screen-Shot-2019-11-11-at-11.57.42-AM-260x185.png 260w, https:\/\/www.thecoderschool.com\/blog\/wp-content\/uploads\/2019\/11\/Screen-Shot-2019-11-11-at-11.57.42-AM-450x321.png 450w, https:\/\/www.thecoderschool.com\/blog\/wp-content\/uploads\/2019\/11\/Screen-Shot-2019-11-11-at-11.57.42-AM.png 474w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/h3>\n<p>The 1950s was really when computer programming started to take off with programming languages. The first programming language that really counts as a programming language was something called <a href=\"https:\/\/en.wikipedia.org\/wiki\/Short_Code_(computer_language)\">short code<\/a>, which was created by someone from the company IBM. With a set of predefined variables, or mathematical expressions rather than instructing a machine, like that of machine code (like what we\u2019d been talking about above). There were actually jobs in the \u201950s created to compile these expressions, variables, and operators into short code, called \u201ccompilers\u201d. Jobs around computer programming have been in high demand ever since. IBM then built on top of their short code and called it speedcoding. It was an idea to make coding faster and more efficient (funny that in the 1950s, this is what they thought would be the fastest, most efficient way of coding). \u201cProgramming time should be minimized,\u201d was IBM\u2019s statement with speedcoding. Then the question arose \u2013 \u201cIsn\u2019t the idea of taking symbols and translating them into other symbols essentially what we designed and built the computers to do, and can\u2019t we have the computers automate this?\u201d Well, a couple people answered that question by creating A-0 and Autocode, the first automated computer compilers.<\/p>\n<h3>Early Automated Computers<\/h3>\n<p>Grace Hopper, a US Navy officer, was recognized for creating the A-0 in the United States, while Alec Glennie from the UK created Autocode. Because this was around the same time and there wasn\u2019t much collaboration between the two countries (and <a href=\"https:\/\/github.com\/\">GitHub<\/a> didn\u2019t exist) with this type of programming development, they both claimed to have created the first automated computer compiler. The first programming language that is actually still around today was created by IBM (again) by a guy named John Backus. The language is called <a href=\"https:\/\/www.obliquity.com\/computer\/fortran\/history.html\">FORTRAN<\/a>. The problem back then was that you couldn\u2019t just type this into a computer screen because they didn\u2019t have screens, and you couldn\u2019t type this language into the computer, because they didn\u2019t have typing tools like keyboards, either \u2013 so you still had to turn it into something that the computer could, well, compute.<\/p>\n<h3>Ancient, Native Code Languages<\/h3>\n<p>So when FORTRAN was first created, you\u2019d have to encode the language onto a punch card (not much different than that of the loom, from 100 years previous, right?) and then feed them into the computer, and see what happens (and you thought C++ took too long). As FORTRAN still exists, pretty much every programming language in the world\u2013even the ones that we use today\u2013are somehow based off a language created by Backus. He created multiple languages, of which he created a few at a time, that most others came from.<\/p>\n<p>The other significant one: <a href=\"https:\/\/www.whoishostingthis.com\/resources\/algol\/\">ALGOL<\/a>. ALGOL has evolved since it was first created and is also still around today, as are other coding languages that evolved from these, such as PYTHON, C++, and JavaScript (which we teach in a lot of our <a href=\"https:\/\/www.thecoderschool.com\/camps\/\">camps<\/a>). Because coding languages have exponentially evolved from this era, we usually cover a brief history of their origin and their father languages, based off of those created by Mr. John Backus \u2013 so we will end our history lesson for today and pick up where your coding language interests take you: to <a href=\"https:\/\/www.thecoderschool.com\/\">TheCoderSchool<\/a>!<\/p>\n<p>Class dismissed. And oh, if you&#8217;re interested in more reasons that coding should be your next hobby, check\u00a0<a href=\"https:\/\/www.thecoderschool.com\/blog\/4-reasons-coding-should-be-your-next-hobby\/\" target=\"_blank\" rel=\"noopener\">here.<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p style=\"white-space: pre-wrap;\">How did coding evolve over time?  In a million different ways, but here\u2019s a great little summary of computer programming history.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-48","post","type-post","status-publish","format-standard","hentry","category-coder-blog","entry"],"_links":{"self":[{"href":"https:\/\/www.thecoderschool.com\/blog\/wp-json\/wp\/v2\/posts\/48","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.thecoderschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.thecoderschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.thecoderschool.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.thecoderschool.com\/blog\/wp-json\/wp\/v2\/comments?post=48"}],"version-history":[{"count":4,"href":"https:\/\/www.thecoderschool.com\/blog\/wp-json\/wp\/v2\/posts\/48\/revisions"}],"predecessor-version":[{"id":12742,"href":"https:\/\/www.thecoderschool.com\/blog\/wp-json\/wp\/v2\/posts\/48\/revisions\/12742"}],"wp:attachment":[{"href":"https:\/\/www.thecoderschool.com\/blog\/wp-json\/wp\/v2\/media?parent=48"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.thecoderschool.com\/blog\/wp-json\/wp\/v2\/categories?post=48"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.thecoderschool.com\/blog\/wp-json\/wp\/v2\/tags?post=48"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}