Re: Kernel Development & Objective-C

Bill Davidsen
2007-12-01T18:11:39Z

Alan Cox wrote:
>> BCPL was typeless, as was the successor B (between Bell Labs and GE we
>
> B isn't quite typeless. It has minimal inbuilt support for concepts like
> strings (although you can of course multiply a string by an array
> pointer ;))
>
> It also had some elegances that C lost, notably
>
> case 1..5:
>
> the ability to do no zero biased arrays
>
> x[40];
> x-=10;

Well, original C allowed you to do what you wanted with pointers (I used
to teach that back when K&R was "the" C manual). Now people which about
having pointers outside the array, which is a crock in practice, as long
as you don't actually /use/ an out of range value.
>
> and the ability to reassign function names.
>
> printk = wombat;

I had forgotten that, the function name was actually a variable with the
entry point, say so in section 3.11. And as I recall the code, arrays
were the same thing, a length ten vector was actually the vector and
variable with the address of the start. I was more familiar with the B
stuff, I wrote both the interpreter and the code generator+library for
the 8080 and GE600 machines. B on MULTICS, those were the days... :-D
>
> as well as stuff like free(function);
>
> Alan (who learned B before C, and is still waiting for P)

I had the BCPL book still on the reference shelf in the office, along
with goodies like the four candidates to be Ada, and a TRAC manual. I
too expected the next language to be "P".

--
Bill Davidsen <davidsen@tmr.com>
"We have more to fear from the bungling of the incompetent than from
the machinations of the wicked." - from Slashdot