Thank you for that. I personally find language construction
interesting.
It’s a shame that people are just plugging their ears in this
particular
topic. Though I think part of the problem is this topic is that some
people
seem to think that a program is not a system. The problem with that
idea is
what do you say when you start talking about languages built expressly
for
designing what we are used to calling programming languages. Is the
thing
output by an Antlr grammar spec a single unit that is not expressive, or
is
it a system that is expressive? If one considers all programs systems
that
express a subset of human thoughts the definitions of what these things
are
remains consistent even at the level of language design.
This post was less constructive than any of the others I have seen so
far.
On Thu, Apr 14, 2011 at 05:59:54AM +0900, Kevin wrote:
Thank you for that. I personally find language construction
interesting. It’s a shame that people are just plugging their ears in
this particular topic. Though I think part of the problem is this
topic is that some people seem to think that a program is not a system.
That’s not the case at all, from what I’ve seen. People just recognize
that, though a language is a system, not all systems are languages.
Ah yes, the old “Oh look specific context” therefore stop reading
definition. You cannot properly understand the phrase “programming
language” without understanding both terms. The most important term in
this
case being language. The entire reason the phrase programming language
works is because language is recognized as an expressive system. In
reality
definition twelve takes for granted the kind of input that could be used
to
deliver instructions to a machine, it assumes that the method used to
deliver the instructions is of a symbolic nature. What happens if you
are
dealing with a computer that is not digital such as one that functions
with
gears? What happens if some genius manages to use specific frequencies
of
sound to deliver instructions to the machine? Is the system of sounds
that
the instructions take the form of not to be considered a language?
You say I shot myself in the foot but here is something that might
interest
you: By your own logic Ruby is not a programming language. Here’s why.
You
wish to separate the Excel environment from the macro system or
interpreter
that it contains. Ruby and all other programming languages can
theoretically be separated in this way as well, the problem here is that
if
you separate these things your input is meaningless because the system
is
incomplete. How could you give instructions with Ruby style input
without
something that can tell the machine what all those instructions mean?
The
interpreter or compiler allows the computer to understand the directions
you
give it in a particular language. In other words a unit of a system is
not
the system. You cannot separate the Excel environment from the
interpreter
and retain results that are meaningful to a computer. By the same token
C++
or Ruby code cannot be separated from the compiler or interpreter and
remain
meaningful to a computer.
Just for your information a computer used to refer to a person that did
computations. Around the time that digital computers were coming online
one
of the major reasons for their adoption in military circles was the fact
that the mathematics human computists had to deal with were just too
difficult to deal with accurately and in a timely fashion. Oh and for
the
record if we did have a good enough system for interpreting english for
a
computer the communication process would be programming because program
as
in giving instructions is not limited to machines, we program humans all
the
time. Humans are conditioned (programmed) to read characters almost
instantly, we are not born doing that, the necessary instructions are
inserted by being spoken to or made to go through drills that explain
the
formal rules of a language.
So I take it you are taking your ball home now? You invent a magic
restriction and I applied your restriction to something that you would
consider a programming language to illustrate the problem with your
restriction. Namely that the language does not exist unless the machine
can
interpret it, a delivery system is required before something can be
considered a language since you want to ignore the human who is also
capable
of deriving meaning from code. I also pointed out problems with the
definition you want so badly to misread. You routinely use examples
that
have nothing to do with anything being discussed here and I am the one
guilty of “moving the goal posts” and sophistry? I have maintained from
the
beginning that all programs are systems of expression, I haven’t moved
any
goal posts. When I mentioned your easy chair example I was trying to
point
out that your statements about an easy chair being a mechanism while
not
being a language were unimportant because I wasn’t saying that all
systems
are languages, I have been saying that all systems that can/do express
human
thoughts are languages and that a computer program (and not the physical
computer itself) is such a system.
Earlier you said that I was making an analogy with pictures and language
and
that said analogy was false because pictures are statements and not
language this is false. I said that pictures can form the basis of a
language I did not say that they were the language itself. Furthermore
you
claimed that definition seven in set one was being used metaphorically
in
the sense that it is not literally applicable. The problem with that is
that no symbol can be literally applied to anything. In point of fact
symbol and metaphor are synonymous with one another. So according to
you
language is a set of metaphors that stand for instructions in this
context
but definition seven in set one of language is invalid because it is
metaphorical even though rejecting definition seven in this manner
requires
you to also reject definition twelve since it says that within this
context
language is a set of metaphors applied with certain rules that can be
used
to give instructions to a computer. (A system that is expressive.) In
short
according to you definition twelve is not appropriate for this
discussion
since you reject the use of metaphorical definitions. Even if you don’t
accept that there really is a set of definitions for flowers so no
definition seven in set one was not being used metaphorically (As a
simile.)
it was being used quite literally, the language of flowers being an
example
of a communication system. If you look at the second example “the
language
of art”; depending on which definition of art you use, such a statement
may
be understood in terms of definition one of language since definition
one of
language pretty much defines jargon.
On Thu, Apr 14, 2011 at 08:44:05AM +0900, Kevin wrote:
[snip]
blah blah blah sophistry
[/snip]
I have no interest in continuing this discussion, where your rhetorical
techniques basically consist of moving the goal posts every six minutes.
Just for your information a computer used to refer to a person that did
computations.
I’m aware of this.
Oh, look – the goalposts are moving again.
On Thu, Apr 14, 2011 at 02:32:35PM +0900, Kevin wrote:
You invent a magic restriction and I applied your restriction to
something that you would consider a programming language to illustrate
the problem with your restriction.
Nope. You’re just trolling, and it took me a while to accept that fact.
Nothing you said holds any water. I refuse to address all the straw men
I’m now convinced you are intentionally setting up; I have ceased
having any excuse to believe you’re not intentionally misrepresenting
what I say at every turn.
Also . . . I’m pretty sick and tired of your TOFU posting.
On Thu, Apr 14, 2011 at 9:28 AM, Mike S. [email protected]
wrote:
Longest post for at least a year.
It would appear people are comfortable with discussing details but once
you stray into challenging their worldviews, you see quite different
behaviour patterns.A reminder of why we have to have our bags searched at the airport.
Nicely put. As the originator of this thread I am sorry where all
this went. My intent was to hear how other people view the tendency
to include functional features in other programming languages or
create hybrids from the start. Or hear whether they disagree that
such a tendency exists.
Unfortunately I am myself guilty of following that “Excel is (not) a
(functional) language” branch of the discussion that you lured us
into. That is an interesting topic in itself but not what I had
in mind originally.
If there’s still anybody out there who wishes to comment along the
original line of thought, please let’s hear it.
Kind regards
robert
On Thu, Apr 14, 2011 at 3:29 AM, Robert K.
[email protected]wrote:
IDK, likening your adversaries to terrorists seems a bit extreme to me.
Longest post for at least a year.
It would appear people are comfortable with discussing details but once
you stray into challenging their worldviews, you see quite different
behaviour patterns.
A reminder of why we have to have our bags searched at the airport.
On 14 April 2011 09:28, Mike S. [email protected] wrote:
Longest post for at least a year.
It would appear people are comfortable with discussing details but once
you stray into challenging their worldviews, you see quite different
behaviour patterns.
This is not about world views, it’s about term borders nitpicking,
really.
On 14 April 2011 01:44, Kevin [email protected] wrote:
sound to deliver instructions to the machine? Is the system of sounds that
interpreter or compiler allows the computer to understand the directions you
give it in a particular language. In other words a unit of a system is not
the system. You cannot separate the Excel environment from the interpreter
and retain results that are meaningful to a computer. By the same token C++
or Ruby code cannot be separated from the compiler or interpreter and remain
meaningful to a computer.
This distinction was made because earlier somebody said that “true S#
programmers use the macro language only as the last resort”.
Indeed, the macro language(s) that can be used from excel are
definitely programming languages but VBA is not funtional or otherwise
interesting in any way.
The expressions you put into the cells are kind of functional with a
solver which might somewhat remind one of Prolog and constraint
solving systems based off it but I have no idea how it works
internally and how formulating problems to be solvable in Excel
compares to formulating problems to be solvable in constraint solvers.
As for Turing completeness, game of life or x86 machine code is Turing
complete and nobody in their right mind would call it a programming
language.
Calling something a programming language does in my book imply that
- it is meant to be used by humans
- it is meant to give instructions to some system, such as a
computer, an application, etc.
This implies that Excel is not a programming language but the
expressions in its cells or VBA which can be used from Excel might,
meaning that Excel is an application that includes or integrates one
or more languages.
Since this is further strengthened by the fact the same or similar
expressions can be used in other applications (VBA in other parts of
MS office, cell expressions in OpenOffice Calc) I would say Excel is
not the language but an implementation or a runtime or a development
environment for it.
Note that a language can be defined eg. in mathematical sense as a set
of words which in turn are defined as succession (or string if you
want) of symbols of an alphabet which in turn is defined as a set of
symbols
While this definition is useful for analyzing properties of
programming language grammar it is not the definition which makes
something a programming language.
Regards
Michal
Michal S. wrote in post #992724:
Calling something a programming language does in my book imply that
- it is meant to be used by humans
- it is meant to give instructions to some system, such as a
computer, an application, etc.This implies that Excel is not a programming language
Michal, there have been many such non-sequiturs in this thread, but that
is the most elegantly simple.
I apologise for bringing Excel into the discussion - which was supposed
to be about people’s thoughts on functional programming languages. Excel
- like functional languages - makes you come up with new patterns.
My defence is it’s like introducing a new recruit to the village cricket
team, then people find out he’s gay. I’m not to know in advance whether
they find that peripheral aspect irrelevant, interesting or an extremely
serious matter.
Going back to functional languages in the normal sense, few people on
this thread seem to be
that interested, and when I’ve mentioned them in a work context
(typically .NET), nobody’s bothered.
On Fri, Apr 15, 2011 at 03:25:20PM +0900, Mike S. wrote:
Going back to functional languages in the normal sense, few people on
this thread seem to be
that interested, and when I’ve mentioned them in a work context
(typically .NET), nobody’s bothered.
I think a lot of people on this list, newsgroup, and forum are
interested
in functional programming languages. It’s just easy to derail the
discussion by claiming that something is an example of the subject when,
in fact, it is not. If you want to discuss the functional programming
techniques themselves, do so using examples whose status as functional
programming languages are not controversial.
Similarly, if I wanted to discuss functional programming techniques, I
wouldn’t use the Unix shell environment as an example of a functional
programming language, even though it is closer to being a programming
language per se than Excel and using it has a lot of characteristics of
functional programming. If I did bring it up without trying to use it
as
an example of the sort of thing to avoid bringing up, it would only be
to
say something like “These benefits of functional programming apply, by
analogy, to the Unix shell environment – in contrast to the point and
click GUI environment.”
The moment I make the mistake of saying something like “The Unix shell
environment is a functional programming language!” without obvious
metaphor in use, I should expect people to focus on that, because
trying to discuss something using examples with whose relevance most
people disagree is by definition prone to failures of communication.
If there’s some point of controversy you would like to be the center of
discussion, make it the only point of controversy.