[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Definition of Semantic: was What Lua can do that other programming languages can't do?
- From: Ross Bencina <rossb-lists@...>
- Date: Wed, 27 Mar 2013 17:45:40 +1100
2013/3/27 Tim Hill <drtimhill@gmail.com>:
My point was that, at a certain abstract level, semantic bugs are
mostly in the eye of the beholder. Attempts to formalize semantics
almost always end up creating formalisms that shift semantics back
into the realm of syntax; that is a formal logic system that while
self-consistent doesn't really say much about anything other than
that the symbol chain is valid within that system.
But surely that's all that is meant by "semantics" in the domain of
"programming languages". It's the standard split between "syntax" (what
are the symbols and the valid constructions in the source language) and
"semantics" (how the symbols are mapped onto operations of the machine).
That is all.
Attempts to go
beyond that fail in the same way silly ideas like the "semantic
web" nonsense of a few years back.
I'm not sure where you're going here, but I think there is a need to
differentiate between the general field of semantics in human knowledge
and what is meant by "semantic" in programming languages theory (ie
"semantic analysis" etc) -- which just means how to the language symbols
map to machine operations or to the lambda calculus. This has nothing to
do with "human meaning"
On 27/03/2013 5:17 PM, Christian Bielert wrote:
I think that's actually a smart realization that I wish some of my
professors would make. What we consider semantics is mostly
something tied to the human mind, and it can't often be formalized
with these clean, simple mathematical symbols.
Agree.
However, just because
maths can't do it elegantly, it doesn't mean programming languages
and computers can't do it with all the raw power at their disposal.
I think you need to be careful not to confuse programming language
"semantic" (a mathematical concept) and human mind "semantic" (a
somewhat vague, ambiguous, debatable idea).
The lua VM is a definition of lua's semantics. It's not just a
formalism, it's a program. It actually carries semantics
Well, it carries a formal interpretation. Whether or not you consider
that to embody further meaning depends on which of the 5 schools of
mathematics you subscribe to (via Richard Hamming):
1. Platonist (ideas more real than the material world. ideas are
discovered theorems).
2. Formalist (symbols. strictly mechanical processes. "when rigor
enters, meaning departs" -- Hilbert.)
3. Logician (mathematics is logic. (Russell))
4. Intuitonist (mathematics matches reality, intuitively)
5. Constructivist (something exists if you can say how to make it)
, and even
if we are arrogant enough to pretend that the VM is meaningless
without humans writing programs for it,
I don't think it takes any arrogance to suggest that a VM is
meaningless. From a purely formalist perspective it is meaningless. It's
a function. A mathematical object. An information machine. Nothing more.
we can't get around the fact
that even with humans gone, a lua VM can translate a program into
real world actions - give it meaning, semantics.
Here I think you are confusing two uses of semantics.
Real world actions don't have intrinsic meaning or semantics. It is only
when they are considered in social context, or "read" by a human that
the come to mean something. Does a program run in the void of space with
no human watching have meaning? semantics?
What programs lack is self-awareness, and the resulting "smart"
self-manipulation(yes, there are programs that manipulate
themselves, but I don't know of one that smartly evolves that way).
There are examples in the genetic programming literature that optimise
according to goals. I'm not sure whether that qualifies as "smart".
They do have semantics, though.
You interpret them to have semantics. There is nothing intrinsic that
makes them have semantics.
There is nothing arrogant about admitting that humans give meaning to
fundamentally meaningless things. It's how language works. Symbol and
semantic are separable.
Cheers,
Ross.
- References:
- What Lua can do that other programming languages can't do?, Muqtheear S
- Re: What Lua can do that other programming languages can't do?, Joseph Manning
- Re: What Lua can do that other programming languages can't do?, Coda Highland
- Re: What Lua can do that other programming languages can't do?, José Passes
- Re: What Lua can do that other programming languages can't do?, Coda Highland
- Re: What Lua can do that other programming languages can't do?, Sean Conner
- Re: What Lua can do that other programming languages can't do?, Coda Highland
- Re: What Lua can do that other programming languages can't do?, Roberto Ierusalimschy
- Re: What Lua can do that other programming languages can't do?, Steve Litt
- Re: What Lua can do that other programming languages can't do?, Jorge
- Re: What Lua can do that other programming languages can't do?, Steve Litt
- Definition of Semantic: was What Lua can do that other programming languages can't do?, Steve Litt
- Re: Definition of Semantic: was What Lua can do that other programming languages can't do?, Tim Hill
- Re: Definition of Semantic: was What Lua can do that other programming languages can't do?, Doug Currie
- Re: Definition of Semantic: was What Lua can do that other programming languages can't do?, Tim Hill
- Re: Definition of Semantic: was What Lua can do that other programming languages can't do?, Christian Bielert