Business Rules!: Difference between revisions

From BR Wiki
Jump to navigation Jump to search
(feature list revisions)
 
(38 intermediate revisions by 7 users not shown)
Line 1: Line 1:
'''Business Rules!''', also known as '''BR!''' is the de facto [[programming language]] used by old school programmers in a modern world.
====General Introduction====
'''Business Rules!''', also known as '''BR''' is a derivative of ANSI Basic similar to that used on IBM mid-frame computers. It is a highly readable '''cross-platform''' [http://en.wikipedia.org/wiki/Programming_language Programming Language] used by procedural programmers to build applications in a top-down building block structure.  


This language is being adopted by a growing number of young programmers due to it's ability to quickly develop procedural programs that include:
In the modern world there are three general types of programming languages:
* Procedural -  Where program control flow is the primary focus while the code creates, processes and destroys representations of external reality.
* Non-Procedural - Where various elements are defined with snippets of code attached to events which are triggered by either users or programs.
* Object Oriented - Which is a blend of the preceding types with predefined rules for creating and deleting representations of external reality, and program defined methods of accessing them. This language structure was introduced to the programming world as C++, and has become the predominate programming language model.
 
The advent of the World Wide Web introduced the widespread acceptance of the connectionless client/server model, with [http://en.wikipedia.org/wiki/Tunneling_protocol tunneled methods] of achieving connection persistence. This technique was implemented by the Microsoft Dot Net programming languages. Another concept implemented by both Dot Net and Java was the use of a compiled pseudo-code executable which is made portable by providing execution engines for each platform.


*file processing with rapid indexing
====RESTful Characteristics====
*database access
[http://en.wikipedia.org/wiki/Representational_state_transfer Representational State Transfer] (REST) is a style of software architecture for distributed systems such as the World Wide Web and [http://en.wikipedia.org/wiki/Loosely_coupled loosely coupled] application frameworks. Key goals of REST include:
*beautiful [[user interfaces]]
*excellent scalability


and have it run in a stable framework which boasts:
* Scalability of component interactions
*unsurpassed stability
* Generality of interfaces
*interactive debugging
* Independent deployment of components
*uniquely readable building block support ( libraries )
* Intermediary components to reduce latency, enforce security and encapsulate legacy systems
*[[character oriented window, field and report positioning]]
*HTTP client or server emulation
*serial communications
*PDF printing overlays
*performance profiling
*a unique [[client server architecture]]


The strength of many programming languages lies in their ability to express immense amounts of processing control specifications in relatively few statements. This is achieved in object oriented languages by the concepts of inheritance and overloading. While these concepts work well for creating and using tool sets where all users learn the tools as an extension of the underlying language, ''a pervasive problem associated with them is that in an application framework it is necessary for users of objects to be aware of processing details of the objects they inherit from''. While, this works quite well for tool sets, it doesn't work so well where 1) large sets of programs are shared among many programmers, 2) where programs are part of a networked set of applications, and 3) where a large set of programs must be modified by someone who is not very familiar with them.


But most of all, BR stresses code readability. That is, the ability for a programmer to read another programmer's code.  
RESTful systems insulate nodes from the requirement of knowing processing details within other nodes.


Also, BR handles platform dependencies independently from code, so it is easy to maintain one set of masters for all platforms ( windows, Linux and MAC ).
====BR Characteristics====
Business Rules! is a procedural language that conforms to REST principles. Its unique set of rules for utilizing libraries to create program building blocks, along with its general readability, position it well for both beginning programmers and large scale projects.  


Business Rules!, also known as BR!, is a programming language with an extensive [[history]] that begins with the IBM 5100/5110/5120 in the 1970s, the System 23 Datamaster introduced in 1981, and continues its proud tradition and strong niche of business programming languages today - requiring only a minimum of graphic ability, but is capable of very precise numeric calculations.  It is currently owned and supported by [[Application Development Systems]].
This language is being adopted by a growing number of young programmers due to it's ability to quickly develop procedural programs that include:


The BR! Programming Language, like many others, is comprised of [[Statements]], [[Internal Functions|Functions]], [[Commands]], [[Variable|Variables]], Logic, and Data.  Individual [[programs]] are conveniently contained within separate files and are interpreted during run time.  This allows for a very easy design environment, since you can change a program while it is running, as well as execute commands from it's [[command console]].
* powerful [[string]] and [[array]] manipulation
* character position oriented window, field and report specifications
* [[HTTP]] client emulation
* serial communications for industrial applications
* [[PDF]] printing with background forms
* support for both indexed flat file processing and [[SQL]] databases
* powerful built-in parsing functions for [[XML]] and [[CSV]] strings


Business Rules! strong commitment to backward compatibility ensures it a healthy following in today's development world. While much of the Business Rules! syntax may seem antiquated to someone versed in object oriented programming, the language's strong commitment to traditional [[wikipedia:Imperative programming|procedural, imperative programming]] ensures it a healthy following in today's development world.  Business Rules! doesn't change syntax just for the fun of it.
and have it run in a framework with:
* a [http://en.wikipedia.org/wiki/Client-server_architecture client server architecture]
* a portable pseudo-code executable format
* dynamic interactive debugging
* uniquely readable building block program libraries
* performance profiling
* an HTTP server add-on with built-in JSON compilation and manipulation


See also: [[BR Wiki:Community Portal]]
BR handles platform dependencies independently from code, so it is easy to maintain one set of programs for all supported platforms (Windows, Linux and MAC). In Business Rules!, objects are defined by [[Library Facility|libraries]] and the methods used to access them are [[user defined functions]].


BR! manages to run unchanged programs from minicomputers computers in the 70s and 80s, while still changing and growing to incorporate the latest in programming techniques and trends on today's equipment.
The BR Programming Language is comprised of [[Environmental Settings]], [[Commands]], [[Variable|Variables]], [[Internal Functions|Functions]], [[Expression Logic]] and [[Program Statements]].  Programs are compiled into virtual code that is executed by a run-time executive. This supports a high degree of portability across platforms. The interactive nature of BR facilitates relatively easy debugging because you can change a program while it is running, as well as execute commands and statements from it's [[command console]].


== Getting Started ==
Business Rules! strong commitment to providing [[backward compatibility]] options ensures that any investment in BR programs will be protected nearly indefinitely. 


Please, read through the [[Setup]] section for information on how to get started.
See also: [[BR Wiki:Community Portal]]


== Categories  ==
== Getting Started ==


Most of this wiki is categorized. An individual article may belong to multiple categories. The [[Special:Uncategorizedcategories|Top Level Categories]] are a nice way to browse this wiki. In the table below are the most popular categories.
*BR [[Setup]]


*[[:Category:Commands|Commands]]
*[[Getting Started]]
*[[:Category:Data_Types_and_Arrays|Data Types and Arrays]]
*[[:Category:Operators_and_System_Functions|Operators and System Functions]]
*[[:Category:Field_Specifications_and_Definitions|Field Specifications and Definitions]]
*[[:Category:Statements|Statements]]
*[[:Category:Control_Structures|Control Structures]]
*[[:Category:File_Operations|File Operations]]
*[[:Category:Sorting_and_Indexing|Sorting and Indexing]]
*[[:Category:GUI|Widgets / GUI]]
*[[:Category:Properties_Events_and_Methods|Properties, Events and Methods]]
*[[:Category:User_Defined_Functions_and_Libraries|User Defined Functions / Libraries]]
*[[:Category:Configuration_and_Environmental_Settings|Configuration and Environmental Settings]]
*[[:Category:Printing|Printing]]
*[[:Category:HTTP|HTTP]]
*[[:Category:External_Editors|External Editors]]
*[[:Category:Glossary|Glossary / Terminology]]
*[[:Category:Errors|Errors]]

Latest revision as of 14:18, 10 March 2017

General Introduction

Business Rules!, also known as BR is a derivative of ANSI Basic similar to that used on IBM mid-frame computers. It is a highly readable cross-platform Programming Language used by procedural programmers to build applications in a top-down building block structure.

In the modern world there are three general types of programming languages:

  • Procedural - Where program control flow is the primary focus while the code creates, processes and destroys representations of external reality.
  • Non-Procedural - Where various elements are defined with snippets of code attached to events which are triggered by either users or programs.
  • Object Oriented - Which is a blend of the preceding types with predefined rules for creating and deleting representations of external reality, and program defined methods of accessing them. This language structure was introduced to the programming world as C++, and has become the predominate programming language model.

The advent of the World Wide Web introduced the widespread acceptance of the connectionless client/server model, with tunneled methods of achieving connection persistence. This technique was implemented by the Microsoft Dot Net programming languages. Another concept implemented by both Dot Net and Java was the use of a compiled pseudo-code executable which is made portable by providing execution engines for each platform.

RESTful Characteristics

Representational State Transfer (REST) is a style of software architecture for distributed systems such as the World Wide Web and loosely coupled application frameworks. Key goals of REST include:

  • Scalability of component interactions
  • Generality of interfaces
  • Independent deployment of components
  • Intermediary components to reduce latency, enforce security and encapsulate legacy systems

The strength of many programming languages lies in their ability to express immense amounts of processing control specifications in relatively few statements. This is achieved in object oriented languages by the concepts of inheritance and overloading. While these concepts work well for creating and using tool sets where all users learn the tools as an extension of the underlying language, a pervasive problem associated with them is that in an application framework it is necessary for users of objects to be aware of processing details of the objects they inherit from. While, this works quite well for tool sets, it doesn't work so well where 1) large sets of programs are shared among many programmers, 2) where programs are part of a networked set of applications, and 3) where a large set of programs must be modified by someone who is not very familiar with them.

RESTful systems insulate nodes from the requirement of knowing processing details within other nodes.

BR Characteristics

Business Rules! is a procedural language that conforms to REST principles. Its unique set of rules for utilizing libraries to create program building blocks, along with its general readability, position it well for both beginning programmers and large scale projects.

This language is being adopted by a growing number of young programmers due to it's ability to quickly develop procedural programs that include:

  • powerful string and array manipulation
  • character position oriented window, field and report specifications
  • HTTP client emulation
  • serial communications for industrial applications
  • PDF printing with background forms
  • support for both indexed flat file processing and SQL databases
  • powerful built-in parsing functions for XML and CSV strings

and have it run in a framework with:

  • a client server architecture
  • a portable pseudo-code executable format
  • dynamic interactive debugging
  • uniquely readable building block program libraries
  • performance profiling
  • an HTTP server add-on with built-in JSON compilation and manipulation

BR handles platform dependencies independently from code, so it is easy to maintain one set of programs for all supported platforms (Windows, Linux and MAC). In Business Rules!, objects are defined by libraries and the methods used to access them are user defined functions.

The BR Programming Language is comprised of Environmental Settings, Commands, Variables, Functions, Expression Logic and Program Statements. Programs are compiled into virtual code that is executed by a run-time executive. This supports a high degree of portability across platforms. The interactive nature of BR facilitates relatively easy debugging because you can change a program while it is running, as well as execute commands and statements from it's command console.

Business Rules! strong commitment to providing backward compatibility options ensures that any investment in BR programs will be protected nearly indefinitely.

See also: BR Wiki:Community Portal

Getting Started