[Info-vax] DIBOL and DEC, was: Re: BASIC compiler in the hobbyist distribution

Simon Clubley clubley at remove_me.eisner.decus.org-Earth.UFP
Thu May 28 11:54:10 EDT 2015


On 2015-05-27, seasoned_geek <roland at logikalsolutions.com> wrote:
>
> The genetic missfits in charge of DEC decision making at the time
> decided to jettison DIBOL because as DIgital's Business Oriented
> Language and therefore now that horrible "proprietary".
>

The language as it existed in the 1990s (when the customer base was
handed to Synergex) lacked a number of core features present in other
major languages of the time and which made writing code in DIBOL more
error prone and cumbersome than it should have been.

The language was a good idea when it was created but it had not kept
pace with the times while under DEC's control.

The number one example which annoyed me was the inability to create
user defined data types and then create multiple standalone instances
of those data types as required.

That's something which was only fixed properly in the last decade by
Synergex when the language was given some major enhancements.

An example for non-DIBOL programmers who happen to know C:

Imagine creating a nominal ledger record data type as a struct in C
(if C supported zoned decimal variables). You could place this data
type definition in a header file and then create multiple standalone
instances of this data type in a C program as required. Each instance
would be named to reflect it's usage.

For example, in a program you might need to keep the current record,
the last record prior to the current one, and the last record from
before a key change. This means the program needs 3 standalone
instances of the same data type.

You couldn't do that in VAX DIBOL; there was no concept of user defined
data types as we know them in other languages such as C. You could
emulate them to some extent by creating a single global instance of
what is called a group (which was basically an array with an identical
record layout for each element), but while you could reference each field
within an element by it's name, you could only reference each element
itself as you would an array.

If you wanted to track another instance of a record at the same time,
you needed to increase the size of the group in a program, so the size
of the group became program specific. There were other workarounds which
didn't use groups, but all in all, the workarounds for not having user
defined data types were rather ugly.

Another example is that there was no forms management utility for user
display/input built into VAX DIBOL; I ended up writing my own.

Synergy (Synergex's name for DIBOL + tools) comes with a rather decent
high level TUI/GUI forms system which meets the needs of a number of
business applications rather well and which I started to increasingly
use after switching to Synergy.

I can't remember if you could create dynamic memory structures in VAX
DIBOL or not; you can do it in Synergy (even though the original method
wasn't all that elegant).

>
> The point of this is the PowerHouse story is about to play out all
> over again. The current owner of the language is focusing on the
> OpenSource tools and DOT-NOT stuff while the VMS side languishes. A
> large number of deeply entrenched VMS customers will be forced to
> migrate from the platform.

What percentage of Synergy's customers are VMS based, what percentage
are Unix based and what percentage are Windows based ?

They may be reacting to where the majority of their profits come from.

Simon.

-- 
Simon Clubley, clubley at remove_me.eisner.decus.org-Earth.UFP
Microsoft: Bringing you 1980s technology to a 21st century world



More information about the Info-vax mailing list