Introduction

This week I went on an adventure into the unknown (to me) world of computer programming languages. It is a scary place of foreign jargon and out of context terminology, and I must admit I am experiencing digital culture shock. In the following paragraphs, I present to you my best effort to summarize these five specially chosen, High-Level programming languages respectively: Smalltalk, MATLAB, C++, Python and Java. I will describe them as compiled or interpreted, which programming paradigm they belong to, a brief history of their development and an example of a digital product created with each of them. For a quick fact check that I met the criteria for the assignment, find the bold print for the easy answers, except the brief history, you’ll have to wade through that.

Smalltalk

To start my adventure, I chose Smalltalk for its funky font and easy going name. This is a small and simple programming language created at  Xerox PARC in 1972, by Alan Kay, Dan Ingalls and Adele Goldberg, with the intent to be used for teaching children programming.  Sounds like a good place for me, a beginner to begin. Development started in 1969 and Alan Kay’s first version was Smalltalk-71. Various iterations brought it through the 1970’s with a stable release in 1980 as Smalltalk-80. Smalltalk is compiled and then interpreted by a Virtual Machine, making it unclear which one it actually is, so let’s say both. I do know that Smalltalk made coding easy to change ‘on the fly’, by dynamic typing during runtime. It was one of the first to pioneer a truly object-oriented programming paradigm, and a graphical user interface (GUI) which inspired the likes of Steve Jobs in 1979 when he visited Xerox PARC with a group of Apple engineers. The digital products Smalltalk boasts, were debuted inside the Xerox Alto personal machine. It used a mouse to open and close windows on its snazzy GUI, emails could be sent via the Ethernet, and its visuals still wow me today with its little elf graphic and user friendly goodness. Jobs wasn’t only inspired, he gobbled up all that potential and took off running making the personal computers that are popular today. It was well loved and went on to influence many other programmers’ languages, like Objective-C, Java, Python and Ruby.

MATLAB

MATLAB by MathWorks is next, born in the same fabulous year I was,1978, and released to the public in 1979. I like math and science and so does MATLAB, so we have a lot in common. MATLAB stands for Matrix Laboratory. It is an interpreted language of the multi-paradigm variety, including object-oriented, functional, procedural, imperative and array paradigms. Now that we have that out of the way, let’s debrief its history. MATLAB was founded by Cleve Moler, a mathematician and computer programming whiz, in the 1960’s. In the beginning, it was a simple interactive matrix calculator for linear algebra equations. Moler, John Little and Steve Bangert collaborated and reprogrammed MATLAB in C, so it could feature toolboxes and be marketable for IBMs desktop computers. By the mid 80s MATLAB programming language was released, and MathWorks stepped in to develop software with it. Now it is used by millions of people across the globe for various applications. Students, scientists, engineers, mathematicians and economists use it for sophisticated numerical computing, for building human-like robots, and models, and to replicate and predict outcomes of real world systems. MATLAB is used in designing Volvo Cars to simulate and model how the cars’ software will work on the road. It’s incredible how cars have literally evolved into digital products!

C++

Way back in 2002, I took my first Photoshop class at the University of Victoria. I have used it endless times since, to manipulate photos, digitizing my artwork, and complete numerous other projects. Photoshop employs C++. It might be worth mentioning that I use the program QuickBooks, at work, which also employs C++. I had no idea I owed all this fun to C++ programming Language. C++ is a compiled language and includes object-oriented, generic and procedural programming paradigms, making it another multi-paradigm language. It evolved out of C and Objective-C to include classes, and the ++ is in reference to the increment operator, where the value of a variable increases by one. Bjarne Stroustrup, C++’s inventor, wanted to up C’s game by taking the speed and simplicity of Low-Level language and adding object driven programming , whereby users can control data function and operator overloading (my brain hurts). Basically, I am trying to say Stroustrup was going for speed, power and memory of low-level programing and adding the ease of user manipulation so cool things like Photoshop, super slick VR, video games, and robots could evolve! Stroustrup started developing the language at Bell Laboratories in 1979, naming it C++ in 1983 and releasing it to the public in 1989. C++ was formally standardized in 1998, released again in 2011 as C++11.  It is a complex language to learn but really foundational and popular because of its power, stability and many capabilities. 

Python

In my youth, I nearly won a speech contest with my 4-H speech on snakes, and I’ve been known to laugh out loud while watching many of Monty Python’s comedy sketches. Obviously, I couldn’t resist choosing to talk about the Python programming language. It was built and dubbed Python by Guido Van Rossum after the comedy group, named after the snake. Clearly, the man is smart and has a sense of humor. Rossum’s starting point for Python was an attempt to improve upon ABC language, just for something to do over his Christmas break in 1989, while he was working at CWI in the Netherlands. By 1991 he released Python 0.9.0 publicly. He had taken all the good qualities from ABC, adjusted the problems he found with it, and streamlined the coding to contain less lines and be more easily read. Python is Interpreted, converted into bytecode using a Virtual Machine. Of the multi-paradigm genre, it includes interactive object-oriented, imperative and functional paradigms. New releases followed in 1994 with 1.0, and Python 2.0 in 2000 with added features like map and garbage collection. In 2008 Python 3.0 was released to improve upon a flaw. Python is still a popular language today. I hope NASA’s Perseverance Rover that is on Mars, counts as a digital product using Python scripting (amongst many other programming languages). The scripting facilitated those initial photos of Mars taken by the rover, to be transferred to the flight control center and processed for all of us planet gazers on the internet to see.

Java

I work in the wholesale office at Creekmore’s Coffee, and have acquired a passion and addiction to good quality Java. I also use Java when I do many things like use Google, listen to Spotify, watch Netflix and play Minecraft. Actually, I don’t play Minecraft, but my kids sure love this digital product. Java first arrived on the public scene in 1995, but its creation began earlier in the 1990s by James Gosling and his team of engineering buddies called the Green Team, at Sun Microsystems. Java, also known firstly as Greentalk, then Oak, is special because of its portability which is paramount for use on the interwebs. Its tag line is “write once, run anywhere” and rightfully so since it is beneath almost everything we do on the internet. There are so many new releases, one almost every year, so I will not bother with the list. Finally, it is another multi-paradigm wonder, using class-based object-oriented, functional, imperative, reflective and concurrent paradigm programming. Java is compiled and interpreted using a Virtual Machine. Pretty much, it is our everything.

Conclusion

In true Leslie Love fashion, I hope I’ve kept things interesting for us both, by giving these 5, High-Level programming languages some context in my world, with my own creative language. See below the many links I used to gather my tidbits, to inform this original narrative.

A Random Array of Some of the Links I Perused:

https://www.javatpoint.com/history-of-java

https://learnpython.com/blog/python-on-mars/

https://www.javatpoint.com/python-history

https://www.artima.com/articles/the-making-of-python

https://www.geeksforgeeks.org/history-of-python/

https://www.oreilly.com/library/view/object-oriented-programming/9789332503663/xhtml/head-0045.xhtml#:~:text=C%2B%2B%20was%20developed%20by%20Bjarne,it%20as%20C%2B%2B%20in%201983.

https://www.mathworks.com/videos/multidomain-model-driven-software-development-at-volvo-car-group-108100.html

https://www.mathworks.com/products/matlab.html

https://en.wikipedia.org/wiki/MATLAB

https://www.mathworks.com/company/newsletters/articles/the-origins-of-matlab.html#:~:text=MATLAB%20is%20now%20a%20full,in%20the%20origins%20of%20MATLAB.

https://www.newyorker.com/magazine/2011/05/16/creation-myth