Software calculator

Software calculator
A software calculator is a calculator that has been implemented as a computer program, rather than as a physical hardware device.
They are among the simpler interactive software tools, and, as such, they provide operations for the user to select one at a time. They can be used to perform any process that consists of a sequence of steps each of which applies one of these operations, and have no purpose other than these processes, because the operations are the sole, or at least the primary, features of the calculator, rather than being secondary features that support other functionality that is not normally known simply as calculation.
As a calculator, rather than a computer, they usually have a small set of relatively simple operations, perform short processes that are not compute intensive and do not accept large amounts of input data or produce many results.
Platforms
Software calculators are available for many different platforms, and they can be:
A program for, or included with an operating system.
A program implemented as server or client-side scripting (such as JavaScript) within a web page.
Embedded in a calculator watch.
Also complex software may have calculator-like dialogs, sometimes with the full calculator functionality, to enter data into the system.
History
Early years
Computers as we know them today first emerged in the 1940s and 1950s. The software that they ran was naturally used to perform calculations, but it was specially designed for a substantial application that was not limited to simple calculations. For example, the LEO computer was designed to run business application software such as payroll.
Software specifically to perform calculations as its main purpose was first written in the 1960s, and the first software package for general calculations to obtain widespread use was released in 1978. This was VisiCalc and it was called an interactive visible calculator, but it was actually a spreadsheet, and these are now not normally known simply as calculators.
The Unix version released in 1979, V7 Unix, contained a command-line accessible calculator.
Simulation of hardware calculators
Calculators have been used since ancient times and until the advent of software calculators they were physical, hardware machines. The most recent hardware calculators are electronic hand-held devices with buttons for digits and operations, and a small window for inputs and results.
The first software calculators imitated these hardware calculators by implementing the same functionality with mouse-operated, rather than finger-operated, buttons. Such software calculators first emerged in the 1980s as part of the original Macintosh operating system (System 1) and the Windows operating system (Windows 1.0).
Some software calculators directly simulate one of the hardware calculators, by presenting an image that looks like the calculator, and by providing the same functionality.
Software calculators on the Internet
There is now a very wide range of software calculators, and searching the Internet produces very large numbers of programs that are called calculators.
The results include numerical calculators that apply arithmetic operations or mathematical functions to numbers, and that produce numerical results or graphs of numerical functions, plus some non-numerical tools and games that are also called calculators.
Many of the results are calculators that do not imitate or simulate hardware calculators, but that take advantage of the greater power of computer software to implement alternative types of calculators. Software calculators are provided on the Internet which are customizable to use any conceivable algebraic expression. These user-customizable software calculators can also be used in conjunction with formula or equation creation capabilities so that the software calculator can now be created to perform all possible mathematical functions. No longer limited to a set of trigonometric and simple algebraic expressions, versions of the software calculator are now tailored to any and all topical applications.
Examples
Numerical calculators
Every type of hardware calculator has been implemented in software, including conversion, financial, graphing, programmable and scientific calculators.
Other numerical calculators that do not imitate hardware calculators include:
Formula calculators
Window-based calculators
Specialised calculators.
Window-based calculators
Window-based calculators present a dialog box that allows users to enter data, rather than data and operations, and they have a built-in formula that is automatically applied to this data. There are many examples of such calculators in finance, mathematics, science and other disciplines.
Specialised calculators
There are software calculators that contain operations relevant to a specific application area and profession, including automotive, construction and electrical engineering.
Non-numerical tools
Non-numerical calculators include life-style and scientific calculators:
Love calculator: The input is two names, and there is a button to work out the compatibility, as a percentage, of two people with these names.
Formula weight calculator: The input is a chemical molecular formula, using the periodic-table symbols and notation, and there is a button to work out the percentages of its constituents.
Astronomical calculator: The input is a date and one or multiple celestial bodies (usually the sun, moon, planets, planetoids or comets). The program calculates the position of these bodies to the given date and gives a numerical output of the position (usually in right ascension and declination, whereby the used eqinox may be settable), sometimes also from brightness, angle diameter and phase.
Some programs can generate a list of astronomical events of certain types during a period of time, e.g. a year. Astronomical calculators can be also a part of a simulation software, displaying the sky at a certain time.
Games
There are some software games that are called calculators, including:
Sudoku calculators: The input is a Sudoku puzzle, the operations support solving the puzzle, such as selecting a digit as the solution for a cell, and the result is a solution of the entire puzzle.
Poker calculators: A common feature of these is to calculate the odds of winning with a given Poker hand.
Related software packages
There are many interactive software packages that provide user-accessible calculation features, but that are not normally called calculators, because the calculation features play only a supporting role rather than being an end in themselves. These include:
Spreadsheets, where user-supplied calculations can define a cell’s content.
Computer algebra systems, which can manipulate mathematical expressions, including evaluating simple calculations.
Databases, where user-supplied calculations can specify a field’s value.
Spreadsheets
Spreadsheets are not normally called calculators because their main purpose is to organise data in rows and columns, and to automatically update the values of possibly many dependent cells when the value in another cell changes. The calculation features are only used in a supporting role to specify the values in some cells.
Computer algebra systems
Computer algebra systems are not normally called calculators because their main purpose is to perform symbolic manipulation of mathematical expressions that can contain variables and complex operations, such as integration. However, the expressions can be basic calculations that do not use variables, and that are simply evaluated, as with a calculator.
Databases
Databases are not normally called calculators because their main purpose is data entry and storage, plus reporting against this data. The calculation features are only used in a supporting role to specify the values in some fields.
See also
Comparison of software calculators
Calculator
Calculator input methods
Formula calculator
Graphing calculator
Programmable calculator
Scientific calculator
Windows Calculator
Calculator (macOS)
Calculator watch
Photomath
Microsoft Math Solver
References
Office equipment
Mathematical notation