LINC 4GL

From Wikipedia, the free encyclopedia

LINC is a 4th-generation computer language, used mostly on Unisys computer systems.

LINC is an abbreviation of Logic and Information Network Compiler.

Contents

[edit] Background

LINC was originally developed as a short-cut (or template) by two computer application programmers to reproduce and automate the production of computer applications for different companies, but which 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 (named "components" in LINC terminology). These were manufactured, or assembled, or purchased, or sold (actions termed "events" in LINC jargon). Reports on these events (e.g. purchase orders, invoices, credit notes, consignment notes, bills of sale, etc. ) were called "profiles".

Part of the reason for the introduction of this new terminology was to make the system more accessible to a new hierarchy of (non-technical) programmers - e.g. accountants or business analysts. It isolated them from the underlying technology. (Similarly, different names were intentionally used for control structures - DO.WHEN rather than IF or "LOOP", and LOOK.UP or DETERMINE rather than READ, with the OPEN and CLOSE statements generated automatically.)

What allowed LINC to be usable by such relatively non-technical users, and differentiated it from being simply yet another 3rd generation high level language, was LINC's assumption; and 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. (see also "history" below).

From version 11, its character changed. Where a specification had previously been held in source-code files, it was now held in a database (designed and developed using the LINC 4GL) and subject to rigorous automatic validation. The new LINC-based system in which specifications were stored was named LINC interactive or LINC Development Environment (LDE).

Extensive reliance on terminal "screen painting" (i.e. "mocking"-up a CRT data-entry screen) was used to assist system definition. e.g. to define a component's database attributes (name, length, alpha(numeric), validation rules, etc.)

In the early 90s, a new PC-based tool for developing LINC specifications was released, the LINC Development Assistant (LDA). LDA was written in a mixture of Smalltalk and C++ rather than the LINC 4GL (the latter of which was not intended to run on a personal computer). From version 17, it was intended that all development be done with LDA.

Now LINC is known as Unisys Enterprise Application Environment (EAE) and can generate

and will generate GUI front-end clients in:

in addition to compiling generated code and deploying databases to correspond with the specification. Databases supported include Burroughs DMSII, Sperry RDMS, Oracle database and Microsoft SQL Server.

Unisys is now replacing it with Unisys Agile Business Suite, a new suite promoting object-oriented features which runs with Microsoft Visual Studio.

[edit] HISTORY

LINC was originally developed by two New Zealand computer programmers (Gil Simpson and Peter Hoskins) while working in Saudi Arabia in the early 1980’s. It was first developed exclusively for operation with a single model of Burroughs computer system comprising a totally integrated system of:

etc.

The LINC system created 3rd GL COBOL (application), DMSII (database definition), NDLII (network description), and WFL (job control) 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 to develop the product. Ownership was later on transferred to Unisys and the product transitioned to Unisys ACUS, the "Australian Centre for Unisys Software" in Sydney Australia.

LINC is (was) supported on the following platforms.

ClearPath A-Series ClearPath 2200 Unix SUN Solaris Unix IBM RS6000 Unix HP9000 Unix Sequent Unixware Windows Server

Development work is currently done by ACUS Unisys, but will be transitioned from ACUS to an Indian outsourcing operation in early 2008.

Eventually, the product was sold to over 4,000 clients world-wide.

[edit] 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, you can keep the entire design in a single design & development environment.
  • Once you generate, you know that your code is absolutely consistent with your 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.

[edit] Weaknesses

Principally, LINC fails to compete against myriad turnkey systems readily available from many other sources (especially IBM). The cost of purchasing and customising an existing product (e.g. the Hogan retail banking system) is perceived as less expensive/risk than using LINC to create, from scratch, an entire business system with all its rules.

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. People from a different mainframe background will almost never develop a complete understanding of the intentions behind LINC.
  • 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.

[edit] Trivia

LINC is occasionally referred to by developers as a fictitious initialisation of "Laugh? I Nearly Cried."

On LINC10 systems (c1985), the report generation language was called LIRC. Due to the sharing of common include files, only one developer could compile a report at a time (called LIRCing). In a team of developers, this would cause a developer to yell out "Is anybody LIRCing?" To those uninitiated to this process, the obvious response was "Behind What?"

LINC10 was a remote file implementation on the A Series system except for a special version converted over to Direct Windows by Charles Pagelsen for the Home Shopping Network. This allowed the system to run up to 99 copies of an online program.

[edit] Websites

[edit] External Reference

[edit] Resellers

  • Asysco, Dutch provider of utilities for assisting development with the LINC 4GL and, more recently, their own competing product Asysco Lion], http://www.asysco.nl/
  • Chesapeake, consulting and development services for LINC developers, http://chspk.com/
  • Eagle Computer Associates, provider of utilities and services for LINC developers, http://www.eagleca.com/
  • Information Exchange Group, provider of utilities for assisting development with LINC, http://www.ieg-inc.com/

[edit] Migration

  • ArtinSoft, Migration specialist from Linc to Java, http://www.artinsoft.com
  • Jade Software Corporation Ltd - Inventors of LINC 4GL, Lowest risk LINC migration specialists, utilises Service Orientated Architecture (SOA) methodology for transition to a new Open system, http://www.jadeworld.com/jet/index.htm
  • MSS International Ltd - Migration specialists for Unisys to Open Platform migrations. Specifically Linc to Oracle Pl/Sql or Java, http://www.mssint.com/