Is this a good habit?

C

Chris Torek

Well I guess it depends how you count them: by implementations or by
programming seats.

There are other ways to count as well (e.g., "number of binaries
used" or "number of invocations of binaries generated"), although
your two here are probably the best. Of course, if you are going
to count "total implementations", you also have to pin down whether
to count implementations that were never used in any sort of
production capacity, such as student projects in compiler classes,
or alpha and/or beta releases of commercial compilers.
I havent done a marketing survey, but just by weighing the questions
on the internet, I suspect the ones I've listed above cover at
least 80% of the seats. Just gcc and Microsoft Visual C prolly
cover 75%.

Here at Wind River, we would hope that Diab gets a few more. :)

On another note: while we are mentioning ancient, strange
implementations, there is one I am curious about, and another I
will mention.

I never used this first one myself: Leor Zolman's "BDS C" for CP/M.
A friend of mine had it and used it, but I never asked whether it
had an equivalent of a "bss" section. (I would be unsurprised
whether it had it or not.)

Whitesmiths C for the Z80 (also CP/M): this one was particularly
obnoxious in that there was no "uninitialized global data". If
you compiled, e.g.:

bar.c: int global; f() { global = 2; }
main.c: main() { f(); exit(0); }

you would get an "undefined symbol" error at link-time for "global".
You had to explicitly initialize "global" to 0, which of course
put it in the data segment.

(I remmber this problem because it was so aggravating. It took me
hours, maybe even a whole day, to figure out why certain globals
were "undefined" and others were not. The documentation said that
the compiler used the def/ref model, so I had carefully written
the code this way, rather than relying on the Unix-style "common"
model, and yet it still did not link. The documentation simply
failed to mention that a "def" was not a "def" unless it was
initialized! The "extern" keyword was simply ignored.)
 
D

Dik T. Winter

> Well, opinions will differ, but IMHO anything that is four racks wide,
> needs special power hookup, needs lots of airconditioning, is placed in
> a raised-floor computer room, costs over $150K, has its own
> minicomputer built-in as a boot and diagnostic device, has tape drives
> and line printers attached, has an operator assigned to run it, falls
> into the (low end) of the "mainframe" category.
>
> True, the Vax line eventually would be squeezed into little beige
> shoeboxes, but the original 780 took several trips with a forklift to
> move.

The 780 we had (serial number 38) was indeed quite heavy, but not as
heavy as a mainframe. We had no problem to get it to the third floor
of the building (*). Special strengthening was not needed. The floor
was indeed raised, but that was more so to allow easy cabling between
the computers in the computer room (at first two 11's and the 780,
later a few 750's were added), and the raising was done using not so
very strong wood (it is now sagging, so it has to be redone). It had
tape drives and a line printer attached to it (at first, later the
tapes were handled by one of the 750's as was the printing), but there
was no operator assigned to run it, there was not even a console. It
ran out of itself, 24 hours each day. BSD Unix of course. There are
some nice stories about the installation of one of the 750's because
the DEC engineer wanted to install VMS, using floppies as the machine
came also without DEC disks. He was sent of to the canteen while our
staff installed BSD Unix, using temporary sharing of the Unibus.

And, no, I certainly would not have called the 780 a mainframe. At
most a super-mini.

(*) Our computer room is on the third floor. The insurance company
has the requirement that expensive computers are not on the ground
floor as that is below sea-level. So when the building was built in
1978-79 it was built with the library on the first floor, extending
to the second floor, and the computer room on the third (and highest
floor). (Eh, first floor is here the first floor above ground ;-).)
 
L

Leor Zolman

Chris said:
I never used this first one myself: Leor Zolman's "BDS C" for CP/M.
A friend of mine had it and used it, but I never asked whether it
had an equivalent of a "bss" section. (I would be unsurprised
whether it had it or not.)

BDS C had no support for initialization whatsoever. All global data was
treated as being in one great big FORTRAN Common-like block.

I don't recall even zero-initializaing that area at program startup...
;-)
-leor
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,537
Members
45,022
Latest member
MaybelleMa

Latest Threads

Top