Outside of product development, the internal DECSIM multi-level logic
simulator and its CLI and compilers were also written in BLISS. Most of
these started out in BLISS-36 but they were all brought together with a
fault simulation kernel on the VAX to take advantage of the larger
address space.
Some other internal VLSI CAD tools were also written in BLISS, although
a few were written in more common languages. The first (AFAIK)
retargetable microcode assembler at DEC, MICRO, was written in MACRO-10;
sources are on the net. The next generation MICRO2 was written in BLISS
and AFAIK the binary is available but the sources have sadly been lost.
<Insert obvious plea here.>
Re: Paul's comment about the portable I/O library in BLISS: When I first
encountered C, I used the Unix system calls to do I/O. The "standard
I/O" library was a very important addition to C's usability. Similarly,
when I first encountered BLISS-10, I had to type in a package from the
DECUS documentation to call TOPS-10 to do I/O. Getting the "XPORT" I/O
(etc.) library for Common BLISS was invaluable for the CAD tools.
People have repeatedly omitted I/O from the initial design of a language
and relegated it to a library, but even if the language is intended to
be used for a kernel, people learning the language ("Hello, world!") or
using the language above the kernel for utilities will need to do I/O,
so this library should be included in the language design from the very
beginning. I think this lesson has been learned by now. Its fallout is
recognized in Stroustrup's quote of a Bell Labs axiom, "Library design
is language design, and vice versa."
- Aron
On 7/12/24 12:51, Paul Winalski wrote:
Outside the VAX/VMS development group, BLISS was
DEC's standard
implementation language. In the development organizations I worked in
(software development tools and compilers), we did almost zero
programming in assembly code.