VSI BASIC for OpenVMS

Last updated
VSI BASIC for OpenVMS
Paradigm imperative
Developer Digital Equipment Corporation
OS OpenVMS

VSI BASIC for OpenVMS is the latest name for a dialect of the BASIC programming language created by Digital Equipment Corporation (DEC) and now owned by VMS Software Incorporated (VSI). It was originally developed as BASIC-PLUS in the 1970s for the RSTS-11 operating system on the PDP-11 minicomputer. It was later ported to OpenVMS, first on VAX, then Alpha, and most recently Integrity.

Contents

Past names for the product include: BASIC-PLUS, Basic Plus 2 (BP2 or BASIC-Plus-2), VAX BASIC, DEC BASIC, Compaq BASIC for OpenVMS and HP BASIC for OpenVMS. Multiple variations of the titles noting the hardware platform (VAX, AlphaServer, etc.) also exist.

Notable features

VSI BASIC has many FORTRAN-like extensions, as well as supporting the original Dartmouth BASIC matrix operators.

Line numbers are optional, unless the "ERL" function is present. It allows you to write "WHEN ERROR" error handlers around protected statements. The more traditional but less elegant "ON ERROR" statement lacks such context or scope.

One of VSI BASIC's more noteworthy features is built-in support for OpenVMS's powerful Record Management Services (RMS). Before the release VAX BASIC, native RMS support was only available in DEC's COBOL compiler.

History

The VSI BASIC for OpenVMS product history spans a period of more than 30 years, and it has gone through many name and ownership changes in that time. It has also been ported to a succession of new platforms as they were developed by DEC, Compaq, HP and VSI. The company and/or platform name has often been included in the product name, contributing to the proliferation of names.

BASIC-PLUS

VSI BASIC began as BASIC-PLUS, created by DEC for their RSTS-11 operating system and PDP-11 minicomputer. Programming language statements could either be typed into the command interpreter directly, or entered into a text editor, saved to a file, and then loaded into the command interpreter from the file. Errors in source code were reported to the user immediately after the line was entered.

Programs were stored as a .BAS source file, using the "SAVE" command. It could be "compiled" into a non-editable binary .BAC file, using the "COMPILE" command. This command did not produce true machine language programs, but rather a byte code called "tokens". The tokens were interpreted upon execution, in a manner similar to the more modern Java.

Programs were entered into the command interpreter starting with line numbers, integers from 1 to 32767. Lines could be continued onto multiple lines by using a line feed character. For ease of external editing of the source file, later versions of BASIC-PLUS also allowed the & character as a line-continuation character. Multiple statements could be placed on a single line using \ as the statement separator.

For PDP-11 systems with virtual memory (RSTS/E), address space was limited to about 64 KB. With BASIC-PLUS, about half of this was used by the combined command interpreter and run-time library. This limited user programs to about 32 KB of memory. Older RSTS-11 systems lacked virtual memory, so the user program had to fit into whatever was left of physical memory after RSTS and BASIC-PLUS took up their share. For example, on a PDP-11/35 with 32K of physical memory, running RSTS-11 V04B-17, user programs were limited to 7 KB. Large programs could be broken up into various pieces by use of the "CHAIN" instruction. Programs could chain to specific line numbers in a secondary program. The use of a shared memory section called core common also allowed programs to pass data among each other as needed; disk files could also be used but were slower.

The interpreter included a garbage collecting memory manager, used for both string data and byte-code. A running program could be interrupted, have variables examined and modified, and then be resumed. Many of the control structures used in other high-level languages existed in BASIC-PLUS, including WHILE and UNTIL. The language also supported the use of conditional modifiers on a single line. For example, the line "PRINTIUNLESSI<10" would print the value of "I" unless I was less than 10.

BASIC Plus 2

Basic Plus 2 (BP2 or BASIC-Plus-2) was later developed by DEC to add additional features and increase performance. It used true compilation into threaded code, and wrote its output to machine language object files. These were compatible with other object files on the system, and could be assembled into libraries. A linker (the TKB taskbuilder) then created executable files from them. TKB also supported overlays; this allowed individual routines to be swapped into the main memory space as needed.

BP2 programs ran under RSX-11 or RSTS/E's RSX Run Time System. This RTS only occupied 8KB (later, 2KB) of the user's address space, leaving 56KB for the user's program. These two factors allowed individual BP2 programs to be much larger than BASIC-PLUS programs, often eliminating the need for CHAINing. Unlike BASIC-PLUS (which was only available on RSTS-11), BP2 allowed use on the RSX-11 operating system as well.

