Programming Language for Business
Paradigm | Procedural, imperative |
---|---|
First appeared | 1972 |
Typing discipline | Strong,[1] static |
Filename extensions | .rl , .ps , .cb , .pls , .pgm |
Major implementations | |
DB/C DX, DATABUS, and PL/B | |
Influenced by | |
COBOL |
Programming Language for Business or PL/B is a business-oriented programming language originally called DATABUS and designed by Datapoint in 1972[2] as an alternative to COBOL 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 standard, and the name PL/B came about when Datapoint chose not to release its trademark on the DATABUS name.[3][4]
Functionality
Much like Java and .NET, PL/B programs are compiled into an intermediate byte-code, which is then interpreted by a runtime library. Because of this, many PL/B programs can run on DOS, Unix, Linux, and Windows operating systems.[5] The PL/B development environments are influenced by Java and Visual Basic, and offer many of the same features found in those languages. PL/B (Databus) is actively used all over the world, and has several forums on the Internet dedicated to supporting software developers.
Since its inception, PL/B has been enhanced and adapted to keep it modernized and able to access various data sources. It has a database capability built-in with ISAM and Associative Hashed Indexes, as well as ODBC, SQL, Oracle,[6] sequential, random access, XML and JSON files.[7]
All the constructs of modern programming languages have been incrementally added to the language. PL/B also has the ability to access external routines through COM, DLL's and .NET assemblies. Full access to the .NET 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[ITEM] = "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
- ^ "Programming Language for Business". sysmaker.com. Retrieved 10 June 2016.
- ^ "J15 - Programming Language PL/B". sysmaker.com. Retrieved 10 June 2016.
- ^ "DB/C DX, DATABUS, and PL/B Overview". DBC Software. Retrieved 10 June 2016.
- ^ "ANSI Standard PL/B". mmcctech.com. Retrieved 10 June 2016.
- ^ "About PL/B". Sunbelt Computer Systems, Inc. Retrieved 10 June 2016.
- ^ "SQL Instructions". sunbelt-plb.com. Retrieved 2022-06-06.
- ^ "XDATA". sunbelt-plb.com. Retrieved 2022-06-06.