In
computing
Computing is any goal-oriented activity requiring, benefiting from, or creating computer, computing machinery. It includes the study and experimentation of algorithmic processes, and the development of both computer hardware, hardware and softw ...
, minimalism refers to the application of
minimalist philosophies and principles in the design and use of
hardware and
software
Software consists of computer programs that instruct the Execution (computing), execution of a computer. Software also includes design documents and specifications.
The history of software is closely tied to the development of digital comput ...
. Minimalism, in this sense, means designing systems that use the least hardware and software resources possible.
History
In the late 1970s and early 1980s, programmers worked within the confines of relatively expensive and limited
resources
''Resource'' refers to all the materials available in our environment which are Technology, technologically accessible, Economics, economically feasible and Culture, culturally Sustainability, sustainable and help us to satisfy our needs and want ...
of common platforms. Eight or sixteen
kilobytes of
RAM was common; 64 kilobytes was considered a vast amount and was the entire
address space accessible to the
8-bit CPUs predominant during the earliest generations of
personal computer
A personal computer, commonly referred to as PC or computer, is a computer designed for individual use. It is typically used for tasks such as Word processor, word processing, web browser, internet browsing, email, multimedia playback, and PC ...
s. The most common storage medium was the 5.25 inch
floppy disk holding from 88 to 170 kilobytes. Hard drives with capacities from five to ten
megabytes cost thousands of dollars.
Over time, personal-computer memory capacities expanded by orders of magnitude and mainstream programmers took advantage of the added storage to increase their software's capabilities and to make development easier by using
higher-level languages. By contrast,
system requirements for
legacy software remained the same. As a result, even the most elaborate, feature-rich programs of yesteryear seem minimalist in comparison with current software.
One example of a program whose system requirements once gave it a heavyweight reputation is the
GNU Emacs
GNU Emacs is a text editor and suite of free software tools. Its development began in 1984 by GNU Project founder Richard Stallman, based on the Emacs editor developed for Unix operating systems. GNU Emacs has been a central component of the GNU ...
text editor, which gained the
backronym "Eight Megabytes And Constantly Swapping" in an era when 8 megabytes was a lot of RAM. Today, Emacs' mainly textual
buffer-based paradigm uses far fewer resources than
desktop metaphor
In computing, the desktop metaphor is an interface metaphor which is a set of unifying concepts used by graphical user interfaces to help users interact more easily with the computer. The desktop metaphor treats the computer monitor as if it is ...
GUI IDEs with comparable features such as
Eclipse or
Netbeans. In a speech at the 2002 International Lisp Conference,
Richard Stallman indicated that minimalism was a concern in his development of
GNU and Emacs, based on his experiences with
Lisp and system specifications of low-end
minicomputers at the time.
As the capabilities and system requirements of common desktop software and operating systems grew throughout the 1980s and 1990s, and as software development became dominated by teams espousing conflicting, faddish
software development methodologies, some developers adopted minimalism as a philosophy and chose to limit their programs to a predetermined size or scope. A focus on
software optimization can result in minimalist software, as programmers reduce the number of operations their program carries out in order to speed execution.
In the early 21st century, new developments in computing have brought minimalism to the forefront. In what has been termed the
post-PC era it is no longer necessary to buy a high-end personal computer merely to perform common computing tasks.
Mobile computing devices, such as
smartphones,
tablet computers,
netbooks and
plug computers, often have smaller memory capacities, less-capable graphics subsystems, and slower processors when compared to the personal computer they are expected to replace. In addition, heavy use of graphics effects like
alpha blending drains the battery faster than a "flat ui". The growing popularity of these devices has made minimalism an important design concern.
Google
Google LLC (, ) is an American multinational corporation and technology company focusing on online advertising, search engine technology, cloud computing, computer software, quantum computing, e-commerce, consumer electronics, and artificial ...
's
Chrome browser and
ChromeOS are often cited as examples of minimalist design.
Another example is
Windows 8, where
Microsoft
Microsoft Corporation is an American multinational corporation and technology company, technology conglomerate headquartered in Redmond, Washington. Founded in 1975, the company became influential in the History of personal computers#The ear ...
implemented the "simple, squared-off"
Metro appearance, which was less graphics-intensive than the previous
Aero interface used in
Windows 7 and
Windows Vista
Windows Vista is a major release of the Windows NT operating system developed by Microsoft. It was the direct successor to Windows XP, released five years earlier, which was then the longest time span between successive releases of Microsoft W ...
. This change was made in part because of the rise of smaller, battery-powered devices and the need to conserve power. Version 7 of
Apple
An apple is a round, edible fruit produced by an apple tree (''Malus'' spp.). Fruit trees of the orchard or domestic apple (''Malus domestica''), the most widely grown in the genus, are agriculture, cultivated worldwide. The tree originated ...
's
iOS made similar changes for
user experience reasons.
Usage
Developers may create
user interface
In the industrial design field of human–computer interaction, a user interface (UI) is the space where interactions between humans and machines occur. The goal of this interaction is to allow effective operation and control of the machine fro ...
s to be as simple as possible by eliminating
buttons and
dialog boxes that may potentially confuse the user. Minimalism is sometimes used in its
visual arts meaning, particularly in the
industrial design of the hardware device or
software theme.
Some developers have attempted to create programs to perform a particular function in the fewest lines of code, or smallest compiled executable size possible on a given platform. Some
Linux
Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
distributions mention minimalism as a goal.
Alpine,
Arch,
Puppy
A puppy is a Juvenile (organism), juvenile dog, generally one less than 12-18 months old.
Puppies are markedly underdeveloped and dependent on their mothers at birth (displaying ''altriciality''), but healthy puppies grow quickly and begi ...
,
Bodhi,
CrunchBang,
dynebolic and
Tiny Core are examples. The early development of the
Unix system occurred on low-powered hardware, and
Dennis Ritchie and
Ken Thompson have stated their opinion that this constraint contributed to the system's "elegance of design".
Programming language
A programming language is a system of notation for writing computer programs.
Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
designers can create minimal programming languages by eschewing
syntactic sugar and extensive
library functions. Such languages may be
Turing tarpits due to not offering standard support for common programming tasks. Creating a minimal Lisp
interpreter is a common learning task set before
computer science
Computer science is the study of computation, information, and automation. Computer science spans Theoretical computer science, theoretical disciplines (such as algorithms, theory of computation, and information theory) to Applied science, ...
students. The
Lambda calculus, developed by
Alonzo Church
Alonzo Church (June 14, 1903 – August 11, 1995) was an American computer scientist, mathematician, logician, and philosopher who made major contributions to mathematical logic and the foundations of theoretical computer science. He is bes ...
is a minimal programming language that uses only function definitions and function applications.
Scheme,
Forth, and
Go are cited as examples of practical, minimal programming languages.
The programming hobby of
code golf results in minimalist software, but these are typically exercises or
code poetry, not usable applications software.
John Millar Carroll, in his book ''Minimalism Beyond the
Nürnberg Funnel'' pointed out that the use of minimalism results in "instant-use" devices such as video games,
ATMs,
voting machines, and
mall kiosks with little-or-no
learning curve that do not require the user to read manuals. User Interface researchers have performed experiments suggesting that minimalism, as illustrated by the design principles of
parsimony and
transparency, bolsters efficiency and learnability. Minimalism is implicit in the
Unix philosophies of "everything is a text stream" and "do one thing and do it well", although modern Unix/Linux distributions do not hold so rigorously to this philosophy.
See also
*
Code bloat
*
Code refactoring
*
Concision
In common usage and linguistics, concision (also called conciseness, succinctness, terseness, brevity, or laconicism) is a communication principle of eliminating redundancy (linguistics), redundancy,UNT Writing Lab. "Concision, Clarity, and Cohes ...
: Brief, succinct.
*
Don't repeat yourself
*
Feature creep
*
KISS principle
*
Light-weight Linux distribution
*
Muntzing
*
Pareto principle 80:20 rule
*
Rule of least power
*
Software bloat
*
Unix philosophy
*
Wirth's law
*
Worse is better
*
Zawinski's law of software envelopment
*
GreenBrowser
References
{{DEFAULTSORT:Minimalism (Computing)
Classes of computers
Software development philosophies
Degrowth
Software optimization
Electronics optimization