18 Jan 2024
History of programming. Part II.
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.
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:
It wasn't like entering everything into a computer and having it appear on a screen, there were no screens... or even a keyboard.
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:
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.
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:
DISPLAY (“Hello, world!”)
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 LISt Processor) – 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.
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.
Now however she’s attending the CODASYL or the “Conference on Data 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.
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.
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:
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?
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”
“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
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!
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!
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
Be up-to-date with our latest news, in-depth insights, and exclusive content.
Agile Project Management
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
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