image
Blog

Current

18 Jan 2024

History of programming. Part II.

Programming Languages
Technology
Software Development

Let’s take a deep dive in time and look at how computer science & programming languages began. Follow us as we go through the ages and look at the timeline, major personalities, and events that through their ingenuity paved the road to our current Technological and Digital Era.

The history of programming

Want to see the father of computers and the first ever programmer as they struggled in the 1800’s, or check out how a 17th-century philosopher helped us develop binary code that helps YOU read these words on your screen. Well, then you absolutely should check out our earlier entry in the series.

And if you’ve just finished that one, let's do a recap of where we left off.

image

Fortran code is said to be 20 times shorter than its analogue in handwritten assembly code.

The community was doubtful of it at the time due to performance concerns, but the fact that programmers could write more code quicker — it was an easy choice from the economical viewpoint.

This how the code interface looked in Fortran back then:

image

It wasn't like entering everything into a computer and having it appear on a screen, there were no screens... or even a keyboard.

image

Computer Program from 1954

Like Mr. Jacquard more than a hundred years ago, they had to encode it on punched cards.

The only difference is that we're talking about an IBM mainframe, and you couldn't touch the IBM mainframe. You had people who did that.

You write your program on that paper with a pen:

image

An improvement on the Fortran language

Since we're talking about Mr. Backus, let's go back to 1958, when Algol was created by a committee including European and American computer scientists.

Algol (also known as Algorithmic Language) is a high-level imperative computer programming language that introduced a wealth of features that would later influence and be used in the creation of Pascal, C#, C++ and Java, among others.

image

Matter of fact most languages now days have syntaxes inspired by Algol and it’s considered amongst the most influential programming languages ever. It’s said that Algol was an attempt to improve on some intrinsic problems met with Fortran and its wildly considered as an “evolution” of sorts. While we’re on the subject, John Backus along side Peter Naur developed the Backus-Naur Form of describing programming languages based on ALGOL 58-60. So, you could consider Backus as one of the original fathers of many languages we use today. Here’s how “Hello, World!” looks in Algol-60: BEGIN DISPLAY (“Hello, world!”) END​ This is starting to look quite reasonable.

Let’s get some clojure for computer sciences

We’re still in the 1958 as we’re about to witness another giant of “programming languages”, and a father-language to many revolutionary ideas at this time – be born.

LISP (aka LISProcessor) – a list depended high-level programming language (3GL) developed by John McCarthy at “Massachusetts Institute of Technology”. The language has a long history of changing dialects (like Racket, Clojure, Common lisp and Scheme).

Originally intended as a formal notation for computations influenced by lambda calculus and artificial intelligence; it surprised everyone after being introduced into the IBM 704 and turning out to be a fully functioning practical tool for solving problems.

Lisp is notable for pioneering many ideas in computer sciences like: tree data structures, dynamic typing, conditions, automatic storage management, recursion, high-order of functions and self-hosting compiler.

image

It is also notable for giving students a migraine, due to its overreliance on parenthesis, so much so they gave it nicknames like “Lost in stupid parenthesis” or “Lots of irritating superfluous parenthesis”. And here’s how “Hello, World!” would look in Lisp: (PRINT “Hello, World!”) Though in 1958 Lisp is still in its infancy and doesn’t see much broad use, this brings us to…

An old acquaintance

At this current time most of if not all computers are working in either low-programming languages like opcode/ASM or the only high-level programming language available Fortran. And if by some reason you want to upgrade your computer, you’ll have to write all that code from scratch.

So, let’s make a small leap to end of 1959. We’re going to meet someone, we’ve already discussed.

And that someone is Grace Hopper; the rear admiral of the US Navy and a computer scientist she has already made an impact on history of programming before by creating the A-0 compiler system.

image

Now however she’s attending the CODASYL or the “Conference oData System Languages” as a technical aide and main expert.

The committee is formed in an attempt to guide the development of standardization of programming languages or create a single language that could be used across different machines regardless of hardware.

image

The result was the “Common Business Orientated Language”, or COBOL for short – an “English-like” Programming language heavily influenced by FLOW-MATIC created by Ms. Hopper;

Primary goal of COBOL was to lower the barrier of entry into programming; before the creation of High-level languages, programming was a realm exclusive to computer scientists and experts.

image

