LINC 4GL
LINC is a fourth-generation programming language, used mostly on Unisys computer systems.
Background
LINC was originally developed as a short-cut by two programmers to reproduce and automate the production of computer applications for different companies, that had similar requirements and specifications. The requirements were similar, because the companies followed a common, generic, business model.That is, these businesses dealt with "commodities", or "parts", or "suppliers", or "customers". These were "manufactured", or "assembled", or "purchased", or "sold".
These components and events were the "interface specifications" or "ispecs" and contained the database definitions, screen designs, and business rules of the application system.
LIRC was part of LINC and was developed to allow the programmer to produce reports. The information in these reports were accessed by using various user-defined views of these components and events called "profiles".
Because reports run as a separate task they could also be written to run as a background process; that is, it could put itself to sleep for a period of time or until woken, to perform some processing, then put itself to sleep again.
Part of the reason for the introduction of this new terminology was to make the system easier for programmers. It isolated them from a lot of the underlying technology.
What allowed LINC to make programmers much more efficient and the application systems they produced easier to read and maintain, and differentiated it from being simply yet another third generation high level language, was LINC's assumption, use of, and total reliance on all of the facilities available, and packaged, with the Burroughs computer for which it was written: operating system, job control language, COBOL programming language, database management system, network definition, user terminal, etc.
From version 11, its character changed. Where LINC specifications had previously been held in source-code files, they were now held in a database and subject to rigorous automatic validation. The new LINC-based system in which specifications were stored was named LINC interactive or LINC Development Environment.
Extensive reliance on terminal "screen painting" was used to assist system definition. e.g. to define a components database attributes.
In the early 1990s, a new PC-based tool for developing LINC specifications was released, the LINC Development Assistant. LDA was written in a mixture of Smalltalk and C++ rather than the LINC 4GL. From version 17, it was intended that all development be done with LDA.
Now LINC is known as Unisys Enterprise Application Environment and can generate COBOL code for Burroughs & Sperry mainframes, Microsoft Windows, and various Unix and Linux platforms. It will also generate GUI front-end clients in
- Java
- Visual Basic 6 clients
- Active Server Pages
- Web services for Microsoft IIS
- ASP.NET
- VB.NET
Recent Update:
Unisys is replacing EAE with Unisys Agile Business Suite'. The LDL language is promoted to LDL+, with new object-oriented features. The Development environment makes use of the Microsoft Visual Studio IDE. The Model Driven approach is extended with a UML based Class Diagram integrated with all the source code of the solution, in such a way that a round trip update is achieved. Changes in the Business Rules can result in changes in the UML representation and vice versa.
AB Suite 4.0 makes use of Visual Studio 2012 and integrates with Team Foundation Server 2012.
AB Suite generates to either a.NET environment or a ClearPath MCP environment.
With AB Suite a developer has to write less code than in a traditional C# or Java environment.
History
LINC was originally developed by two New Zealand computer programmers while working in Saudi Arabia in the early 1980s. It was first developed exclusively for operation with a single model of Burroughs computer system comprising a totally integrated system of:- B1000 hardware,
- MCP operating system,
- COBOL application programming language,
- WFL job control language,
- DMS II database management system,
- NDL Network Definition Language
- MT983/ET1100 CRT,
The LINC system created 3rd GL COBOL, DMSII, NDLII, and WFL source code. The job control statements were themselves subsequently run to compile the other elements and create an integrated system of database, applications, and user terminal network.
Burroughs purchased rights to sell the product in 1982, while product development was retained by the original inventors. An early requirement was to extend the product for use with the Burroughs mid-range and large scale computing platforms.
After Burroughs merged with Sperry Corporation to form Unisys, the language was extended to be used on Sperry's UNIVAC 1100/2200 series machines also.
Subsequently a New Zealand development centre was set up in Christchurch by Gil Simpson to develop the product. Ownership was later on transferred to Unisys and the product and mainframe computer centre resources transitioned to Unisys ACUS, the "Australian Centre for Unisys Software" in Sydney Australia.
Gil Simpsons Christchurch team went on to create the Jade language/database that could import and run LINC code on commodity hardware.
LINC itself is supported on the following platforms:
- ClearPath A-Series
- ClearPath 2200
- Unix SUN Solaris
- Unix IBM RS6000
- Unix HP9000
- Unix Sequent
- Unixware
- Windows Server
Strengths
- It provides an intuitive and easy-to-understand interface to the Burroughs DMS and COBOL programming.
- As it has been modernised to support different platforms, it facilitates migration between platforms and databases.
- By confining a specification in a database, the entire design can be kept in a single design and development environment.
- Once generated, the code is absolutely consistent with its design specification.
- * A client interface is always consistent with a system generated at the same time.
- * The system's database access code is always consistent with the system's database tables.
Weaknesses
Other weaknesses arise mostly from its dependence and basis on Burroughs DMS and COBOL, which differ greatly from other computing platforms.
- People entering the industry or from a Unix / Windows background may struggle to adjust to this different paradigm.
- Functionality can be limited by the need to support multiple platforms. You can't use optimal Oracle structures or queries if the mainframe platforms don't support them.