Back to the main page

Mailing List Logs for ShadowRN

From: Todd Montgomery <tmont@****.WVU.EDU>
Subject: TOME: Programming Languages and Libraries
Date: Wed, 28 Jul 1993 15:08:19 -0400
SUBMISSION: TOME: Programming Langaugaes and Libraries
DESIGNER: Todd Montgomery (Quiktek), Ideas from Everyone
E-Mail: tmont@****

DESCRIPTION: Options for deckers to help produce programs
quicker, easier, and with more options.

Programming Languages:
Languages used to program utilities. These include suites of
tools to automate some of the programming, and compilers to
actually produce cyberdeck executables. The languages
come in two different styles, PC based and Matrix based.
A programmer can not use a Language which has a level greater than
his Computer Skill. All these programs are Legal to Licensed
Matrix Corporations. These programs carry the same Legality of
all other Matrix Programs (Highly Illegal most everywhere).

Personal Computer (PC) based languages:

These languages use a PC to program the code.

These languages give additional dice to making programs (Add
level of language to number of dice to roll).

Required Equipment: Personal Computer (Mp equal to program
being worked on + Size of language tool)

CGI (C Graphic Interface): Level 0
This basic compiler takes high level code and
creates cyberdeck executable files. This is the standard
tool used by 90% of the freelance programmers.
Cost: 500Y
Size: 0 Mp, Tool is usually integrated into most PCs
Availability: 4/48 hrs.
Street Index: 0.5

OCGI (Object C Graphic Interface): Level 1
This tool includes a compiler as well as a collection
of very good limited expert systems to do most of the
actual coding.
Cost: 1,200Y
Size: 32 Mp
Availability: 6/72 hrs.
Street Index: 0.8

MEDI (Matrix Elementwise Design Interface): Level 2
This tool includes a high performance compiler, suite
of resource tools for graphics, and an extended group
of limited expert systems to perform most of the coding.
Cost: 4,050Y
Size: 108 Mp
Availability: 10/14 days
Street Index: 1.5

MPDT (Multi-Persona Design Tool): Level 3
This tool includes three separate compilers, dedicated
to producing high quality code, a suite of resource
tools, and a vast collection of limited expert systems
to perform most of the actual coding.
Cost: 10,400Y
Size: 256 Mp
Availability: 12/24 days
Street Index: 3.0

Matrix based languages.

These programming languages require a connection to the Matrix to use.
The link is necessary because the programs are highly dependent
on Matrix utilities to help in Object visualization. These languages
are the kind used by most corporations and as such are very difficult
to LEGALLY get a hold of without getting permits.

These languages lower the Target Number of the programming
success test by their level. They do not add additional dice.
The reduction of the Target Number is only used for the
actual Programming Success Test, not for figuring the
program size, ability limits, etc.

Required Equipment: Matrix connection. Cyberdeck with
Active memory equal to size of program being
constructed + 1/5 size of tool being used.

XMEDI (eXtended Matrix Elementwise Design Interface): Level 1
This tool provides a large array of expert suystems,
compilers, and resource handlers that can drastically
affect the Software development process. The use of
Matrix simsense allows the developer the ability to
tailor graphics to taste while not sacrificing program
Tool Size: 64 Mp
Cost: 24,450Y
Availability: 12/24 days
Street Index: 2.0

LBT (Library Born Technology): Level 2
This tool is the best on the market. It has all the
capabilities of the XMEDI plus adds in a very limited
expert control system which can actually code while the
developer is spending all their energies on the "Big
Software Picture".
Tool Size: 324 Mp
Cost: 48,650Y
Availability: 24/60 days
Street Index: 3.0

Another Usefule Language:

OMPDT (Object Multi-Persona Design Tool): Level 2
This tool is a small utility which allows the Matrix
user to develop short one-shots with a minimum of stress.
Tool Size: 32 Mp
Cost: 3,750Y
Availability: 8/14 days
This tool gives the decker 2 extra dice to design
programs on the fly. Must be running to give the benefit.

Programming Languages:

Most deckers make their own suite of tools, and
resources for their own use. This procedure, while being
different from usual programming, is not extremely difficult.

Two Kinds of Languages can be made: PC based, and Matrix
Based. PC based adds its level in Dice to the success test,
while Matrix based lowers the Target Number by its level.