Now however, other enthusiasts from different professions like businesspeople, doctors, engineers, teachers and many other could incorporate computation into their work. To deal with underlying hardware each computing machine had to have its own COBOL compiler. But critically these compilers could accept the same COBOL source code. The notion of “Write once, apply everywhere” was created; for at this time, most computers use machine code or assembly which is very CPU specific. Let’s see how “Hello, World!” looks in COBOL: IDENTIFICATION DIVISION. PROGRAM-ID. hello-world. PROCEDURE DIVISION. DISPLAY "Hello, world!" That folks, is what we call a “language designed by committee”.

The arrival of the minicomputer

Hey mama welcome to the 60’s!! Wo-oh-oh-oh… Oh sorry, old habits.

But as you might have guessed, 1960’s has rolled around, and someone had a bright idea​​​​​​​

How about we stop writing code in pencil and spending weeks on encoding it into punch-cards and use the conveniently invented teletype machines that news agencies and governments use to send messages to each other; and use those to “talk” with the computer?

image

With that sorted, humanity paved the way to a more general-purpose high-level programming languages designed to be used by everyone, everywhere.

And with the emergence of minicomputers on the market, there was a sharp need of a programming language/compiler compact enough to meet the demand.

Thus, BASIC was born – “Beginners’ All-purpose Symbolic Instruction Code”

Originally designed by John G. Kemeny and Thomas E. Kurtz in 1964; Basic’s core principal and objective was “ease of use” and “compactness”.

image

Minicomputer” – PDP-11 So compact in fact that it is generally considered as the first commercial “interpreter” being able to make use of all those 4 kB of memory available on those “mini”-computers. “Basic” was amazing for teaching programming principles, it was easy to understand and follow; especially for people who didn’t have a strong understanding of mathematics or computers in general. Now days we know BASIC under its many dialects that appeared after its inception in 1964 – Microsoft BASIC; Visual BASIC; Atari BASIC; Commodore BASIC; Applesoft BASIC and dozen other variations. However, they all come from the “Dartmouth BASIC”. Aside from being the originator Dartmouth Basic ran with an interactive programming environment available to all students and teachers called “Dartmouth Time Sharing System” (DTSS); the first time-sharing operating system! 10 PRINT “Hello, World!” 20 GO TO 10 120 END

The golden age of programming has begun

With the 1960’s in full swing, technological advancements in computer hardware making leaps and bounds almost daily, we started developing more and more languages.

Let’s speed up and look at more new languages as they appear!

image

Family tree of programming languages. Most of the following have their roots deep down in the languages we’ve mentioned earlier. By 1970s and onwards to 1980s we had: PASCAL (1970); Smalltalk (1972); C (1972); SQL (1972); Scheme (1975); C++ (1980); Ada (1983); Objective-C (1983); Perl (1987) and later the 90s rolled around and we have our favourite: Haskel and Python (1990); Visual Basic (1991); Java, PhP and JavaScript in 1995 and so many others.

History of programming: End of todays session

We believe went too fast over there and overloaded the capacitors; we seem to be going back into 2021!

image

Well, I suppose that’s it for now, something went horribly wrong and I’m afraid we’re stuck in our time again. Perhaps later we’ll be coming back to the 70s and exploring more how our programming world evolved through the ages.

​​​​​​​This was our take on the history of programming from the 1950s to 1960s.

If you think it’s a great idea, maybe leave a like and a comment saying so? What do you think is the most fascinating part of programming history? While you ponder that, I’ll go back researching the incredible ways you can improve your business and tech company with digital transformation.

​​​​​​​Stay classy tech and business nerds!

Share this article on:

Sign up for our
newsletter.

Be up-to-date with our latest news, in-depth insights, and exclusive content.

Related articles.

Blog Image

IT Consulting

Software Development

Agile Project Management

Boost Your Business with Optimized Work Processes for IT Solutions and Products

The digital age is an exciting time for businesses, as new opportunities abound and technology advances quickly. However, it also poses the age-old question: how do we stay ahead of the competition while navigating this ever-evolving digital landscape? At EBS Integrator, we’ve found the answer to this conundrum lies in optimizing work processes and delivering top-notch IT solutions and products. In this article, we’ll reflect on the importance of these processes and explore how partnering with EBS Integrator can benefit your business.

11 May 2023

See more
Blog Image

Technology

A transition story: Clean Desk and Clean Screen Policy

In this article, Alex shares his journey through the implementation of a Clean Desk and Clean Screen Policy during his company's ISO 27001 certification process. Initially resistant to the changes, Alex reflects on the impact of the policy on his workflow, physical security habits, and overall job experience. The transition, while initially perceived as a challenge, ultimately led to a cultural shift within the company, emphasizing the importance of information security and organizational efficiency.

21 Jan 2021

See more