| Author |
Message |
Anne & Lynn Wheeler
Guest
|
Posted:
Sun Aug 21, 2005 4:15 pm Post subject:
Re: ISA-independent programming language |
|
|
the mainframe tcp/ip product was also implemented in pascal/vs.
there were some issues with its thruput ... getting 44kbytes/sec
consuming nearly full 3090 cpu.
i did the product modifications for rfc 1044 support and in some
testing at cray research between a cray and a 4341-clone ... it was
peaking at the channel interface speed using only modest amount cpu
(about 1mbyte/sec using maybe 200-300kips).
past rfc 1044 posts
http://www.garlic.com/~lynn/subnetwork.html#1044
that testing trip sticks in my mind ... we were on nw flight sitting
on the runway at sfo taking off nearly 20 minutes late (for
minneapolis). part way thru the flight, i noticed a number of people
congregated in the back of the plane. i went back to find out what all
the interest was about ... and it turns out they were discussing the
big quake that hit very shortly after we left the ground.
--
Anne & Lynn Wheeler | http://www.garlic.com/~lynn/ |
|
| Back to top |
|
 |
Terje Mathisen
Guest
|
Posted:
Mon Aug 22, 2005 8:15 am Post subject:
Re: ISA-independent programming language |
|
|
Anne & Lynn Wheeler wrote:
| Quote: | the mainframe tcp/ip product was also implemented in pascal/vs.
there were some issues with its thruput ... getting 44kbytes/sec
consuming nearly full 3090 cpu.
|
Ouch!
I used the same Pascal compiler to implement/hack Kermit, with
modifications to allow it to work effectively across terminal protocol
emulators.
This mostly consisted of code to implement large packets (2K instead of
79 chars) and to get rid of VT100 cursor escape sequences.
I got about the same throughput as IBM's 3270 PC/AT got over the same
lines, using (afair) less host cpu.
| Quote: | i did the product modifications for rfc 1044 support and in some
testing at cray research between a cray and a 4341-clone ... it was
peaking at the channel interface speed using only modest amount cpu
(about 1mbyte/sec using maybe 200-300kips).
|
:-)
| Quote: | that testing trip sticks in my mind ... we were on nw flight sitting
on the runway at sfo taking off nearly 20 minutes late (for
minneapolis). part way thru the flight, i noticed a number of people
congregated in the back of the plane. i went back to find out what all
the interest was about ... and it turns out they were discussing the
big quake that hit very shortly after we left the ground.
|
That would indeed make it memorable. :-(
Terje
--
- <Terje.Mathisen@hda.hydro.com>
"almost all programming can be viewed as an exercise in caching" |
|
| Back to top |
|
 |
Jan Vorbrüggen
Guest
|
Posted:
Mon Aug 22, 2005 8:15 am Post subject:
Re: ISA-independent programming language |
|
|
| Quote: | that testing trip sticks in my mind ... we were on nw flight sitting
on the runway at sfo taking off nearly 20 minutes late (for
minneapolis). part way thru the flight, i noticed a number of people
congregated in the back of the plane. i went back to find out what all
the interest was about ... and it turns out they were discussing the
big quake that hit very shortly after we left the ground.
|
Ah, _that_ day! I was on a very much delayed Eastern Flight, which made
it to Atlanta just after the last possible connecting flight had depar-
ted, and they shoved us into a hotel after midnight without any dinner
and only a vending machine selling soft drinks on the floor. Watching
CNN, after 25 minutes of every half hour was spent on the San Francisco
quake, there was 5 minutes of world news, including about 30 seconds
on Honecker being thrown out of office. The California governor, who
strangely enough was travelling in Germany at the time, got more air
time 8-|. Bizarre.
Jan |
|
| Back to top |
|
 |
mihai cartoaje
Guest
|
Posted:
Mon Aug 22, 2005 4:15 pm Post subject:
Re: ISA-independent programming language |
|
|
I have done some modifications to my post.
---------------------------------------------------------------
It might be possible for a programming language to allow programs to
read and write anywhere in their memory address space, and to have the
property that the result of any program is independent of the isa and
of the compiler, if the program is not reading or timing itself.
Starting from C, modifications would include,
- arithmetic is two's complement
- the sizes of variables are uniquely defined by the programming
language
- variables are stored in memory in little-endian format
- the size of pointers is programmer-selectable
- the value of floating-point formulas is uniquely defined by the
programming language
- others I have not thought of |
|
| Back to top |
|
 |
Nick Maclaren
Guest
|
Posted:
Mon Aug 22, 2005 4:15 pm Post subject:
Re: ISA-independent programming language |
|
|
In article <1124709615.425991.189650@g49g2000cwa.googlegroups.com>,
"mihai cartoaje" <repstsb@yahoo.ca> writes:
|>
|> It might be possible for a programming language to allow programs to
|> read and write anywhere in their memory address space, and to have the
|> property that the result of any program is independent of the isa and
|> of the compiler, if the program is not reading or timing itself.
And is not optimised (including most parallelisation) etc.
|> Starting from C, modifications would include,
|>
|> - arithmetic is two's complement
|> - the sizes of variables are uniquely defined by the programming
|> language
|> - variables are stored in memory in little-endian format
|> - the size of pointers is programmer-selectable
|> - the value of floating-point formulas is uniquely defined by the
|> programming language
|> - others I have not thought of
Indeed. Too many others to describe in a posting.
If you are going there, which is a pretty ghastly idea anyway,
don't start from C. Anyway, if you think that is a desirable
objective, what's wrong with Java?
Regards,
Nick Maclaren. |
|
| Back to top |
|
 |
Stephen Fuld
Guest
|
Posted:
Mon Aug 22, 2005 4:15 pm Post subject:
Re: ISA-independent programming language |
|
|
"mihai cartoaje" <repstsb@yahoo.ca> wrote in message
news:1124709615.425991.189650@g49g2000cwa.googlegroups.com...
| Quote: | I have done some modifications to my post.
---------------------------------------------------------------
It might be possible for a programming language to allow programs to
read and write anywhere in their memory address space, and to have the
property that the result of any program is independent of the isa and
of the compiler, if the program is not reading or timing itself.
Starting from C, modifications would include,
- arithmetic is two's complement
- the sizes of variables are uniquely defined by the programming
language
- variables are stored in memory in little-endian format
- the size of pointers is programmer-selectable
- the value of floating-point formulas is uniquely defined by the
programming language
- others I have not thought of
|
Or you could take a different approach -
Start from Fortran IV
Done!
--
- Stephen Fuld
e-mail address disguised to prevent spam |
|
| Back to top |
|
 |
David Gay
Guest
|
Posted:
Mon Aug 22, 2005 4:15 pm Post subject:
Re: ISA-independent programming language |
|
|
"Hank Oredson" <horedson@earthlink.net> writes:
| Quote: | By "have pointers", I meant being able to read or write anywhere in
address space, as if a program is in physical address mode and writes
to a video card's memory aperture after reading it's address from the
PCI configuration space.
That is a much different definition of "pointer" than I'm used to.
Some programs do their own memory management, like Quake or the linux
kernel. I know of no way this can be done without the size of pointers
becoming visible.
Oh. Never mind.
You seem to have "pointer" confused with "memory address."
We were talking about very different things.
|
To be fair, many people seem to claim that pointer != reference. I assume
that perspective comes from a "pointer = memory address" perspective
(I'm unclear what the difference would be otherwise, except possibly
pointer = reference+offset).
--
David Gay
dgay@acm.org |
|
| Back to top |
|
 |
Nick Maclaren
Guest
|
Posted:
Mon Aug 22, 2005 4:15 pm Post subject:
Re: ISA-independent programming language |
|
|
In article <s71zmraq7ve.fsf@beryl.CS.Berkeley.EDU>,
David Gay <dgay@beryl.CS.Berkeley.EDU> writes:
|> "Hank Oredson" <horedson@earthlink.net> writes:
|> > > By "have pointers", I meant being able to read or write anywhere in
|> > > address space, as if a program is in physical address mode and writes
|> > > to a video card's memory aperture after reading it's address from the
|> > > PCI configuration space.
|> >
|> > That is a much different definition of "pointer" than I'm used to.
Indeed.
|> > > Some programs do their own memory management, like Quake or the linux
|> > > kernel. I know of no way this can be done without the size of pointers
|> > > becoming visible.
I do, but it's decidedly non-trivial. It is much easier to specify
a Unix-like memory model.
|> > Oh. Never mind.
|> > You seem to have "pointer" confused with "memory address."
|> > We were talking about very different things.
|>
|> To be fair, many people seem to claim that pointer != reference. I assume
|> that perspective comes from a "pointer = memory address" perspective
|> (I'm unclear what the difference would be otherwise, except possibly
|> pointer = reference+offset).
pointer = capability
pointer = token (for fetching/storing data)
and so on ...
Regards,
Nick Maclaren. |
|
| Back to top |
|
 |
David Gay
Guest
|
Posted:
Mon Aug 22, 2005 10:37 pm Post subject:
Re: ISA-independent programming language |
|
|
nmm1@cus.cam.ac.uk (Nick Maclaren) writes:
| Quote: | In article <s71zmraq7ve.fsf@beryl.CS.Berkeley.EDU>,
David Gay <dgay@beryl.CS.Berkeley.EDU> writes:
|> "Hank Oredson" <horedson@earthlink.net> writes:
|> > > By "have pointers", I meant being able to read or write anywhere in
|> > > address space, as if a program is in physical address mode and writes
|> > > to a video card's memory aperture after reading it's address from the
|> > > PCI configuration space.
|
|> > That is a much different definition of "pointer" than I'm used to.
Indeed.
|> > > Some programs do their own memory management, like Quake or the linux
|> > > kernel. I know of no way this can be done without the size of pointers
|> > > becoming visible.
I do, but it's decidedly non-trivial. It is much easier to specify
a Unix-like memory model.
|> > Oh. Never mind.
|> > You seem to have "pointer" confused with "memory address."
|> > We were talking about very different things.
|
|> To be fair, many people seem to claim that pointer != reference. I assume
|> that perspective comes from a "pointer = memory address" perspective
|> (I'm unclear what the difference would be otherwise, except possibly
|> pointer = reference+offset).
pointer = capability
pointer = token (for fetching/storing data)
|
Those sound like what might be meant by reference too ;-) The question
wasn't how to define pointer, but a comment that a belief that
"pointer = memory address" might be why some people think that
"pointer != reference".
--
David Gay
dgay@acm.org |
|
| Back to top |
|
 |
