Before 1983 all computers used a textual user interface.
Computers were expensive until the late 1970's when the first microprocessors were developed and the first home computers become popular. The interface remained textual.
Around 1978 the first low resolution graphics were displayed on the monochrome CRT screens. The first popular microcomputer, the Apple II, introduced higher resolution graphics with a colour adaptor option. By 1983 IBM was the biggest microcomputer manufacturer and had become the de facto standard for personal computers, running PC-DOS / MS-DOS. The PC market flourished.
Before 1983 computers were used for everything imaginable at the time. Networking, computer aided design, accounting, education, scientific instrumentation and analysis, and games.
No one complained about those PCs because they did not have mice. In fact when the first mice became available in 1983 they were not big sellers. All they could be used for is for drawing sketches.
It was the late Steve Jobs, I believe, that took the technology that was being developed for the Xerox PARC Alto computer and developed the first personal computer with a graphical user interface (GUI) - this was the Apple Lisa. Other manufacturers soon jumped on the GUI bandwagon. The successful companies were Apple and Microsoft. But it was Apple, who in 1984 introduced the Macintosh (a cheaper version of the Lisa) and did aggressive advertising with the only message being that it makes computers easier to use.
In these early days of GUI, no one could dispute the fact that the Macintosh was the easiest to use and the most intuitive computer. Like the iPad today, even a toddler could quickly learn how to play games or sketch. The GUI interface quickly became the favourite choice for desk-top publishing and graphic design. But other than for these WYSIWYG (what you see is what you get) applications, the GUI had no real benefit. In fact for some applications the GUI is inefficient.
Games are a good example of how a GUI is inefficient. Admittedly some games have been developed that take advantage of a mouse pointer or touch screen, but others still use simple hand controllers, joy-sticks, or keyboard. Other games use more innovative ways to interface, such as solid-state gyroscopic and acceleration sensors. Future games might work by thought alone. But the fact remains that only a physical keyboard offers a wide range of characters and symbols that can be reached with accuracy in a fraction of a second.
Anyone who has used an on-screen keyboard operated with a mouse will know how slow that can be. Even with a touch screen the typing speed and accuracy cannot match a decent physical keyboard. Very few business computer applications can be made to work effectively without some sort of keyboard.
The bottom line is that graphic design programs, most games and some social networking applications cannot succeed without a touch screen or mouse. The rest will do better with a textual user interface.
Apple Mac and MS Windows have committed fully to GUI. And they have made GUI screens look futuristic. The textual interface has been given the sense of being old fashioned and totally unfairly, also the illusion of being more difficult to use and less powerful.
The actual evolution of the operating system has been largely driven by the likes of Intel and other hardware developers. The micro-processors that first gained popularity in microcomputers were 8-bit devices that could only directly address 64 kilobytes of random access memory. The limited power of these early processors did not allow the development of a workable GUI.
DOS is actually an acronym for Disk Operating System. The Microsoft version was called MS-DOS. DOS was a 16-bit operating system and the hard disk format used FAT-16 - the 16-bit file allocation table. The use of the acronym, DOS, became commonly used to refer to programs that were not using a graphical user interface, and instead the two-letter acronym, OS, is now in common use to describe the underlying operating system. Microsoft stopped supporting MS-DOS as a stand-alone operating system around the time that they released Windows 95, and that spurred the development of several clone versions of DOS, such as FreeDOS, that are still available today.
Today, old DOS programs can only be run on new Windows computers by using a virtual 16-bit DOS shell.
Windows is the name Microsoft gave to their GUI (graphical user interface). Until Windows 98, Windows still used much of MS-DOS 'under the hood'. It is significant to note that the graphical user interface is NOT the same thing as a disk operating system,but is actually the human interface to the underlying operating system.
The Apple Macintosh blurred the distinction by doing a good job of hiding the underlying operating system from the average user (as have Microsoft done since Windows 95). So, when they refer to OS-X one thinks only of the user interface rather than the underlying operating system (which, in fact, is a flavour of Unix).
On the office desktop computer, both do the same thing. Linux, being free open source software, can be made to look and behave almost identical to Windows - not that many Linux fans would want that. The biggest difference is not the GUI, but rather the underlying operating system.
Windows operating system evolved from CP/M (Control Program / Monitor) and then the PC-DOS that was written by Bill Gates around 1980.
Unix was developed around 1969 and is the operating system used by most computers. There are many versions of Unix - Linux being one of them. The Linux kernel was originated by Linus Torvalds in 1991 and Linux has become a highly developed open source operating system with many thousand contributors from around the world.
A textual, or text-based user interface (TUI) is one where all communication between the user and the computer is done by using text on the screen and a keyboard for the user to provide input.
It should not be confused with 'command line interface' (CLI). (The command line is the closest a human can get to interact with an operating system. It is extremely efficient and fast, but it requires prior knowledge of the command usage, and is not 'user friendly'. A mistake at the command line can cause irreversible damage to the data or even the computer. While the choice of geeks and many Linux administrators, it is definitely not a suitable interface for the average user.)
A good textual user interface will be intuitive and friendly. While many traditional TUIs used a menu driven model, where the choices given to the user were in a numbered list and the user would type the corresponding number on the keyboard and press Enter to get the job done or bring up a child menu, Modern TUIs offer greater efficiency. The best are actually much more efficient than an equivalent GUI, because whereas in a GUI, to click on a button requires that you move a mouse pointer to the exact position on the screen and then press the left mouse button, with a TUI you just type the required key.
While it can be argued that with a GUI you already have your hand on the mouse, or with a touch screen you just need one intuitive touch to press the button, this argument fails on any program that requires text input as well - such as the case with most business programs.
A well designed TUI can be operated by using quickly-learned 'short-cut' key sequences of 1 to 4 characters - a feature that could be emulated on GUI, but due to the fact that it would break the pure GUI model, seldom is.
By avoiding the need to display graphics, simple text-only terminals can be used as workstations. The server that runs the programs does not need to provide a graphical service to the users. As a result the network traffic is minimal. Wide area networking is fast and, because of the low traffic, less costly.
Because of this efficiency, operation on the cloud, with Software as a Service (SaaS), is an economical reality - even with relatively slow Internet connections.
See 'The reason why' above. No software company entering into business today will want to risk investing in the tedious task of developing a text-based application without the help of good developer tools and the knowledge that the typical user will consider it to be 'old fashioned, DOS' and thus write it off as being less powerful without giving it an objective look.
And, some people will actually judge a program by its size footprint. GUI programs are typically many times bigger than equivalent TUI programs.
The vast majority of today's applications are small, stand-alone 'apps'. Larger programs are typically under-featured or difficult to learn. It is easy to write a user-friendly application using GUI - but as more features are added, the GUI interface either becomes confusing with lots of little controls, or the dialogue boxes become hierarchical and thus slower to navigate.
It is not easy to visually set the size limit for a text field in GUI, And it is a challenge to design a GUI application that can be operated solely with touch screen or mouse - or solely with keyboard.
One thing that can be said for GUI is that, with 'pull-down pick lists' and 'spin-boxes' for selecting numbers, it can be fun to use. This is the challenge for TUI programmers: Make your programs fun to use! But please don't call it DOS!