VAX BASIC and DEC BASIC

With the creation of the VAX minicomputer, DEC ported BASIC-PLUS-2 to the new VMS operating system, and called it VAX BASIC. VAX BASIC used the standard VMS calling standards, so object code produced by VAX BASIC could be linked with object code produced by any of the other VMS languages. Source code for BASIC Plus 2 would usually run without major changes on VAX BASIC.

When DEC created their Alpha microprocessor, VMS was ported to it and renamed OpenVMS. VAX BASIC was likewise ported to Alpha and renamed DEC BASIC. The BASIC interpreter was permanently dropped at this point, which meant that DEC BASIC programs could only be run as OpenVMS executables, produced by a compile followed by a link.

Compaq, HP and VSI

When DEC was purchased by Compaq in 1997/98, the products were renamed Compaq BASIC for OpenVMS VAX and Compaq BASIC for OpenVMS Alpha.

Likewise, when Compaq merged with HP in 2001/02, the products were renamed HP BASIC for OpenVMS on VAX and HP BASIC for OpenVMS on AlphaServer. HP later released HP BASIC for OpenVMS on Integrity for their Integrity server platforms based upon Intel's Itanium processors.

In mid 2014, HP sold the whole OpenVMS ecosystem to VSI who renamed the product VSI BASIC for OpenVMS. [1]

Sample code

VSI BASIC is a structured variant of BASIC in which line numbers are optional, and the language supports both SUBs and FUNCTIONs.

Hello, world

print "Hello, world!"

Celsius to Fahrenheit conversion

function real to_fahrenheit(real celsius)   to_fahrenheit = (celsius * 1.8) + 32 end function      external real function to_fahrenheit(real) declare real temp_celsius  when error in   print "Enter a temperature in celsius";   input x   temp_celsius = real(x) use   print "Error: enter a valid numeric value, please." end when  print "Temperature in degrees fahrenheit is ";  to_fahrenheit(temp_celsius)  end

Related Research Articles

<span class="mw-page-title-main">Digital Equipment Corporation</span> U.S. computer manufacturer 1957–1998

Digital Equipment Corporation, using the trademark Digital, was a major American company in the computer industry from the 1960s to the 1990s. The company was co-founded by Ken Olsen and Harlan Anderson in 1957. Olsen was president until he was forced to resign in 1992, after the company had gone into precipitous decline.

<span class="mw-page-title-main">Minicomputer</span> Mid-1960s–late-1980s class of smaller computers

A minicomputer, or colloquially mini, is a type of smaller general-purpose computer developed in the mid-1960s and sold at a much lower price than mainframe and mid-size computers from IBM and its direct competitors. In a 1970 survey, The New York Times suggested a consensus definition of a minicomputer as a machine costing less than US$25,000, with an input-output device such as a teleprinter and at least four thousand words of memory, that is capable of running programs in a higher level language, such as Fortran or BASIC.

TECO, short for Text Editor & Corrector, is both a character-oriented text editor and a programming language, that was developed in 1962 for use on Digital Equipment Corporation computers, and has since become available on PCs and Unix. Dan Murphy developed TECO while a student at the Massachusetts Institute of Technology (MIT).

<span class="mw-page-title-main">VAX</span> Line of computers sold by Digital Equipment Corporation

VAX is a series of computers featuring a 32-bit instruction set architecture (ISA) and virtual memory that was developed and sold by Digital Equipment Corporation (DEC) in the late 20th century. The VAX-11/780, introduced October 25, 1977, was the first of a range of popular and influential computers implementing the VAX ISA. The VAX family was a huge success for DEC, with the last members arriving in the early 1990s. The VAX was succeeded by the DEC Alpha, which included several features from VAX machines to make porting from the VAX easier.

<span class="mw-page-title-main">OpenVMS</span> Computer operating system

OpenVMS, often referred to as just VMS, is a multi-user, multiprocessing and virtual memory-based operating system. It is designed to support time-sharing, batch processing, transaction processing and workstation applications. Customers using OpenVMS include banks and financial services, hospitals and healthcare, telecommunications operators, network information services, and industrial manufacturers. During the 1990s and 2000s, there were approximately half a million VMS systems in operation worldwide.

<span class="mw-page-title-main">RSX-11</span> Family of computer operating systems

RSX-11 is a discontinued family of multi-user real-time operating systems for PDP-11 computers created by Digital Equipment Corporation. In widespread use through the late 1970s and early 1980s, RSX-11 was influential in the development of later operating systems such as VMS and Windows NT.