Stephen Fuld
Guest
|
Posted:
Tue Aug 23, 2005 12:15 am Post subject:
Re: ISA-independent programming language |
|
|
"glen herrmannsfeldt" <gah@ugcs.caltech.edu> wrote in message
news:05Cdnel9yMuBsZfeRVn-1A@comcast.com...
| Quote: | Stephen Fuld wrote:
"mihai cartoaje" <repstsb@yahoo.ca> wrote in message
news:1124709615.425991.189650@g49g2000cwa.googlegroups.com...
(snip)
Starting from C, modifications would include,
- arithmetic is two's complement
- the sizes of variables are uniquely defined by the programming
language
- variables are stored in memory in little-endian format
- the size of pointers is programmer-selectable
- the value of floating-point formulas is uniquely defined by the
programming language
- others I have not thought of
Or you could take a different approach -
Start from Fortran IV
I don't believe that any Fortran version has those requirements.
|
If you mean the "required" changes to C listed above, I certainly agree, but
I don't think that was the original question. That was, could you implement
a programming language that was independent of ISA, and later an added
requirement that was independent of the length of a pointer. I take that
operationally to mean that no source code changes would be required to port
the protram to a computer with a different ISA or different size of
pointers.
I was trying to point out that, rather than starting from C and making
modifications, you could start froma different place, namely Fortran IV and
then you wouldn't need any of the kinds of modifications listed above. It
was a (perhaps lame) attempt to try to broaden the OPs perspective that C
was the be all and end all of programming languages.
| Quote: | Java comes pretty close, though.
|
Yes, agreed.
--
- Stephen Fuld
e-mail address disguised to prevent spam |
|
| Back to top |
|
 |
