A console application is a
computer program designed to be used via a text-only computer interface, such as a
text terminal, the
command-line interface of some
operating systems (
Unix,
DOS, etc.) or the text-based interface included with most
graphical user interface (GUI) operating systems, such as the
Windows Console
Windows Console is the infrastructure for console applications in Microsoft Windows. An instance of a Windows Console has a screen buffer and an input buffer. It allows console apps to run inside a window or in hardware text mode (so as to occ ...
in
Microsoft Windows, the
Terminal
Terminal may refer to:
Computing Hardware
* Terminal (electronics), a device for joining electrical circuits together
* Terminal (telecommunication), a device communicating over a line
* Computer terminal, a set of primary input and output devi ...
in
macOS, and
xterm in Unix.
Overview
A user typically interacts with a console application using only a
keyboard
Keyboard may refer to:
Text input
* Keyboard, part of a typewriter
* Computer keyboard
** Keyboard layout, the software control of computer keyboards and their mapping
** Keyboard technology, computer keyboard hardware and firmware
Music
* Mu ...
and
display screen, as opposed to GUI applications, which normally require the use of a
mouse or other
pointing device. Many console applications such as
command line interpreter
A command-line interpreter or command-line processor uses a command-line interface (CLI) to receive commands from a user in the form of lines of text. This provides a means of setting parameters for the environment, invoking executables and pro ...
s are
command line
A command-line interpreter or command-line processor uses a command-line interface (CLI) to receive commands from a user in the form of lines of text. This provides a means of setting parameters for the environment, invoking executables and pro ...
tools, but numerous
text-based user interface (TUI) programs also exist.
As the speed and ease-of-use of GUIs applications have improved over time, the use of console applications has greatly diminished, but not disappeared. Some users simply prefer console based applications, while some organizations still rely on existing console applications to handle key data processing tasks.
The ability to create console applications is kept as a feature of modern
programming environments such as
Visual Studio and the
.NET Framework
The .NET Framework (pronounced as "''dot net"'') is a proprietary software framework developed by Microsoft that runs primarily on Microsoft Windows. It was the predominant implementation of the Common Language Infrastructure (CLI) until bein ...
on Microsoft Windows.
It simplifies the learning process of a new programming language by removing the complexity of a graphical user interface (see an example in the
C# article).
For data processing tasks and computer administration, these programming environments represent the next level of operating system or data processing control after
scripting. If an application is only going to be run by the original programmer and/or a few colleagues, there may be no need for a pretty graphical user interface, leaving the application leaner, faster and easier to maintain.
Text User Interface
Libraries
Multiple
libraries are available to assist with the development of Text User Interfaces.
On Unix systems, such libraries are
ncurses and
curses
A curse (also called an imprecation, malediction, execration, malison, anathema, or commination) is any expressed wish that some form of adversity or misfortune will befall or attach to one or more persons, a place, or an object. In particular, ...
.
On Microsoft Windows,
conio.h
conio.h is a C header file used mostly by MS-DOS compilers to provide console input/output. It is not part of the C standard library or ISO C, nor is it defined by POSIX.
This header declares several useful library functions for performing " ...
is an example of such library.
Examples
Console-based applications include
Alpine
Alpine may refer to any mountainous region. It may also refer to:
Places Europe
* Alps, a European mountain range
** Alpine states, which overlap with the European range
Australia
* Alpine, New South Wales, a Northern Village
* Alpine National P ...
(an
e-mail client),
cmus (an
audio player),
Irssi
Irssi ( ) is an IRC client program for Linux, FreeBSD, macOS and Microsoft Windows. It was originally written by Timo Sirainen, and released under the terms of the GNU GPL-2.0-or-later in January 1999.
Features
Irssi is written in the C prog ...
(an
IRC client
Internet Relay Chat (IRC) is a text-based chat system for instant messaging. IRC is designed for group communication in discussion forums, called ''channels'', but also allows one-on-one communication via private messages as well as chat an ...
),
Lynx
A lynx is a type of wild cat.
Lynx may also refer to:
Astronomy
* Lynx (constellation)
* Lynx (Chinese astronomy)
* Lynx X-ray Observatory, a NASA-funded mission concept for a next-generation X-ray space observatory
Places Canada
* Lynx, O ...
(a
web browser),
Midnight Commander
GNU Midnight Commander (also known as mc, the command used to start it, and as mouseless commander in older versions) is a free cross-platform orthodox file manager. It was started by Miguel de Icaza in 1994 as a clone of the then-popular Nort ...
(a
file manager
A file manager or file browser is a computer program that provides a user interface to manage computer files, files and folder (computing), folders. The most common Computer file#Operations, operations performed on files or groups of files inclu ...
),
Music on Console (an
audio player),
Mutt (an e-mail client),
nano (a
text editor),
ne (a text editor),
newsbeuter (an
RSS reader), and
ranger (a
file manager
A file manager or file browser is a computer program that provides a user interface to manage computer files, files and folder (computing), folders. The most common Computer file#Operations, operations performed on files or groups of files inclu ...
).
See also
*
Text-based (computing)
*
Box-drawing character
Box-drawing characters, also known as line-drawing characters, are a form of semigraphics widely used in text user interfaces to draw various geometric frames and boxes. Box-drawing characters typically only work well with monospaced fonts. In ...
*
Shell (computing)
References
Further reading
*
Terminal emulators
User interfaces
Windows administration
MacOS administration
Unix software
{{Software-type-stub