Computing
Throughout the 1970s, many advancements regarding computing were made. Great advancements in software and hardware were made.
As of the 1970s, the American Telephone and Telegraph company funded a series of research laboratories.
These laboratories came to be collectively known as "Bell Labs".
Throughout this decade in particular, great advancements in computing were made at these laboratories, advancements that very much affect the computing of today.
As of the end previous decade, an employee named Ken Thompson began writing his own operating system.
Leaving out many crucially important details for the sake of brevity, this operating system was designed with simplicity and exploration of operating system theory in mind.
This operating system came to be known as UNIX.
UNIX had an amazingly massive impact on many operating systems to come.
Most operating systems in use today, Windows included, borrow ideas from UNIX.
Interview featuring Brian Kernighan and Ken Thompson
So that this operating system could be used on computers of many different types, rather than just one, a language was designed for UNIX to be rewritten in.
Designed by Dennis Ritchie, this language ideally allowed for code written to work on any type of computer that had a working interpreter of the language.
This programming language, whose precursors were BCPL, then B after it, was named C.
About 50 years since the language's inception, it is even still widely used.
Both the development of UNIX and C shaped much of how operating systems and programming languages are thought of.
UNIX focused on introducing simple ideas that worked well.
According to toroid.org, a system known as "piping" was introduced in UNIX third edition, that which was released in 1973( source ).
This simple system allows one program's output to be sent to and processed by another.
As an example of this:
Imagine there to be one program that outputs a list of words, and another program that outputs dictionary definitions based on recieved words.
One might run the program that outputs words and "pipe" that to the program that returns dictionary definitions.
In doing so, one would ideally result in a set of word definitions.
UNIX promotional video
OpenBSD virtual machine
Should you go to the above link in Google Chrome, Firefox, or Bing, you may try using UNIX pipes yourself.
Here's an introductory example:
If you type in "ls" and press enter, you will be given a list of files.
These are files that contain data.
There is a file there named "dead.letter".
You can tell the operating system to interact with this file in a variety of ways.
If you run "more dead.letter", you'll be shown the contents of dead.letter.
If you run "tr -d '\n' < dead.letter", that means the following to the operating system:
"Run a program named "tr" with the parameters "-d '\n'" and send the contents of file "dead.letter" to it.
If you run "man tr", you'll be given a manual regarding "tr" and it's usage.
In this manual, it specifies that "The -d option causes characters to be deleted from the input."
In this manual, it also specifies "\n" as a "newline".
Therefore, it was specified for the program "tr" to delete newline characters from the input.
We can also try editing this file in another way.
Using the program "sed", we can do the following:
"sed 's/=/equals' < dead.letter"
Running this command results in a version of "dead.letter" where every "=" is substituted with "equals".
Doing only this results in every part of the file being printed to the screen without any regard for what can be seen, which is a problem.
As a solution, we can send the output of "sed" to a program that will allow for a better viewing experience.
That can be done with the following command:
"sed 's/=/equals' < dead.letter | more"
In doing this, the output of "sed" is piped to "more", a program designed to view text files one screenful at a time.
Pressing the space bar shows the next screenful.
Using a combination of simple general-purpose program, something specific can be done rather well.
That is much of UNIX's design pholosiphy,
Using a combination of general-purpose program, something specific can be done rather well.
This way of providing a program input and parameters along with documenting the behavior of programs was introduced in UNIX.
It was impactful enough for multiple popular derivatives of UNIX to exist and be continually developed as of 2022.
Linux, OpenBSD, FreeBSD, to some extent MINIX, NetBSD, to a limited extent 9Front, and to a currently very limited extent Windows are all exemplary of continually developed derivatives of UNIX.
According to w3techs.com as of 2022 March 3, "Unix is used by 79.9% of all the websites whose operating system we know"( source ).
They classify Linux, MacOS, and Berkeley Software Distribution derivatives as UNIX or like UNIX.
Windows is generally considered very much distinct, distinct enough to not be considerable as a UNIX derivative.
C influenced many programming languages to come as well as much otherwise software.
Even some fundamentally distinct programming languages, such as Python, shares syntax with C.
As an example, printing a set of characters to a screen in C is often done as follows:
printf( "%s\n", "Hello" );
Conversely, printing a set of characters to a screen in Python is often done the following way:
print( "Hello" );
Much software has been and continues to be written in C.
Every single one of the operating systems earlier mentioned, those being Linux, derivatives of BSD, Plan 9, and Windows, is written in C or a derivative of it first and foremost.
In the cases of Linux, BSD, and Plan 9, the source code that constitutes them may be freely downloaded online.
MacOS is known to be developed in C and Objective-C, whereas Windows is known to be developed in C, C++, and some C#.
So much more at Bell Labs was done for the software world during the 1970s than UNIX and C, with the development of AWK and roff coming first into my mind.
For the sake of brevity, however, this is where I will leave this.
During the 1970s, Intel largely changed the ways in which computers may be used.
The way we use computers today, whether it be a laptop, a phone, or most any other computer, is heavily influenced by the inventions of Intel employees during this era.
According to Intel themselves, In 1970 Intel
( source )
"released the 1103 dynamic random-access memory (DRAM), which established semiconductors as the new industry standard for memory (replacing magnetic core memories)"
This fundamentally changed the way in which computers could access information.
Thanks perhaps in large part to this advancement, computers manufactured today can store billions or even trillions of sets of "0" and "1" while still being affordable.
Just as well, those sets of "0" and "1" are quickly accessible.
This development in computing paved the way for greater storage size and access speed.
In 1971, Intel
"introduced the world's first electronically programmable microprocessor, the 4004"
This single development has largely shaped the computing of today.
The development of this microprocessor started our world on the path of laptops and phones.
Without this development or any equivalent one, the computers of today might still have soley been large loud machines.
That same year, they also released
"the world's first electrically programmable read-only memory (EPROM), which would make microprocessor development cheaper and easier"
This development allowed for small, static sets of data to be held in a way that was less resource intensive than otherwise means.
In 1974,
"Intel released the 8080 microprocessor"
The vast majority of laptop and desktop computers contain a processor that is an architectural descendant of this one.
Those same design decisions made more than 40 years ago still very much influence the software of today.
In 1976, Intel
"released the industry’s first single-board computer, the iSBC 80/1
Currently manufactured single board computers serve as an affordable means of owning a computer.
Some are as inexpensive as $5, with the Raspberry Pi Zero coming foremost to mind.
This development, like all the rest listed before it, changed computing in ways that are very much relevant today.