glen herrmannsfeldt
Guest
|
Posted:
Tue Aug 23, 2005 12:15 am Post subject:
Re: ISA-independent programming language |
|
|
Stephen Fuld wrote:
| Quote: | "mihai cartoaje" <repstsb@yahoo.ca> wrote in message
news:1124709615.425991.189650@g49g2000cwa.googlegroups.com...
|
(snip)
| Quote: | Starting from C, modifications would include,
- arithmetic is two's complement
- the sizes of variables are uniquely defined by the programming
language
- variables are stored in memory in little-endian format
- the size of pointers is programmer-selectable
- the value of floating-point formulas is uniquely defined by the
programming language
- others I have not thought of
Or you could take a different approach -
Start from Fortran IV
|
I don't believe that any Fortran version has those requirements.
Java comes pretty close, though.
-- glen |
|
| Back to top |
|
 |
mihai cartoaje
Guest
|
Posted:
Tue Aug 23, 2005 7:27 am Post subject:
Re: ISA-independent programming language |
|
|
When I have written the first post in this thread, I left out the
requirement for a program result to be independent of the compiler. I
added it afterward.
The length of a pointer being user-selectable is part of my solution. |
|
| Back to top |
|
 |
Hank Oredson
Guest
|
Posted:
Tue Aug 23, 2005 8:15 am Post subject:
Re: ISA-independent programming language |
|
|
"David Gay" <dgay@beryl.CS.Berkeley.EDU> wrote in message
news:s71vf1xrhyd.fsf@beryl.CS.Berkeley.EDU...
| Quote: |
nmm1@cus.cam.ac.uk (Nick Maclaren) writes:
In article <s71zmraq7ve.fsf@beryl.CS.Berkeley.EDU>,
David Gay <dgay@beryl.CS.Berkeley.EDU> writes:
|> "Hank Oredson" <horedson@earthlink.net> writes:
|> > > By "have pointers", I meant being able to read or write anywhere
in
|> > > address space, as if a program is in physical address mode and
writes
|> > > to a video card's memory aperture after reading it's address from
the
|> > > PCI configuration space.
|
|> > That is a much different definition of "pointer" than I'm used to.
Indeed.
|> > > Some programs do their own memory management, like Quake or the
linux
|> > > kernel. I know of no way this can be done without the size of
pointers
|> > > becoming visible.
I do, but it's decidedly non-trivial. It is much easier to specify
a Unix-like memory model.
|> > Oh. Never mind.
|> > You seem to have "pointer" confused with "memory address."
|> > We were talking about very different things.
|
|> To be fair, many people seem to claim that pointer != reference. I
assume
|> that perspective comes from a "pointer = memory address" perspective
|> (I'm unclear what the difference would be otherwise, except possibly
|> pointer = reference+offset).
pointer = capability
pointer = token (for fetching/storing data)
Those sound like what might be meant by reference too ;-) The question
wasn't how to define pointer, but a comment that a belief that
"pointer = memory address" might be why some people think that
"pointer != reference".
|
Babble-mode on.
Actually, the point I was getting at was that "pointer" is a
language abstraction, which might or might not map in some
way to one or more memory addresses, while "memory
address" is an ISA specific construct. e.g. a "memory
address" might refer to an octet, or maybe a "word" or
perhaps something else depending on the physical
arrangment of memory bits in the particular ISA.
For the case of C, there is that befuddlement about "an integer
of some flavor can hold a pointer value". Some languages have
pointers that don't "have a value", but are (as Nick points
out) a way to access or make visible a "something" which
might be a value or a record or a capability or the result of
triggering an SQL query (never mind, that is a "cursor")
or ... all those interesting issues surrounding the confusion
between the thing, the location of the thing, the name of
the thing, etc.. Cue Lewis Carroll here ...
So perhaps "reference" is ok, in it's generic sense, but I
personally kinda like "token" since it does not have the
C like association with "dereference". "Detoken" ???
Perhaps we need a new term. I will suggest "setter" for
that thing which is like a "pointer" but should go through
a different door ... (Where is /BAH anyway?).
Oh, wait, this is not afc ... sorry ...
Babble-mode off now.
--
... Hank
http://home.earthlink.net/~horedson
http://home.earthlink.net/~w0rli |
|
| Back to top |
|
 |
