• Welcome to the new COTI server. We've moved the Citizens to a new server. Please let us know in the COTI Website issue forum if you find any problems.

VIBOLA - the Imperial programming language

robject

SOC-14 10K
Admin Award
Marquis
Ada meets COBOL with a bit of INTERCAL and using Vilani syntax. Runs on the Imperial Operating System (IOS), a just-in-time quantum lattice architecture with an n-time optimal self-morphing opcode set. (Eat your heart out, Star Trek).

In short: impossible performance (computations in linear time) with code that looks like it was ripped out of 1975.

A VIBOLA program is split into four divisions: the identification division (where types are defined), the environment division (which specifies dependent services), the data division (which defines variables) and the procedure division.

A program line starts at column 7, which disambiguates the nature of the line.

Headers and descriptors belong in columns 8-11.

Code not otherwise allowed in the Headers area runs from columns 12 to 72. It includes commands like MOVE, which is how you send messages to methods.

Column 73+ is optional. It identifies the program or sequence.

That's the COBOL influence there.

It is design by contract (DbC), with extremely strong typing, explicit concurrency, tasks, synchronous message passing, protected objects, and non-determinism.

It almost knows you're going to make an error as soon as you type two characters. Some personality types swear the linter has a personality (an evil one).

There are no predefined primitive types.

That's the Ada influence.

Unlike Ada, it has a modern memory manager that allows automatic garbage collection that guarantees no unpredictable behavior. This is due to insights derived from key Vilani PhD-equivalents millennia ago.

From INTERCAL, KAG.GISIIN and DANIM.MAA are I/O methods, and every type defined is also its own queue-stack.

There's also

LENA please, happy
IGI again (resume)
NALAR forget
PA branch
RADUS approach (come from)
LAG mix (mingle)
IIMU select
 
You are displaying way too much Cobol knowledge here!

To be fair, given microprocessor advances and the shear size of Traveller computers I don't think language choice matters too much. Not withstanding that I agree the Imperium will have picked something and taught it universally. VIBOLA sounds suitably "good".

The real work though will be in the real time compiler which I suspect would be universal. Create any language you want to run through the Imperial compiler and you will get exactly the same machine code output optimised for the computer in question.

Hwever this ignores the idea that code itself may be phased out in favour of drag-n-drop functionality to "build" a program. Abstract away using code to create functions and merely use commonly accepted functions as building blocks chained together (pipeline or lattice). This will significantly reduce the expertise required to do useful stuff. For example, I use microprocessors, I don't build them (despite watching youtube and thinking "I could do that!").
 
Back
Top