[comp.compilers] BLISS

chuck@amdahl.amdahl.com (Charles Simmons) (07/25/87)

In article <331@hubcap.UUCP> steve@hubcap.clemson.edu (Steve (D.E.) Stevenson) writes:
>Question:  What are the causes of [Bliss'] demise and what are the causes of
>success?

What makes a programming language popular (in the sense of widely used)?
Well, FORTRAN is probably popular because it was essentially the first
programming language developed and it was being pushed by IBM which
made it widely available.  COBOL is widely used because it was standarized
by the government and sold by IBM which made it widely available.  PL1
was widely used (though not nearly as much as COBOL or FORTRAN) because
it was pushed by IBM and thus widely available.  (Notice that IBM is
no longer strongly pushing PL1.  When IBM talks about SAA, they mention
COBOL, FORTRAN, and C, but not PL1 as standard languages that will
be supported in a standard fashion on a variety of machines.)

Basic is/was widely used in the world of micro computers because it
is easy to implement and hence widely available.  Similar comments
apply to Pascal.

C is widely used because it is strongly associated with Unix.  Since
Unix is written in a high-level language, it is far more portable than
most operating systems.  Hence, Unix, and thus C, is widely available
and hence widely used.

To summarize, a language becomes popular by being widely available.
Wide availability implies that either the language is being pushed
by IBM and/or the government, or the language is easy to implement,
or the language is highly portable.

Do any of these criteria apply to Bliss?

-- Chuck Simmons
[For a while it looked like Bliss was going to be DEC's system language, and
they even write some Fortran compilers in it.  Evidently that wasn't enough.
I contend that an important part of the success of Fortran, Cobol, and C is
that each makes it possible to kludge around various limitations.  Compare
that to, say, pre-ANSI Pascal or APL.  -John]
--
Send compilers articles to ima!compilers or, in a pinch, to Levine@YALE.ARPA
Plausible paths are { ihnp4 | decvax | cbosgd | harvard | yale | cca}!ima
Please send responses to the originator of the message -- I cannot forward
mail accidentally sent back to compilers.  Meta-mail to ima!compilers-req-
-
-

steve@hubcap.clemson.edu (Steve (D.E.) Stevenson) (07/27/87)

in article <627@ima.ISC.COM>, chuck@amdahl.amdahl.com (Charles Simmons) says:
> ..... To summarize, a language becomes popular by being widely available.
> Wide availability implies that either the language is being pushed
> by IBM and/or the government, or the language is easy to implement,
> or the language is highly portable.

This seems to be backwards.  Things become widely available because people use
them.  While I agree that the government can try, it don't necessarily work:
c.f. Jovial. C is far from easy to implement on non-dec stuff, surely is not
pushed by IBM and isn't all that portable.
-- 
Steve Stevenson                            steve@hubcap.clemson.edu
(aka D. E. Stevenson),                     dsteven@clemson.csnet
Department of Computer Science,            (803)656-5880.mabell
Clemson Univeristy, Clemson, SC 29634-1906

[I have to disagree. C is quite straightfoward to implement on any byte-
addressable machine. We all know of implementations for 68000, 808x, IBM 370,
so on and so forth. I personally mutated the Sys V Vax compler into a usable
ROMP (IBM PC RT) compiler in a few months. And as far a portability goes, I
routinely take source code from the net that is intended for 32-bit Unix boxes
and make it run on my 16-bit PC with very little trouble. Try doing that with
most Pascal programs. -John]
--
Send compilers articles to ima!compilers or, in a pinch, to Levine@YALE.ARPA
Plausible paths are { ihnp4 | decvax | cbosgd | harvard | yale | cca}!ima
Please send responses to the originator of the message -- I cannot forward
mail accidentally sent back to compilers.  Meta-mail to ima!compilers-request

johnl@ima.UUCP (07/27/87)

As the project-leader for BLISS at DEC for 6 years, I'd like to comment on
several points raised about Bliss.

1. BLISS "failed" as a generally available language for several reasons.

o The "typed operator and untyped operand" world-view is contrary to the
modern notion of type-checking being a good thing. And just like C, there are
lots of syntactically legal BLISS expressions which are semantic nonsense. For
all the bad things about Pascal, it seems that when my programs COMPILE, they
run correctly. I cannot make this claim for either C or BLISS.

o BLISS compilers are difficult to implement and the only "public-domain"
compiler was written in BLISS-10 for the PDP-11

o We (the DEC developers) didn't do an adequate job of making the language
"available" to our customers. I spent YEARS trying to get BLISS released as a
product, and more (fruitless) years trying to get the price reduced to be as
cheap as the assembler! [Namely FREE].

2. Regarding Charles Simmons comment about BLISS not becoming DEC's system
language.....

I'm not certain what's most popular these days, but when I was
there(1975-1983), BLISS was very heavily used. All of DEC's compilers for the
VAX were written in BLISS (except for PL/1). Much of the VAX file-system,
parts of RMS-11 and sundry things on the DEC-10 and 20 were done in BLISS.

3. Regarding portability. The two languages Bliss-10 and Bliss-11 were
developed at CMU and were very definitely non-portable. At Digital, a group of
people including Ron Brender, Marty Jack, and many others developed a new
language "Common BLISS" that had a lot of support for portable programming.
There were four implementations of Common BLISS - Bliss-32, Bliss-36, Bliss-16
and uBliss (micro-Bliss). The latter was a subset compiler that ran on a
PDP-11!

A lot of code was developed at DEC in "Common BLISS" - one example was DSR
(Digital Standard Runoff) which took the same source and ran on PDP-11, DEC-10
and VAX.

I have to admit that I really miss Bliss. It had a terrific macro-system
integrated into the compiler (another reason why it was hard to write a
compiler), which supported iteration and recursion. [We wrote Towers of Hanoi
as a bliss macro that computed the moves at COMPILE TIME!] [Someone else once
wrote a pseudo basic interpreter as a BLISS macro!] It generated fantastic
code, and had machine-dependent features for fine-tuning (such as passing
parameters in registers, or leaving a global variable in a register for use by
a group of cooperating subroutines.

My fantasy bumper sticker:      "Honk if you love BLISS"

Al Lehotsky, apollo!alan
--
Send compilers articles to ima!compilers or, in a pinch, to Levine@YALE.ARPA
Plausible paths are { ihnp4 | decvax | cbosgd | harvard | yale | cca}!ima
Please send responses to the originator of the message -- I cannot forward
mail accidentally sent back to compilers.  Meta-mail to ima!compilers-request

johnl@ima.UUCP (08/06/87)

> o BLISS compilers are difficult to implement and the only "public-domain"
> compiler was written in BLISS-10 for the PDP-11
> 
> o We (the DEC developers) didn't do an adequate job of making the language
> "available" to our customers...

It seems to me that a combination of these two factors is the big reason
why BLISS did not make it as a language.  The lack of strong typing did have
its problems, but C started out being almost as casual about this (although
it is now a fairly strongly-typed language, contrary to popular misconception)
and succeeded nevertheless.  In many ways C has succeeded where BLISS failed,
as a high-level language that even the skeptics could accept as a near-total
replacement for assembler.  It seems to me that by far the biggest factor in
the acceptance of C (as opposed to BLISS, I mean) was the existence of a
fairly good compiler in a popular operating system running on a popular and
cheap machine.  It's ironic that said machine was DEC's own PDP11.  If DEC
had invested the effort to build a good native BLISS compiler for the 11 --
*not* a cross-compiler, most PDP11 sites did not have a PDP10 handy! -- and
made it widely available, BLISS might have stolen a lot of C's thunder.

				Henry Spencer @ U of Toronto Zoology
				{allegra,ihnp4,decvax,pyramid}!utzoo!henry
--
Send compilers articles to ima!compilers or, in a pinch, to Levine@YALE.ARPA
Plausible paths are { ihnp4 | decvax | cbosgd | harvard | yale | cca}!ima
Please send responses to the originator of the message -- I cannot forward
mail accidentally sent back to compilers.  Meta-mail to ima!compilers-request