Base Time: Size X 2 days
PC based: (Level+1)^3 X 4 Mp
Matrix based: (Level+1)^4 X 4 Mp
Skill used: Computer
Skill Target:
PC based: (Level+1)*2
Matrix based: (Level+1)^2
Required Equipment:
PC based: PC (Mp equal to Size of Language +
Size of any tools being used.)
Matrix based: Matrix connection. Cyberdeck with
Active Memory equal to 1/5 size of
tool being constructed.
PC based: Level = Computer Theory/3 (round off)
Matrix based: Level = Computer Theory/4 (round off)

Programming Library Options:
When, in the early days of the computer revolution, programmers needed
routines to put output to the screen or read from a keyboard port, they
were required to write these low level routines themselves, thus adding
more time to an already laborous task. Early in the 1980's, the issues
of software reuse were discussed. But as we all know it took several
generations of computing experience to see that software reuse really
could be useful. Today, most software developers look to premade libraries
to provide them with needed code to meet tough program requirements. Speed,
Memory size, Load Ratings, etc. are all tough requirements to fill. And
it is libraries which make these requirements reachable.

All the languages above and many other undiscussed languages have GigaPulses
and GigaPulses of support libraries. Any of these specialized
libraries can be incorporated into a programming project. The legalities of
using libraries are covered under the World Trade Act of 2036. Corporations
may use libraries for development as long as the library is licensed under
their Matrix Licensing Permit.

Libraries, like most other programs, have ratings. But unlike most other
programs, libraries are only used when a developer is designing/coding
a project. These libraries contain a large amount of alternatives to the
same problem. So that is why the actual size of these libraries varies
so widely. These libraries also have a drastic effect on various aspects
of a program performance. The trade off is will known in the software
community and the excepted.

Using these libraries: The effects of each library are discussed below.
Each library also has a size. This size has no effect on the programming.
All it is used for is figuring time to develop libraries and how much
memory such libraries take up.

Size Optimizing Libraries:

These libraries allow programmers to use specially made
subroutines which are optimized to take up as little space
as possible. The trade off is these libraries are difficult to
use and require careful planning.
Ratings: 1-10
Size: (Rating^2) x 5 Mp
Cost: As program of same rating.
Availability: As program of same rating.
Effect: Reduce size of finished program by (Rating * Programmer
Computer Skill/2 (Round off))%.
Increase Target Number for determining Program Success
Test by Rating/2 (Round up).

Load Rating Optimizing Libraries:

These Libraries are optimized to take advantage of system
characteristics to lessen the Load Rating imparted by a cyberdeck.
But the tradeoff is increased program size. This is the result of
the use of limited AI routines to decide how to load the system.
Ratings: 1-10
Size: (Rating^2) x 4 Mp
Cost: As program of same rating.
Availability: As program of same rating.
Effect: Reduce Size of Program, when determining contribution to
Load Rating only, by (Rating * Programmers Computer Skill)%
Increase Size of Program by (Rating*2.0)%

Non-Corrutpive Libraries:

These libraries provide a level of bullet-proofing to utilties. This
bullet-proofing allows the program more resistance to data corruption
from viruses and arrant Tar class IC. The trade off is that the size
of programs is slightly increased.
Ratings: 1-10
Size: (Rating^2) x 5 Mp
Cost: As program of same rating/2.
Availability: As program of same rating - 2.
Effect: Tar Baby and Tar Pit IC have their Ratings reduced by the
Rating of the Library/2 when determining if they corrupt
a utiltiy.
Increase Program size by (Rating)%

A specific library is made for a certain Language. So self made
Languages can ONLY use self-made Libraries. And a library written for
XMEDI will not work with CGI or MPDT. Several libraries may be
combined, but each library added adds 1 to the Target Number of
the Programming Success Test. Each effect uses the Base program
statistics before any modifications. And then all effects are added.
Percentages are added before computing there actual value.
Example: Joey (Computer Skill 6) is using Load Rating (4) and Size Optimizing
(5) Libraries. The final program will size will be ((4*2)-(6/2 * 5)) = -7%.
The Target Number for determining Program Success is +2, and The Program
acts as if it were -(6*5)% to size when determining Load Rating.

Programming Libraries:
Libraries are programmed exactly like normal programs. But
Languages provide no additional dice OR reductions to Target Number.

-- Quiktek
-- Todd Montgomery


These messages were posted a long time ago on a mailing list far, far away. The copyright to their contents probably lies with the original authors of the individual messages, but since they were published in an electronic forum that anyone could subscribe to, and the logs were available to subscribers and most likely non-subscribers as well, it's felt that re-publishing them here is a kind of public service.