Terminals, consoles and standards

When modern computers were first made there was the terminal or shell or command console. This text-based wonder still lives on today. The text below is taken from Wikipedia (https://en.wikipedia.org/wiki/History_of_Unix)

“The history of Unix dates back to the mid-1960s when the Massachusetts Institute of Technology, AT&T Bell Labs, and General Electric were jointly developing an experimental time-sharing operating system called Multics for the GE-645 mainframe.[1] Multics introduced many innovations, but had many problems.

Bell Labs, frustrated by the size and complexity of Multics but not the aims, slowly pulled out of the project. Their last researchers to leave Multics – Ken Thompson, Dennis Ritchie, Doug McIlroy, and Joe Ossanna among others[2] – decided to redo the work on a much smaller scale.[3] In 1979, Dennis Ritchie described their vision for Unix:[3]

What we wanted to preserve was not just a good environment in which to do programming, but a system around which a fellowship could form. We knew from experience that the essence of communal computing, as supplied by remote-access, time-shared machines, is not just to type programs into a terminal instead of a keypunch, but to encourage close communication.”

Terminals are mostly used for administration tasks though can be used for many other tasks as well. Bash (a popular shell on Linux) can run a multitude of terminal-based programs as well as be used for file management. Shells like this are based on the same technology from the 1960s with updated tools and capabilities. When I first started using Linux, I mostly avoided the terminal but at times I had to use it. Eventually, I found many tasks were easier and more efficient on the terminal. For example on Debian based systems such as Ubuntu using ‘apt’ on the command line could easily update the system. Sometimes copying large amounts of files was easier on the command line as errors were silent (normally the errors were not important but would slow down copying in a GUI) and the process could run uninterrupted. Sometimes terminal-based browsers are much faster and more efficient when searching for particular text on the web.

What is important to note is that technology is not just about what is new, but what has lasted and made its way into technology from the very beginning of operating system development. Most modern operating systems have an underlying command-line system running below them. Not to forget that most Intel systems have a small micro-kernel OS running in a chip that is separate from the OS that you run to do your computing tasks. A lot of companies hide the terminal-based tools above their windowing system and may have a basic terminal with limited capabilities available such as PowerShell on WindowsOS. Even macOS has a BSD based terminal which is directly related to the UNIX family. Linux on the other hand is a UNIX clone and borrows from the UNIX family of operating systems. Although Linux is built on top of the terminal console which sits below the windowing environment and is available to be booted in independently of any windowing systems available. A lot of people ask why more people don’t use Linux when it is clearly a better system. The main reason why is industry standards are based on certain sets of software developed for commercial systems. These systems in a way are self-serving to commercial interests, it is simply like with like. The design and implementation of industry standards are needed for control of implementation. An open-source model even though far more efficient doesn’t suit the manufacturing requirements of commercial hardware and obsolescence. The inefficiencies of any commercial system are too costly to design around so mainly smaller groups of community-minded software engineers will design for older hardware as it is more affordable and available although they are not as tied to any one hardware platform in most cases. 

For example for Adobe to design around older hardware, they would probably need to fork their software offerings around many situations that are too costly and complex to navigate. If there is a clear standard of new and obsolete hardware the costs around the development are easier to manage and forecast. In a lot of ways, you need to have a clear system even if it is wasteful as recycling the older hardware means the companies developing have to bear the costs around unclear use scenarios. It is either the user pays or the company pays. As a lot of open-source software developers are developing for a smaller community, they don’t for example have the same level of resources to worry about. They could for example develop on a smaller scale and budget for users on a smaller scale and budget. Although some open-source development does have industry standards and scale yet the best tools for the job are quite different for every scenario and industry.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s