Hank Oredson
Guest
|
Posted:
Tue Aug 23, 2005 8:15 am Post subject:
Re: ISA-independent programming language |
|
|
"mihai cartoaje" <repstsb@yahoo.ca> wrote in message
news:1124764036.263666.8760@g44g2000cwa.googlegroups.com...
| Quote: | When I have written the first post in this thread, I left out the
requirement for a program result to be independent of the compiler. I
added it afterward.
|
That is simply a requirement on the compiler.
| Quote: | The length of a pointer being user-selectable is part of my solution.
|
Why should a pointer have a "length"?
--
... Hank
http://home.earthlink.net/~horedson
http://home.earthlink.net/~w0rli |
|
| Back to top |
|
 |
glen herrmannsfeldt
Guest
|
Posted:
Tue Aug 23, 2005 8:15 am Post subject:
Re: ISA-independent programming language |
|
|
Stephen Fuld wrote:
(snip)
| Quote: | Or you could take a different approach -
Start from Fortran IV
I don't believe that any Fortran version has those requirements.
If you mean the "required" changes to C listed above, I certainly agree, but
I don't think that was the original question. That was, could you implement
a programming language that was independent of ISA, and later an added
requirement that was independent of the length of a pointer. I take that
operationally to mean that no source code changes would be required to port
the protram to a computer with a different ISA or different size of
pointers.
I was trying to point out that, rather than starting from C and making
modifications, you could start froma different place, namely Fortran IV and
then you wouldn't need any of the kinds of modifications listed above. It
was a (perhaps lame) attempt to try to broaden the OPs perspective that C
was the be all and end all of programming languages.
|
Well, for properly written code you shouldn't need most of those
for C either. It is reasonably often posted to comp.lang.c that
a certain piece of code won't work for other than twos complement
machines, though it is usually only slightly harder to write the
correct code. As I understand it, Unisys still sells ones complement
machines.
Both C and Fortran can alias variables of different types and
non-portably detect endian problems. Variable size can be
exactly specified in PL/I, but it is normally expected that the
compiler will choose the next convenient size.
-- glen |
|
| Back to top |
|
 |
|
|
|
|