Computer programming has become an inherent part of our daily lives. As a result, there are over 500 programming languages! But when and how they came to be what we get to know nowadays? We’ll focus on the origins of programming and coding and how they have evolved. As a heads up: it has been in the making for longer than you may believe.
What is the Origin of Coding?
Would you believe us if we told you that coding rose in 1804? What if we added that, in 1843, the first programming language already existed? Before computers, Joseph Marie Jacquard invented the Jacquard Loom. In the 17th century, this machine aimed to create patterns on rugs and blankets. To do so, Jacquard used metal punch cards that were laced together to weave the desired pattern. In fact, you can check it in this video!
Yet, it wasn’t until a few decades later that Charles Babbage designed the Analytical Engine. With solid inspiration from Jacquard, mathematician Ada Lovelace created the first machine algorithm. In a further step, this algorithm led to computing the Bernoulli numbers. Lovelace and Babbage wrote an essay about this. Lovelace included a large table with data values, variables, and results. Also, it represented what is now known as “execution traces.”
In its origins, the Analytical Engine was a steam-powered programmable computer. Unfortunately, due to a lack of funding, it was never built. It wasn’t until around a century later that the first computer was built. But Lovelace and Babbage’s work laid the foundation for all programming languages.
What are Low-Level Languages?
As we’ve mentioned, Babbage never got to build his Analytical Language. Nonetheless, the 20th century brought Babbage and Lovelace’s work to fruition. As far as we know them today, the first step to programming was through low-level languages. Within this, the first programmable computer was the Z1, designed in 1936 by Konrad Zuse. As a standard, low-level programming languages are machine-oriented. Moreover, programmers need extensive knowledge of hardware and its configuration to use them. There are two types of low-level languages: machine codes and assembly languages.
Machine Code Low-Level Languages
If we want comprehensive knowledge and understanding, we must mention machine codes. As a starting point, machine code, or machine language, is the elemental language of computers. Besides being the lowest level of programming detail a programmer can see, it’s based on binary code.
Assembly Language Low-Level Languages
Assembly language was the first to move away from binary code. This allowed us to simplify machine code and make it easier for humans to read. As a result, it was the first widely-used programming language, but it had its issues. Among those, the most pressing was that each computer used a different language. This problem was what led the path to high-level languages.
What are High-Level Languages?
High-level languages are, in essence, different ways to say the same thing to a computer. Unlike low-level's, high-level languages are not restricted to a specific device. But, as other languages address different needs, they don't serve the same purposes. Nowadays, with the number of existing languages, some similar address needs. In those cases, choices rely on specific features or developers' preferences. Now, let’s look at how high-level languages have progressed over time.
5 Stages of Coding and Programming Languages
1. Early Birds Programming Languages
1952 – Autocode
Developed by Alick Glennie, Autocode refers to a family of programming languages. As its biggest advance, it could translate into machine code with a compiler. Because of this, it's thought of as the first compiled language. Also, it was the language applied for the Mark 1 computer, Ferranti Pegasus, and Ferranti Sirius.
1957 – Fortran
Fortran stands for Formula Translation, and it's an IBM creation. For instance, Fortran 5 was the chosen language for Nasa’s Voyager 1 and Voyager 2. As a language, it's used for numeric and scientific computation. Besides, it's versatile, high-performance, and easy to learn. On top of that, it's still in use today! This makes it the oldest programming language in usage. IBM has credits for developing “the first computer language standard.”
1958 – ALGOL
Algorithmic Language is the creation of a committee of American and European scientists. Moreover, it was the first language to include beginning and end code blocks. Also, it was the starting point for popular programming languages like C, C++, and Java.
1959 – LISP
MIT’s John McCarthy created LISP (LISt Processor). While its original purpose was getting close to AI, it's still in use nowadays. As a result, some people dubbed him the father of functional programming languages. Today, you can use it instead of languages like Ruby or Python, and it’s currently known as Common Lisp. With its function-oriented language, it created platforms like Grammarly.
1959 – COBOL
Common Business-Oriented Language is a creation of Dr. Grace Murray Hopper. Usually known as COBOL, its original purpose was for it to be able to run on every computer. Furthermore, in its origins, it applied for business uses. As a result, you can find it on credit card processors and ATMs, to name a few.
1964 – BASIC
Dartmouth students John G. Kemeny and Thomas E. Kurtz developed BASIC. Originally, its initials meant Beginner’s All-purpose Symbolic Instruction Code. Later on, Microsoft completed and released it in 1991. With its launch, BASIC became Microsoft’s first product.
2. New-Paradigm Programming Languages
1970 – Pascal Lang
Named after French mathematician Blaise Pascal, Niklaus Wirth developed this programming language. Soon enough, Pascal became one of Apple’s favorites. Consequently, it was its primary language for software dev during the company’s first years. Pascal has been a clear imperative and procedural programming language.
1972 – Smalltalk Lang
Smalltalk it's a product from the Xerox Palo Alto Research Center. Its biggest contribution was to change programmers to change code on the go. Furthermore, it has also influenced the syntax and concepts of other languages. These include Java, Python, and Ruby.
1972 – C Lang
1972 – SQL Lang
By Donald D. Chamberlin and Raymond F. Boyce, SQL —Structured Query Language— was also born at IBM. Among its main uses are viewing and changing information stored in databases. When created, it was called SEQUEL.
1978 – MatLab
MATLAB —Matrix Laboratories— is a Cleve Moller product. As a remarkable point, it’s an excellent language for writing mathematical programs. Moreover, it’s used for matrix manipulation, implementing algorithms, and creating user interfaces.
3. Imperative Programming Languages
1980 – ADA Lang
ADA's development purpose was to serve the US Department of Defense. As you might have guessed, it's named after Ada Lovelace. As for its structure, it's a tactically typed, imperative, and object-oriented language. Today, it's used for air-traffic management systems. Besides, it applies to other transport and space projects.
1983 – C++ Lang
C++ is a C extension designed by Bjarne Stroustrup. Besides C’s components, it also includes classes, templates, and virtual functions. Since 1986, it has been among the top 10 programming languages used in Adobe Photoshop and MS Office. Within its outstanding achievements, it shifted from procedural to object-oriented programming.
1983 – Objective-C
Brad Cox and Tom Love were the developers behind Objective-C. Among its purposes is that it’s general-purpose and object-oriented. Currently, Objective-C is widely used to code software for macOS and iOS.
1987 – PERL
This general-purpose language comes from Larry Wall. During its development, Perl's goal was to be a scripting language. Since then, it’s been used for network programming, CGI, and system administration.
4. Rise-of-the-Internet Programming Languages
1990 – Haskell
Haskell is a purely functional language for complicated calculations, records, and number-crunching. Also, it's used to develop games, such as Nikki and the Robots.
1991 – Python
Designed by Guido Van Rossum, Python is one of the most popular programming languages today. Among its popularity reasons, learning is effortless and requires fewer lines of code. Today, its primary usage is in software and web application development. Also, it comes in handy with information security. For instance, some of Python’s current users include Google Search, Nasa, and YouTube.
1991 – Visual Basic
Microsoft developed Visual Basic at the beginning of the 90s. Through its proposal, programmers can drag and drop chunks of code. While it’s not that popular anymore, parts of it were vital to developing worldwide known tools like Word and Excel.
1993 – Ruby
Yukihiro Matsumoto created Ruby as a teaching language. So, it’s no surprise that it was built from his favorite programming languages. To mention a few, those include Perl, Ada, Lisp, Smalltalk, and Eiffel. Today, it’s used for web apps and on the web app framework Ruby on Rails.
1995 – Java
Java is a platform-independent language created by James Gosling. Initially, it was used for cable boxes and hand-held devices. But, now, it's embedded in pretty much everything. For instance, it’s used by computers and smartphones, even the Mars rovers! On top of that, Java it’s one of the most popular programming languages today.
1995 – PHP
PHP is a scripting language developed by Rasmus Lerdorf. In its beginnings, it stood for Personal Home Page. Nonetheless, nowadays, it stands for Hypertext Preprocessor. Today, it’s popular in web programming for connecting databases. Furthermore, it runs on over 20 million websites, and it’s the primary language of WordPress.
5. 21st-Century Programming Languages
2000 – C#
Microsoft developed C# intending to combine C++’s abilities and Visual Basic’s simplicity. Currently, C# uses lies most in Microsoft products. Moreover, it’s used in Unity to create incredible games.
2003 – Scala
Combining mathematical functions with organized object orientation, Scala is a creation of Martin Odersky. Also, it’s compatible with Java. Furthermore, companies like LinkedIn, Netflix, and Twitter use it.
2003 – Groovy
Groovy was born as a derivative of Java, developed by James Strachan and Bob McWhirter. Among its most prominent features, it's easy to learn and concise, improving productivity. Because of this, ventures like Starbucks and CraftBase use this language.
2009 – Goland
Go (short for Goland) is a Google product to tackle issues that stem from large software systems. Its specialties include web development and cloud and network services. Also, its features include DevOps and site reliability and command-line interfaces. Since its popularity, Uber, Dropbox, and Twitch have handled their projects with Go.
2011 – Kotlin
JetBrains, in 2011, developed Kotlin for the Java Visual Machine. In the bigger picture, it’s usually used to create Android apps. Also, Kotlin is the language behind companies like Google, Amazon, Pinterest, and Trello.
2014 – Swift
To reduce C, C++, and Objective-C’s margin errors, Apple created Swift. As a general-purpose programming language, it's used for desktop, mobile, and cloud apps.
The Evolution of Coding and Programming Languages
In this article, we’ve covered several programming languages with a long-term impact on coding. As a recap, we'd like to summarize how coding has evolved, adding extra information. Education has vastly changed from the beginning of coding to the current day.
Back then, you had to study computer science while learning operating systems independently. Also, a degree or a master's was the main key to getting a job in this field. Nowadays, quality lies in level, experience, and availability. Moreover, now there are countless online tools. As a result, devs can learn and keep updated with the latest trends.
Another difference involves the code’s durability. Back then, we aimed for code able to stand the test of time. Yet, now we know that constant change is a crucial norm. For example, requirements change throughout a project, making the code more customizable.
In the past, object-oriented programming and waterfall-model were all programmers had. Now, coding relies on methodologies and functional programming. While in the early day, code needed to be able to be read and understood, we now aim for concise codes.
The last 70 years have been so rich in progress in coding and programming languages. For instance, in the beginning, we spoke machines’ language. Currently, we're able to create the languages we work with. Also, we’ve adapted how we code and learn to code to meet current industry requirements. In fact, there’s no secret that we can do much more now through coding than ten years ago. Furthermore, we bet this will still be true ten years ahead. So, what do you think the future holds regarding coding and programming?