Programmable calculators are calculators that can automatically carry out a sequence of operations under control of a stored program, much like a computer. The first programmable calculators such as the IBM CPC used punched cards or other media for program storage. Hand-held electronic calculators store programs on magnetic strips, removable read-only memory cartridges, or in battery-backed read/write memory.
Since the early 1990s, most of these flexible handheld units belong to the class of graphing calculators. Before the mass-manufacture of inexpensive dot-matrix LCDs, however, programmable calculators usually featured a one-line numeric or alphanumeric display. The Big Four manufacturers of programmable calculators are Casio, Hewlett-Packard, Sharp, and Texas Instruments. All of the above have also made pocket computers in the past, especially Casio and Sharp.
Many calculators of this type are monochrome LCD, some are four-color (red or orange, green, blue, and black), or, in the case of some machines at the top of the line as of February 2015 colour similar to monitors displaying 8 or 16 bit graphics. As they are used for graphing functions, the screens of these machines are pixel-addressable. Some have a touch screen, buzzers or other sound producers, internal clocks, modems or other connectivity devices including IrDA transceivers, several types of ports for peripherals like printers, and ports for memory cards of a number of types.
Programmable calculators allow the user to write and store programs in the calculator in order to solve difficult problems or automate an elaborate procedure.
Programming capability appears most commonly (although not exclusively) in graphing calculators, as the larger screen allows multiple lines of source code to be viewed simultaneously (i.e., without having to scroll to the next/previous display line). Originally, calculator programming had to be done in the calculator's own command language, but as calculator hackers discovered ways to bypass the main interface of the calculators and write assembly language programs, calculator companies (particularly Texas Instruments) began to support native-mode programming on their calculator hardware, first revealing the hooks used to enable such code to operate, and later explicitly building in facilities to handle such programs directly from the user interface.