I looked at that one and had to skip to the end. What he’s getting at
doesn’t match what I, or most programmers I know, mean by “low level.”
Low level just means it’s far from how humans think. It’s low because
we like to put things on top of it that are easier for us to deal with.
The idea that it’s “close to the machine” just comes from the fact that
that’s the most popular reason to deliberately make something low level.
(Making it easy to analyze is probably the second most popular.)
But I wasn’t trying to argue that “low level” does mean “close to the machine”. That, however is a way it is often expressed. I merely listed that as one idea of “low level”. If I had not mentioned that in the article someone would have simply said “A low level language is close to the machine” and thought that dealt with it, so I had to deal with it out of completeness. I was not saying that “low level” as “close to the machine” was a formal, official idea—and I actually argued that it isn’t. I was after a language which is, as far as possible, free from prejudice towards particular applications and I was arguing that it can be non-trivial to get one. You might dispute my use of the word “low level” for this, but I would say that this is largely a semantic issue and that there is still a need for knowing that we can get a language with these properties. What I was proposing was a way of taking two languages, and testing them against each other without any reference to any third language, any hardware or any physics to determine which of them is most free of any prejudice towards particular uses—in a way, which of them is as close as possible to being free of any information content.
But I wasn’t trying to argue that “low level” does mean “close to the
machine”.
I didn’t think, and didn’t mean to imply that I thought, you were. I
mentioned it for the same reason you did: to help describe my meaning of
“low level” by its connection to something related.
I was after a language which is, as far as possible, free from
prejudice towards particular applications and I was arguing that it can
be non-trivial to get one. You might dispute my use of the word “low
level” for this, but I would say that this is largely a semantic issue
and that there is still a need for knowing that we can get a language
with these properties.
I don’t think that’s what you’re really after. When you describe what
you want, it sounds like a language that is prejudiced against
describing things that are complicated in reality, so the complexity of
the description matches the complexity of the reality.
It’s not just a semantic problem that you’re calling it “low level.”
“Low level” means it’s far from how humans think, which tends to remove
human prejudice. You call it “low level” because you think you can find
it by removing prejudice. You actually need to switch from one
prejudice to another to get what you want.
(Also, thanks for the reply. Sorry I didn’t read the whole thing, but I
got to the list of methods you had rejected, and it was just too much.
It feels a lot longer to someone who thinks the basic idea behind all
the methods is off base.)
I looked at that one and had to skip to the end. What he’s getting at doesn’t match what I, or most programmers I know, mean by “low level.”
Low level just means it’s far from how humans think. It’s low because we like to put things on top of it that are easier for us to deal with. The idea that it’s “close to the machine” just comes from the fact that that’s the most popular reason to deliberately make something low level. (Making it easy to analyze is probably the second most popular.)
But I wasn’t trying to argue that “low level” does mean “close to the machine”. That, however is a way it is often expressed. I merely listed that as one idea of “low level”. If I had not mentioned that in the article someone would have simply said “A low level language is close to the machine” and thought that dealt with it, so I had to deal with it out of completeness. I was not saying that “low level” as “close to the machine” was a formal, official idea—and I actually argued that it isn’t. I was after a language which is, as far as possible, free from prejudice towards particular applications and I was arguing that it can be non-trivial to get one. You might dispute my use of the word “low level” for this, but I would say that this is largely a semantic issue and that there is still a need for knowing that we can get a language with these properties. What I was proposing was a way of taking two languages, and testing them against each other without any reference to any third language, any hardware or any physics to determine which of them is most free of any prejudice towards particular uses—in a way, which of them is as close as possible to being free of any information content.
I didn’t think, and didn’t mean to imply that I thought, you were. I mentioned it for the same reason you did: to help describe my meaning of “low level” by its connection to something related.
I don’t think that’s what you’re really after. When you describe what you want, it sounds like a language that is prejudiced against describing things that are complicated in reality, so the complexity of the description matches the complexity of the reality.
It’s not just a semantic problem that you’re calling it “low level.” “Low level” means it’s far from how humans think, which tends to remove human prejudice. You call it “low level” because you think you can find it by removing prejudice. You actually need to switch from one prejudice to another to get what you want.
(Also, thanks for the reply. Sorry I didn’t read the whole thing, but I got to the list of methods you had rejected, and it was just too much. It feels a lot longer to someone who thinks the basic idea behind all the methods is off base.)