RT-11 is a discontinued small, low-end, single-user real-time operating system for the full line of Digital Equipment Corporation PDP-11 16-bit computers. RT-11 was first implemented in 1970. It was widely used for real-time computing systems, process control, and data acquisition across all PDP-11s. It was also used for low-cost general-use computing.

DECnet is a suite of network protocols created by Digital Equipment Corporation. Originally released in 1975 in order to connect two PDP-11 minicomputers, it evolved into one of the first peer-to-peer network architectures, thus transforming DEC into a networking powerhouse in the 1980s. Initially built with three layers, it later (1982) evolved into a seven-layer OSI-compliant networking protocol.

OS/8 is the primary operating system used on the Digital Equipment Corporation's PDP-8 minicomputer.

Peripheral Interchange Program (PIP) was a utility to transfer files on and between devices on Digital Equipment Corporation's computers. It was first implemented on the PDP-6 architecture by Harrison "Dit" Morse early in the 1960s. It was subsequently implemented for DEC's operating systems for PDP-10, PDP-11, and PDP-8 architectures. In the 1970s and 1980s Digital Research implemented PIP on CP/M and MP/M.

<span class="mw-page-title-main">RSTS/E</span> Computer operating system

RSTS is a multi-user time-sharing operating system developed by Digital Equipment Corporation for the PDP-11 series of 16-bit minicomputers. The first version of RSTS was implemented in 1970 by DEC software engineers that developed the TSS-8 time-sharing operating system for the PDP-8. The last version of RSTS was released in September 1992. RSTS-11 and RSTS/E are usually referred to just as "RSTS" and this article will generally use the shorter form. RSTS-11 supports the BASIC programming language, an extended version called BASIC-PLUS, developed under contract by Evans Griffiths & Hart of Boston. Starting with RSTS/E version 5B, DEC added support for additional programming languages by emulating the execution environment of the RT-11 and RSX-11 operating systems.

<span class="mw-page-title-main">DIGITAL Command Language</span> Command language adopted by several operating systems (OSs)

DIGITAL Command Language (DCL) is the standard command language adopted by many of the operating systems created by Digital Equipment Corporation. DCL had its roots in IAS, TOPS-20, and RT-11 and was implemented as a standard across most of Digital's operating systems, notably RSX-11 and RSTS/E, but took its most powerful form in VAX/VMS. DCL continues to be developed by VSI as part of OpenVMS.

BASIC-PLUS is an extended dialect of the BASIC programming language that was developed by Digital Equipment Corporation (DEC) for use on its RSTS/E time-sharing operating system for the PDP-11 series of 16-bit minicomputers in the early 1970s through the 1980s.

<span class="mw-page-title-main">DECUS</span> Independent computer user group related to Digital Equipment Corporation

The Digital Equipment Computer Users' Society (DECUS) was an independent computer user group related to Digital Equipment Corporation (DEC). The Connect User Group Community, formed from the consolidation in May, 2008 of DECUS, Encompass, HP-Interex, and ITUG is the Hewlett-Packard’s largest user community, representing more than 50,000 participants.

<span class="mw-page-title-main">Terry Shannon (writer)</span> American journalist

Terry Craig Shannon was an American information technology consultant, journalist and author. For over 30 years, he was involved in implementing PDP, VAX, and Alpha computers with their respective operating systems RSX, VAX/VMS, OpenVMS and Windows NT. He was a respected journalist and analyst, paying particular attention to Compaq and Hewlett-Packard after the merger of Digital Equipment Corporation and the high-performance computing (HPC) space, writing a series of newsletters.

Language-Sensitive Editor (LSE) is a full-screen visual editor for the VAX/VMS and OpenVMS Operating systems. LSE is implemented by using the Text Processing Utility (TPU) language. It is part of the DECset programming tool set, which also contains a test manager, the performance and coverage analyzer (PCA), a code management system (CMS), and a module management mystem (MMS).

HP BASIC may refer to any of several different BASIC dialects, of distinct lineages, created at either Hewlett-Packard (HP) or Digital Equipment Corporation (DEC).

VAX MACRO is the computer assembly language implementing the VAX instruction set architecture for the OpenVMS operating system, originally released by Digital Equipment Corporation (DEC) in 1977.

Synergy DBL is a compiled, imperative programming language designed for business use. The language was originally called DBL; later it was referred to as Synergy Language; as of 2012 the official name is Synergy DBL. It is based on Digital Equipment Corporation’s DIBOL programming language.

References

  1. "VSI BASIC for OpenVMS User Manual" (PDF). 2018.