Programming Language for Business or PL/B is a business-oriented
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 ...
originally called DATABUS and designed by
Datapoint
Datapoint Corporation, originally known as Computer Terminal Corporation (CTC), was a computer company based in San Antonio, Texas, United States. Founded in July 1968 by Phil Ray and Gus Roche, its first products were, as the company's initial ...
in 1972
as an alternative to
COBOL
COBOL (; an acronym for "common business-oriented language") is a compiled English-like computer programming language designed for business use. It is an imperative, procedural, and, since 2002, object-oriented language. COBOL is primarily ...
because Datapoint's
8-bit computers could not fit COBOL into their limited memory, and because COBOL did not at the time have facilities to deal with Datapoint's built-in keyboard and screen.
A version of DATABUS became an
ANSI
The American National Standards Institute (ANSI ) is a private nonprofit organization that oversees the development of voluntary consensus standards for products, services, processes, systems, and personnel in the United States. The organiz ...
standard, and the name PL/B came about when Datapoint chose not to release its
trademark
A trademark (also written trade mark or trade-mark) is a form of intellectual property that consists of a word, phrase, symbol, design, or a combination that identifies a Good (economics and accounting), product or Service (economics), service f ...
on the DATABUS name.
Functionality
Much like
Java
Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
and
.NET
The .NET platform (pronounced as "''dot net"'') is a free and open-source, managed code, managed computer software framework for Microsoft Windows, Windows, Linux, and macOS operating systems. The project is mainly developed by Microsoft emplo ...
, PL/B programs are compiled into an intermediate
byte-code
Bytecode (also called portable code or p-code) is a form of instruction set designed for efficient execution by a software interpreter. Unlike human-readable source code, bytecodes are compact numeric codes, constants, and references (normal ...
, which is then interpreted by a runtime library. Because of this, many PL/B programs can run on
DOS,
Unix
Unix (, ; trademarked as UNIX) is a family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, a ...
,
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 ...
, and
Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
s.
PL/B (Databus) is actively used all over the world, and has several forums on the Internet dedicated to supporting software developers.
PL/B has a database capability built-in with ISAM and Associative Hashed Indexes,
as well as functionality for working with
ODBC
In computing, Open Database Connectivity (ODBC) is a standard application programming interface (API) for accessing database management systems (DBMS). The designers of ODBC aimed to make it independent of database systems and operating systems. An ...
,
SQL
Structured Query Language (SQL) (pronounced ''S-Q-L''; or alternatively as "sequel")
is a domain-specific language used to manage data, especially in a relational database management system (RDBMS). It is particularly useful in handling s ...
,
Oracle
An oracle is a person or thing considered to provide insight, wise counsel or prophetic predictions, most notably including precognition of the future, inspired by deities. If done through occultic means, it is a form of divination.
Descript ...
, sequential, random access,
XML
Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing data. It defines a set of rules for encoding electronic document, documents in a format that is both human-readable and Machine-r ...
and
JSON
JSON (JavaScript Object Notation, pronounced or ) is an open standard file format and electronic data interchange, data interchange format that uses Human-readable medium and data, human-readable text to store and transmit data objects consi ...
files.
PL/B also has the ability to access external routines through
COM objects,
DLLs and
.NET
The .NET platform (pronounced as "''dot net"'') is a free and open-source, managed code, managed computer software framework for Microsoft Windows, Windows, Linux, and macOS operating systems. The project is mainly developed by Microsoft emplo ...
assemblies. Full access to the
.NET
The .NET platform (pronounced as "''dot net"'') is a free and open-source, managed code, managed computer software framework for Microsoft Windows, Windows, Linux, and macOS operating systems. The project is mainly developed by Microsoft emplo ...
framework is built into many versions.
Several implementations of the language are capable of running as an Application Server like
Citrix, and connecting to remote databases through a data manager.
Source code example
IF (DF_EDIT
TEM= "PHYS")
STATESAVE MYSTATE
IF (C_F07B != 2)
DISPLAY *SETSWALL 1:1:1:80:
*BGCOLOR=2,*COLOR=15:
*P49:1," 7-Find "
ELSE
DISPLAY *SETSWALL 1:1:1:80:
*BGCOLOR=7,*COLOR=0:
*P49:1," 7-Find "
ENDIF
STATEREST MYSTATE
TRAP GET_PRO NORESET IF F7
ENDIF
IF (SHOW_FILTER AND THIS_FILTER AND C_CUSTNO <> "MAG")
LOADMOD "filter"
PACK PASS_ID WITH "QED ",QED_ID1,BLANKS
MOVE " FILTER DISPLAY (F6) " TO PASS_DESC
SET C_BIGFLT
CALL RUN_FILT USING PASS_ID,PASS_DESC,"432"
UNLOAD "filter"
CLEAR THIS_FILTER
ENDIF
References
External links
Sunbelt implementation of PL/BANSI PL/B Standards CommitteeDatabus Simplified User Guide
{{ISO standards
Procedural programming languages
Cross-platform software
Programming languages created in 1972
Structured programming languages