Messages in this thread | | | Date | Tue, 9 Sep 1997 09:18:33 -0400 (EDT) | From | "Richard B. Johnson" <> | Subject | Re: your mail |
| |
On Tue, 9 Sep 1997, Alan Cox wrote:
> > likely originally ported from Pascal. Pascal took care of many things, > > just like FORTRAN. Early 'C' was more Pascal-like than it is now. Real > > early 'C' was called 'B' and even had Pascal-like syntax. > > Bollocks quite frankly. Pontificate on things you know about because I just > happen to be an ex B programmer. B and C have a very similar syntax. There > are obvious differences. B is typeless (almost) and requires the use of > the auto keyword or "extrn" rather than extern - eg > > my_func(x) > { > auto y[100]; > extrn z; > y[40]=x; > 40[y]=x; /* in a typeless world its the same thing > y+=50; > } > > B was allegedly abstracted from bits of BCPL (cut down BCPL=B) which > did have a few minor things in common with pascal notable := for > assignment. The curious can find a free BCPL kit on > http://locke.ccil.org/~esr
Not bullshit at all. You just __CONFIRMED__ exactly what I stated!
I made a 'B' compiler when working for General Electric. It was written in FORTRAN and ran on a PDP-8. It was actually a cross- compiler and it generated binary (no linking) for a 8080 which was Intel's new "traffic-light controller". This was presumed to have some use as a "computer" so many companies were trying to find uses for the samples provided by Intel.
My early coding for this device was in assembly and I had to write the assembler also because there were no such assemblers available yet. I learned about 'B' from a co-worker who had worked for Xerox. None of us knew anything about what AT&T was doing so none of us knew about Ritchie's work. The 'B' compiler made coding very much easier. We worked closely with Intel. General Electric provided the floating-point libraries that I developed to Intel. There was no global data. Everything had to be done on the stack and you could not manipulate the stack-pointer directly, i.e., no add sp NN. Therefore there were multiple pushes and pops (with few registers to save temporary data).
This floating-point library, generated in 'B', targeted to the 8080, was hand-recoded in assembly for optimization, and provided to Intel. This is likely where the floating-point listings that were used by Bill Gates for his BASIC came from.
Several years later, Gary Kildare started Digital Research and developed CP/M. He provided more proper tools for the new Intel devices including an assembler an debugger (DDT). The stuff I had done was now truly obsolete. When Microcomputers took off, long before there was an "apple" everybody started to claim "firsts" for everything. Note that UNIX first ran on a PDP-11/34. This machine's native operating system was RSX-11, a reasonable development environment. I would be quite surprised if Ritchie's first 'B' compiler was not written in FORTRAN also. There was a great deal of literature available at the time including many "user-groups". My BBS System (the PROGRAM EXCHANGE) which goes back to the days of XMODEM and Ward Christensen, was dedicated to the new languages as they were developed.
However, since I worked in the trenches before many tools were available, I ended up writing many compilers and assemblers for many languages. The compilers were always written in FORTRAN with some MACRO thrown in with PDP-8, PDP/11-32, VAX/11-730, VAX/11-785, etc., platforms. The target machines were always Intel or Zilog chips.
Since I am 53 years of age and have been working in this industry for a long time, I have been involved both with hardware and software during the time that many advancements have been made. If you take offense to my claim of "been there, done that", you could check around. I'm in the book.
Cheers, DJ Richard B. Johnson Analogic Corporation Penguin : Linux version 2.1.54 on an i586 machine (66.15 BogoMips). Warning : It's hard to stay on the trailing edge of technology. Linux : Engineering tool Windows : Typewriter
| |