Rocky Mountain BASIC (also
RMB or
RM-BASIC) is a dialect of the
BASICIn computer programming, BASIC is a family of high-level programming languages. The original BASIC was designed in 1964 by John George Kemeny and Thomas Eugene Kurtz at Dartmouth in New Hampshire, USA to provide computer access to non-science students...
programming languageA programming language is an artificial language designed to express computations that can be performed by a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine, to express algorithms precisely, or as a mode of human...
created by
Hewlett-PackardHewlett-Packard Company , commonly referred to as HP, is a technology corporation headquartered in Palo Alto, California, United States. HP has its United States offices at the former old Compaq Campus in unincorporated Harris County, Texas, Latin America offices in Miami-Dade County, Florida,...
. It was especially popular for control of
automatic test equipmentAutomatic/automated test equipment is any automated device that is used to quickly test printed circuit boards, integrated circuits, or any other related electronic components or modules....
using
GPIBIEEE-488 is a short-range, digital communications bus specification that has been in use for over 30 years. Originally created for use with automated test equipment, the standard is still in wide use for that purpose...
. It has several features which are or were unusual in BASIC dialects, such as
event-driven operationIn computer programming, event-driven programming or event-based programming is a programming paradigm in which the flow of the program is determined by events—i.e., sensor outputs or user actions or messages from other programs or threads.Event-driven programming can also be defined as an...
, extensive external
I/OIn computing, input/output, or I/O, refers to the communication between an information processing system , and the outside world – possibly a human, or another information processing system. Inputs are the signals or data received by the system, and outputs are the signals or data sent from it...
support,
complex numberA complex number, in mathematics, is a number comprising a real number and an imaginary number; it can be written in the form a + bi, where a and b are real numbers, and i is the standard imaginary unit, having the property that i
2 = −1...
support, and
matrixIn mathematics, a matrix is a rectangular array of numbers, such asEntries of a matrix are often denoted by a variable with two subscripts, as shown on the right. Matrices of the same size can be added and subtracted entrywise and matrices of compatible size can be multiplied...
manipulation functions. Today, RMB is mainly used in environments where an existing investment in RMB software, hardware, or expertise already exists.
Rocky Mountain BASIC (also
RMB or
RM-BASIC) is a dialect of the
BASICIn computer programming, BASIC is a family of high-level programming languages. The original BASIC was designed in 1964 by John George Kemeny and Thomas Eugene Kurtz at Dartmouth in New Hampshire, USA to provide computer access to non-science students...
programming languageA programming language is an artificial language designed to express computations that can be performed by a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine, to express algorithms precisely, or as a mode of human...
created by
Hewlett-PackardHewlett-Packard Company , commonly referred to as HP, is a technology corporation headquartered in Palo Alto, California, United States. HP has its United States offices at the former old Compaq Campus in unincorporated Harris County, Texas, Latin America offices in Miami-Dade County, Florida,...
. It was especially popular for control of
automatic test equipmentAutomatic/automated test equipment is any automated device that is used to quickly test printed circuit boards, integrated circuits, or any other related electronic components or modules....
using
GPIBIEEE-488 is a short-range, digital communications bus specification that has been in use for over 30 years. Originally created for use with automated test equipment, the standard is still in wide use for that purpose...
. It has several features which are or were unusual in BASIC dialects, such as
event-driven operationIn computer programming, event-driven programming or event-based programming is a programming paradigm in which the flow of the program is determined by events—i.e., sensor outputs or user actions or messages from other programs or threads.Event-driven programming can also be defined as an...
, extensive external
I/OIn computing, input/output, or I/O, refers to the communication between an information processing system , and the outside world – possibly a human, or another information processing system. Inputs are the signals or data received by the system, and outputs are the signals or data sent from it...
support,
complex numberA complex number, in mathematics, is a number comprising a real number and an imaginary number; it can be written in the form a + bi, where a and b are real numbers, and i is the standard imaginary unit, having the property that i
2 = −1...
support, and
matrixIn mathematics, a matrix is a rectangular array of numbers, such asEntries of a matrix are often denoted by a variable with two subscripts, as shown on the right. Matrices of the same size can be added and subtracted entrywise and matrices of compatible size can be multiplied...
manipulation functions. Today, RMB is mainly used in environments where an existing investment in RMB software, hardware, or expertise already exists. Completely new efforts are more likely to use more "modern" BASIC dialects (such as
Visual BasicVisual Basic is the third-generation event-driven programming language and integrated development environment ' from Microsoft for its COM programming model...
), or eschew BASIC entirely in favor of some other
high-level programming languageIn computing, a high-level programming language is a programming language with strong abstraction from the details of the computer. In comparison to low-level programming languages, it may use natural language elements, be easier to use, or be more portable across platforms...
(such as
C++C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as a middle-level language, as it comprises a combination of both high-level and low-level language features...
).
History and implementations
The origins of RMB can be traced back to
HPHewlett-Packard Company , commonly referred to as HP, is a technology corporation headquartered in Palo Alto, California, United States. HP has its United States offices at the former old Compaq Campus in unincorporated Harris County, Texas, Latin America offices in Miami-Dade County, Florida,...
's
ColoradoColorado is a U.S. state located in the Rocky Mountain region of the United States of America. It may also be considered to be part of the Western and Southwestern regions of the United States. Colorado entered statehood in 1876 and was nicknamed the “Centennial State”...
facilities. Since Colorado is located in the
Rocky MountainsThe Rocky Mountains are a major mountain range in western North America. The Rocky Mountains stretch more than from the northernmost part of British Columbia, in Canada, to New Mexico, in the United States. The range's highest peak is Mount Elbert in Colorado at above sea level...
, this variation of BASIC was dubbed "Rocky Mountain BASIC", to differentiate it from the many other BASIC dialects. As of this writing, it is unclear if the RMB name was original to HP or came from outside, but HP/Agilent now use the term in their own documentation, as well as the more formal "HP BASIC" product name.
Early models of what became the
HP 9000HP 9000 is the name for a line of workstation and server computer systems produced by the Hewlett-Packard Company . The HP 9000 brand was introduced in 1984 to encompass several existing technical workstations models previously launched in the early 1980s....
series of
computerA computer is a machine that manipulates data according to a set of instructions.Although mechanical examples of computers have existed through much of recorded human history, the first electronic computers were developed in the mid-20th century . These were the size of a large room, consuming as...
s were used as controllers for HP
automatic test equipmentAutomatic/automated test equipment is any automated device that is used to quickly test printed circuit boards, integrated circuits, or any other related electronic components or modules....
, connected via the
HP Instrument BusIEEE-488 is a short-range, digital communications bus specification that has been in use for over 30 years. Originally created for use with automated test equipment, the standard is still in wide use for that purpose...
. HP needed to provide a
programming languageA programming language is an artificial language designed to express computations that can be performed by a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine, to express algorithms precisely, or as a mode of human...
which would be friendly to the engineers and scientists which used such test equipment. The
BASICIn computer programming, BASIC is a family of high-level programming languages. The original BASIC was designed in 1964 by John George Kemeny and Thomas Eugene Kurtz at Dartmouth in New Hampshire, USA to provide computer access to non-science students...
programming language, already intended to be easy for novices, was chosen. Early implementations of RMB software on the HP 9000 platform were called
HP BASIC/WS. BASIC/WS ran stand-alone. It provided
operating systemAn operating system is an interface between hardware and user which is responsible for the management and coordination of activities and the sharing of the resources of the computer that acts as a host for computing applications run on the machine. As a host, one of the purposes of an operating...
(OS),
integrated development environmentAn integrated development environment also known as integrated design environment or integrated debugging environment is a software application that provides comprehensive facilities to computer programmers for software development...
(
editorA source code editor is a text editor program designed specifically for editing source code of computer programs by programmers. It may be a standalone application or it may be built into an integrated development environment ....
and
debuggerA debugger is a computer program that is used to test and debug other programs . The code to be examined might alternatively be running on an instruction set simulator , a technique that allows great power in its ability to halt when specific conditions are encountered but which will typically be...
), and the language
interpreterIn computer science, an interpreter is a computer program which reads source code written in a high-level programming language, transforms the code to machine code, and executes the machine code. Using an interpreter, a single source file can produce equal results even in vastly different systems...
. Later, HP implemented RMB on top of the
HP-UXHP-UX is Hewlett-Packard's proprietary implementation of the Unix operating system, based on System V . It runs on the HP 9000 PA-RISC-based range of processors and HP Integrity Intel's Itanium-based systems, and was also available for later Apollo/Domain systems...
OS, and called it
BASIC/UX. BASIC/UX 300 ran on series 300 hardware and BASIC/UX 700 ran on series 700 hardware. BASIC/WS, BASIC/UX 300 and BASIC/UX 700 were last updated to fix Year 2000 date related issues.
As technology advanced, HP was able to embed RMB implementations directly in the test equipment. The capabilities of these embedded implementations varied. These implementations went by a variety of names, including
HP Instrument BASIC and
Board Test BASIC (
BT-BASIC).
HP produced an RMB implementation for
Microsoft WindowsMicrosoft Windows is a series of software operating systems and graphical user interfaces produced by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces...
called
HP Instrument BASIC for Windows; however, it never enjoyed the success of their other RMB products.
Another company,
TransEra, created a clone implementation of RMB, which they called
High Tech BASIC, or
HT BASIC (now
HTBasic).
HPHewlett-Packard Company , commonly referred to as HP, is a technology corporation headquartered in Palo Alto, California, United States. HP has its United States offices at the former old Compaq Campus in unincorporated Harris County, Texas, Latin America offices in Miami-Dade County, Florida,...
later licensed HT BASIC from TransEra Corporation of Orem, Utah, re-branded it, and sold it as
HP BASIC for Windows (no relation to the HP-produced "HP Instrument BASIC for Windows"). As of 2008, TransEra is still maintaining and updating HTBasic with fixes and new features. Although HTBasic is fundamentally an interpreted language, a
compilerA compiler is a computer program that transforms source code written in a computer language into another computer language...
is available.
Test & Measurement Systems, Inc., also known as
"TAMS", of Loveland, Colorado, acquired HP BASIC/WS and BASIC/UX 300 product responsibility in 1998. As of 2009, TAMS continues to sell and support the legacy versions of BASIC/WS and BASIC/UX. TAMS also licensed BASIC/UX 700 from Agilent Technologies and ported RMB to both HP-UX 11i and
Red Hat Enterprise LinuxRed Hat Enterprise Linux is a Linux distribution produced by Red Hat and targeted toward the commercial market, including mainframes. Red Hat commits to supporting each version of Red Hat Enterprise Linux for 7 years after its release. All of Red Hat's official support, all of Red Hat's training...
. The HP-UX 11i implementation is known as
"BASIC for 11i" or "BASIC/UX 11i". The Red Hat Enterprise Linux version is known as
"BASIC for Linux", "BASIC/LX" or "RMBLX".
HP retained BASIC/UX 700 (E2045C) until spinning off their instrument division as
Agilent TechnologiesAgilent Technologies , or Agilent, is a company which designs and manufactures instruments and equipment for measurement and evaluation. The company's headquarters are in Santa Clara, California....
. The remaining RMB product responsibility went with Agilent Technologies, who eventually dropped support for it. Agilent now refers customers to either TransEra for BASIC for Windows or to TAMS for BASIC/WS, BASIC/UX or BASIC for Linux.