When things get more complicated, it becomes more difficult,
to get your opponent to admit that you are right. For example,
you cannot write a program that shows the complexity of an
algorithm in a convincing manner.
Of course, it is also possible that I am the one who is wrong.
Loop through from 1 to N.
Count c comparisons, say, on each iteration.
print n,c
You now have CSV data you can feed to Libre Office or the
spreadsheet program of your choice to make a nice pretty graph.
In a current discussion about a topic from the field of physics,
there are some people who do not realize that I am right.
In computer programming, often, when someone says something
that is wrong, I can demonstrate his error relatively easily
to such an extend, that he must realize that he is wrong.
Of course, this applies especially to trivial matters, and
not to all programming topics.
For example, when someone says, "In C, one cannot print
an asterisk, as this is a so-called 'meta character' that
has a special meaning for the language.", I can go ahead and
write a C program that prints an asterisk. Even if my opponent
does not even understand the program, he can start it and
see that it prints an asterisk.
Of, course, he /could/ say: "Yes, as I said. This program
is not written in C, because it prints an asterisk! This must
be C++.". But often he will see his error. People who do not
like to admit their errors have a hard time in programming,
because the behavior of their program is only controlled by
the technical guidelines of the language specification and
not by their wishful thinking or overconfidence.
When things get more complicated, it becomes more difficult,
to get your opponent to admit that you are right. For example,
you cannot write a program that shows the complexity of an
algorithm in a convincing manner.
Of course, it is also possible that I am the one who is wrong.
Many jump directly into learning how to code, and skip learning the concept >of programming.
JJ <jj4public@outlook.com> writes:
Many jump directly into learning how to code, and skip learning the concept >> of programming.
Requiring students to learn abstract concepts of programming
languages before they have made concrete programming
experiences in some specific languages might actually make it
unnecessarily difficult for them and slow down their learning.
On 7 Feb 2023 19:53:17 GMT, Stefan Ram wrote:
When things get more complicated, it becomes more difficult,
to get your opponent to admit that you are right. For example,
you cannot write a program that shows the complexity of an
algorithm in a convincing manner.
It may actually be the opposite. The program which is needed to convince the opponent, would need to be done at a lower level - which increases the complexity to understand the code.
Short question or small problem usually need a long answer or complex solution. While long question or complex problem, usually need a short
answer or simple solution.
If you go to any programming sub in Reddit, or any programming channel in Discord, you'll realize that some people aren't capable of realizing that they are wrong.
On Tuesday, February 7, 2023 at 9:58:29 PM UTC, JJ wrote:
If you go to any programming sub in Reddit, or any programming channel in
Discord, you'll realize that some people aren't capable of realizing that
they are wrong.
This is even more obvious in comp.theory. There is a poster there who claims to have refuted the Halting Problem proof,
and to have a system which can accurately determine whether a program will halt or not.
He has a demonstration program, which he claims does not halt
and which his detector identifies as non-halting.
He does however accept that when said program is run, it halts. He can't accept that his simulation is incorrect, however, and instead argues that this is proof that a program can behave differently when it is "directed executed" from when it is "correctly simulated". He goes on to say that it is correct for his detector to determinate what will happen when the program is correctly simulated, rather than what happens when it is run, and so his detector is correct. Numerous people have pointed the
On 08/02/2023 3:03 pm, Paul N wrote:
On Tuesday, February 7, 2023 at 9:58:29 PM UTC, JJ wrote:
If you go to any programming sub in Reddit, or any programming channel in >>> Discord, you'll realize that some people aren't capable of realizing that >>> they are wrong.
This is even more obvious in comp.theory. There is a poster there who
claims to have refuted the Halting Problem proof,
I refute it too. Bear with me.
and to have a system which can accurately determine whether a program
will halt or not.
I, too, have such a system. Bear with me.
He has a demonstration program, which he claims does not halt
He is mistaken.
and which his detector identifies as non-halting.
His detector errs.
He does however accept that when said program is run, it halts.
can't accept that his simulation is incorrect, however, and instead
argues that this is proof that a program can behave differently when
it is "directed executed" from when it is "correctly simulated". He
goes on to say that it is correct for his detector to determinate
what will happen when the program is correctly simulated, rather than
what happens when it is run, and so his detector is correct. Numerous
people have pointed the problems out to him, but he keeps posting to
say that no-one has ever posted a correct refutation.
Here is my refutation. Feed it with any program you like via a pipe.
#include <stdio.h>
int main(void)
{
int ch;
while((ch = getchar()) != EOF)
{
continue;
}
puts("If executed, the specified program will halt.");
return 0;
}
Richard Heathfield <rjh@cpax.org.uk> writes:
On 08/02/2023 3:03 pm, Paul N wrote:
On Tuesday, February 7, 2023 at 9:58:29 PM UTC, JJ wrote:
If you go to any programming sub in Reddit, or any programming channel in >>>> Discord, you'll realize that some people aren't capable of realizing that >>>> they are wrong.
Yes, it's a rather quaint idea. Some subjects might make it easier for people with open minds to discover their mistakes, but it's very far
from being universal!
This is even more obvious in comp.theory. There is a poster there who
claims to have refuted the Halting Problem proof,
I refute it too. Bear with me.
OK...
and to have a system which can accurately determine whether a program
will halt or not.
I, too, have such a system. Bear with me.
This is a rather different claim. The "Halting Problem proof" surely
refers to a proof of a specific mathematical theorem, so it's not clear
in what way any particular C program refutes it.
He has a demonstration program, which he claims does not halt
His claims change, but when I last checked in he (the loon in
comp.theory) was still being clear that the program in question halts.
He's posted code, he's posted traces of the simulation, he's stated it
in plain words.
He is mistaken.
On this point, no.
and which his detector identifies as non-halting.
His detector errs.
He does however accept that when said program is run, it halts.
Just to clear up the nonsense he spouts, he claims that "non-halting" is
the right answer because of what /would/ happen if the program were not stopped -- that the program in question only halts because it is stopped
"by itself". Yes, it's bonkers, but he maintains he's right because
he's changed what "halting" means.
OK, /I/ know you are joking, but will everyone?
Do we want any more
people confused about what the halting theorem is about?
(I know you are not a
crank, you are just having a bit of fun).
On 08/02/2023 9:07 pm, Ben Bacarisse wrote:
Richard Heathfield <rjh@cpax.org.uk> writes:
On 08/02/2023 3:03 pm, Paul N wrote:Yes, it's a rather quaint idea. Some subjects might make it easier for
On Tuesday, February 7, 2023 at 9:58:29 PM UTC, JJ wrote:
If you go to any programming sub in Reddit, or any programming channel in >>>>> Discord, you'll realize that some people aren't capable of realizing that >>>>> they are wrong.
people with open minds to discover their mistakes, but it's very far
from being universal!
Indeed, although computer programs have proven to be singularly adept at proving their authors wrong!
OK...This is even more obvious in comp.theory. There is a poster there who
claims to have refuted the Halting Problem proof,
I refute it too. Bear with me.
Ta.
This is a rather different claim. The "Halting Problem proof" surelyand to have a system which can accurately determine whether a program
will halt or not.
I, too, have such a system. Bear with me.
refers to a proof of a specific mathematical theorem, so it's not clear
in what way any particular C program refutes it.
The refutation is in the program's output (which is always correct):
If executed, the specified program will halt.
Which it will. ALL programs halt.
His claims change, but when I last checked in he (the loon inHe has a demonstration program, which he claims does not halt
comp.theory) was still being clear that the program in question halts.
He's posted code, he's posted traces of the simulation, he's stated it
in plain words.
He is mistaken.On this point, no.
The specific statement I was addressing was: "He has a demonstration
program, which he claims does not halt"
Such a claim would be erroneous.
Just to clear up the nonsense he spouts, he claims that "non-halting" isHe does however accept that when said program is run, it halts.
the right answer because of what /would/ happen if the program were not
stopped -- that the program in question only halts because it is stopped
"by itself". Yes, it's bonkers, but he maintains he's right because
he's changed what "halting" means.
We all know what "halting" means, and we all should know that all programs halt.
<snip>
OK, /I/ know you are joking, but will everyone?
No. That's part of the joy of Usenet.
Do we want any more
people confused about what the halting theorem is about?
Interesting exercise: attempt to justify a "yes" answer in an entertaining way. (I came up with three that are far too dull to post.)
Richard Heathfield <rjh@cpax.org.uk> writes:
On 08/02/2023 9:07 pm, Ben Bacarisse wrote:
Richard Heathfield <rjh@cpax.org.uk> writes:
On 08/02/2023 3:03 pm, Paul N wrote:Yes, it's a rather quaint idea. Some subjects might make it easier for
On Tuesday, February 7, 2023 at 9:58:29 PM UTC, JJ wrote:
If you go to any programming sub in Reddit, or any programming channel in
Discord, you'll realize that some people aren't capable of realizing that
they are wrong.
people with open minds to discover their mistakes, but it's very far
from being universal!
Indeed, although computer programs have proven to be singularly adept at
proving their authors wrong!
Yes, that's a good point. Programming is more frequently humbling than
very many other activities, at least for most of us.
OK...This is even more obvious in comp.theory. There is a poster there who >>>>> claims to have refuted the Halting Problem proof,
I refute it too. Bear with me.
Ta.
This is a rather different claim. The "Halting Problem proof" surelyand to have a system which can accurately determine whether a program >>>>> will halt or not.
I, too, have such a system. Bear with me.
refers to a proof of a specific mathematical theorem, so it's not clear
in what way any particular C program refutes it.
The refutation is in the program's output (which is always correct):
If executed, the specified program will halt.
Which it will. ALL programs halt.
Come on! You know I know what that C program does.
What I don't know
is in what way that C program refutes a mathematical theorem. One makes statement about programs,
the other makes statements are Turing
machines. Presumably you don't think Turing machines all halt in the
same sense that you think all programs halt?
His claims change, but when I last checked in he (the loon inHe has a demonstration program, which he claims does not halt
comp.theory) was still being clear that the program in question halts.
He's posted code, he's posted traces of the simulation, he's stated it
in plain words.
He is mistaken.On this point, no.
The specific statement I was addressing was: "He has a demonstration
program, which he claims does not halt"
Such a claim would be erroneous.
OK. I was addressing his claims in the context of his model of
computation, not yours. His is abstract, yours is concrete. The
abstract model is interesting whereas yours is not -- in the technical
sense of interesting (that has been cut).
<snip>
Oh, OK.
I'm old-school. I liked it more when Usenet was informative rather than entertaining.
I prefer to learn what people know and think and believe
about things. I'll try to reply in a more entertaining way in future!
On 09/02/2023 1:09 am, Ben Bacarisse wrote:
Richard Heathfield <rjh@cpax.org.uk> writes:
If executed, the specified program will halt.
Which it will. ALL programs halt.
Come on! You know I know what that C program does.
Yes, of course.
What I don't know
is in what way that C program refutes a mathematical theorem. One makes
statement about programs,
Yes. That statement refutes the mathematical theorem by pointing out an obvious fact about all programs.
the other makes statements are Turing
machines. Presumably you don't think Turing machines all halt in the
same sense that you think all programs halt?
Of course all Turing machines halt. You don't seriously think it is
possible for a Turing machine *not* to halt, do you?
/Real-world/ programs always halt. Most of the programs I write have an "infinite loop" - "while (true) { .... }" in them. But they stop when someone switches off the board they are running on. Even the last of
the Novel Netware servers will stop with the heat death of the universe.
You /could/ argue that non-halting programs are just mathematical
fantasies.
So let's please stick to the normal definitions of the terms, and not
add hidden assumptions about real-world limitations to simple
mathematical concepts.
On 09/02/2023 08:18, Richard Heathfield wrote:
On 09/02/2023 1:09 am, Ben Bacarisse wrote:
Richard Heathfield <rjh@cpax.org.uk> writes:
If executed, the specified program will halt.
Which it will. ALL programs halt.
Come on! You know I know what that C program does.
Yes, of course.
What I don't know
is in what way that C program refutes a mathematical theorem.
One makes
statement about programs,
Yes. That statement refutes the mathematical theorem by
pointing out an obvious fact about all programs.
the other makes statements are Turing
machines. Presumably you don't think Turing machines all halt
in the
same sense that you think all programs halt?
Of course all Turing machines halt. You don't seriously think
it is possible for a Turing machine *not* to halt, do you?
You are making up new definitions here for pretty much all of the
terms.
On 2023-02-09 09:42, David Brown wrote:
/Real-world/ programs always halt. Most of the programs I write have
an "infinite loop" - "while (true) { .... }" in them. But they stop
when someone switches off the board they are running on. Even the
last of the Novel Netware servers will stop with the heat death of the
universe.
Here you are talking about a computing system, not the program it runs.
The computing system may halt = stop functioning. However arguably it
does not stop, it ceases to exist as a computing system.
The program does not. Per definition properties of a program are
independent on the computing system. It is like 1+1=2, even if some
beads of the abacus are built out of antimatter so that they annihilate
when touching other beads. Same stupid argument.
You /could/ argue that non-halting programs are just mathematical
fantasies.
All programs are mathematical fantasies. After all, they are immaterial.
So let's please stick to the normal definitions of the terms, and not
add hidden assumptions about real-world limitations to simple
mathematical concepts.
Right.
On 09/02/2023 1:09 am, Ben Bacarisse wrote:
What I don't know
is in what way that C program refutes a mathematical theorem. One makes
statement about programs,
Yes. That statement refutes the mathematical theorem by pointing out an obvious fact about all programs.
the other makes statements are Turing
machines. Presumably you don't think Turing machines all halt in the
same sense that you think all programs halt?
Of course all Turing machines halt. You don't seriously think it is possible for a Turing machine *not* to halt, do you?
<snip>Oh, OK.
You sound disappointed. I don't remember what I snipped and I'm not going to check, but my intent was not to disappoint but to be briefer.
I prefer to learn what people know and think and believe
about things. I'll try to reply in a more entertaining way in future!
That's your decision, not mine. (But I don't think it's written down
anywhere that information has to be dull.)
A very straight bat, very well played.
On 09/02/2023 12:41, Richard Heathfield wrote:
A very straight bat, very well played.
Is that a cricket metaphor? I'm Scottish, and we don't really do
cricket.
What's the point of having a game with sticks if you
can't hit the other players when the ref is looking the other
way? :-)
Richard Heathfield <rjh@cpax.org.uk> writes:
On 09/02/2023 1:09 am, Ben Bacarisse wrote:
What I don't know
is in what way that C program refutes a mathematical theorem. One makes >>> statement about programs,
Yes. That statement refutes the mathematical theorem by pointing out an
obvious fact about all programs.
I'm now not sure if you are still joking.
On 07/02/2023 7:53 pm, Stefan Ram wrote:
<snip>
When things get more complicated, it becomes more difficult,
to get your opponent to admit that you are right. For example,
you cannot write a program that shows the complexity of an
algorithm in a convincing manner.
Of course, it is also possible that I am the one who is wrong.
Loop through from 1 to N.
Count c comparisons, say, on each iteration.
print n,c
You now have CSV data you can feed to Libre Office or the
spreadsheet program of your choice to make a nice pretty graph.
With big enough N it should show you most of what you need.
Of course, it is also possible that I am the one who is wrong.
But I think I just showed that not only /can/ you write such a
program, but it isn't even very difficult.
--
Richard Heathfield
Email: rjh at cpax dot org dot uk
"Usenet is a strange place" - dmr 29 July 1999
Sig line 4 vacant - apply within
On 09/02/2023 2:05 pm, Ben Bacarisse wrote:
Richard Heathfield <rjh@cpax.org.uk> writes:
On 09/02/2023 1:09 am, Ben Bacarisse wrote:I'm now not sure if you are still joking.
What I don't know
is in what way that C program refutes a mathematical theorem. One makes >>>> statement about programs,
Yes. That statement refutes the mathematical theorem by pointing out an
obvious fact about all programs.
"You make too much of a trifle", as Watson said to Holmes.
Richard Heathfield <rjh@cpax.org.uk> writes:
On 09/02/2023 2:05 pm, Ben Bacarisse wrote:
Richard Heathfield <rjh@cpax.org.uk> writes:
On 09/02/2023 1:09 am, Ben Bacarisse wrote:I'm now not sure if you are still joking.
What I don't know
is in what way that C program refutes a mathematical theorem. One makes >>>>> statement about programs,
Yes. That statement refutes the mathematical theorem by pointing out an >>>> obvious fact about all programs.
"You make too much of a trifle", as Watson said to Holmes.
Might I urge you to follow the excellent device of Flora Poste and to
mark with one or more asterisks those passages which you consider not to
be mere trifles and about which you consider it appropriate that
something might be made?
In mathematics, words have meanings given to them
by definitions of a /theory/.
To argue for a mathematical model (such as a Turing machine) that
never halts necessarily and /obviously/ entails the claim that a
mathematical model can exist in perpetuity, for if the model
ceases to exist, so does the Turung machine.
On 10/02/2023 11:46 am, Ben Bacarisse wrote:
Richard Heathfield <r...@cpax.org.uk> writes:
On 09/02/2023 2:05 pm, Ben Bacarisse wrote:
Richard Heathfield <r...@cpax.org.uk> writes:
On 09/02/2023 1:09 am, Ben Bacarisse wrote:I'm now not sure if you are still joking.
What I don't know
is in what way that C program refutes a mathematical theorem. One makes >>>>> statement about programs,
Yes. That statement refutes the mathematical theorem by pointing out an >>>> obvious fact about all programs.
"You make too much of a trifle", as Watson said to Holmes.
Might I urge you to follow the excellent device of Flora Poste and toIndeed you might, but I give my readers the credit for being able
mark with one or more asterisks those passages which you consider not to
be mere trifles and about which you consider it appropriate that
something might be made?
to tell the difference without their having to waste precious
computrons deciphering asterisks that are already overloaded with
*far too many* meanings.
Still, let me lay my somewhat arid sense of humour aside for a
moment and take one serious crack at explaining the rationale
that lies beneath my previous 'contributions' to this thread.
To argue for a mathematical model (such as a Turing machine) that
never halts necessarily and /obviously/ entails the claim that a
mathematical model can exist in perpetuity, for if the model
ceases to exist, so does the Turung machine. But such models
themselves exist only in the minds, writings and inventions of
mathematicians and scientists, and all the artifices and devices
of thinking creatures will end with the heat death of the
universe and the consequent inability for devices to do work.
Therefore, to argue that an unending program and its encompassing mathematical model can exist necessarily requires one to argue,
in essence, for a non-corporeal and /intelligent/ life force to
persist after death not only of the individual but of the entire
universe. I don't know of many computer scientists who would be
prepared to argue for such persistence (because most computer
scientists I know are atheists). I conclude that a computer
scientist who argues that an unending Turing machine is possible
is very likely to be suffering from cognitive dissonance.
If you choose to reply, I will of course read your reply with
interest, but I may well not reply in turn because I intend to at
least attempt to refrain from contributing further to this
thread, as I, too, am making too much of a trifle.
--
Richard Heathfield
Email: rjh at cpax dot org dot uk
"Usenet is a strange place" - dmr 29 July 1999
Sig line 4 vacant - apply within
Still, let me lay my somewhat arid sense of humour aside for a moment and take one serious crack at explaining the rationale that lies beneath my previous 'contributions' to this thread.
To argue for a mathematical model (such as a Turing machine) that never
halts necessarily and /obviously/ entails the claim that a mathematical
model can exist in perpetuity, for if the model ceases to exist, so does the Turung machine.
But such models themselves exist only in the minds, writings and
inventions of mathematicians and scientists, and all the artifices and devices of thinking creatures will end with the heat death of the
universe and the consequent inability for devices to do
work.
Therefore, to argue that an unending program and its
encompassing mathematical model can exist necessarily requires one to
argue, in essence, for a non-corporeal and /intelligent/ life force to persist after death not only of the individual but of the entire
universe.
I don't know of many computer scientists who would be
prepared to argue for such persistence (because most computer
scientists I know are atheists). I conclude that a computer scientist
who argues that an unending Turing machine is possible is very likely
to be suffering from cognitive dissonance.
If you choose to reply, I will of course read your reply with interest, but
I may well not reply in turn because I intend to at least attempt to refrain from contributing further to this thread, as I, too, am making too much of a trifle.
I don't argue for an unending Turing machine!
On 10/02/2023 11:16 pm, Ben Bacarisse wrote:
I don't argue for an unending Turing machine!
Fine; then we agree after all.
Richard Heathfield <rjh@cpax.org.uk> writes:
On 10/02/2023 11:16 pm, Ben Bacarisse wrote:
I don't argue for an unending Turing machine!
Fine; then we agree after all.
This has been a very useful learning experience. Thank you.
On 07/02/2023 7:53 pm, Stefan Ram wrote:
<snip>
When things get more complicated, it becomes more difficult,
to get your opponent to admit that you are right. For example,
you cannot write a program that shows the complexity of an
algorithm in a convincing manner.
Of course, it is also possible that I am the one who is wrong.
Loop through from 1 to N.
Count c comparisons, say, on each iteration.
print n,c
You now have CSV data you can feed to Libre Office or the
spreadsheet program of your choice to make a nice pretty graph.
With big enough N it should show you most of what you need.
Of course, it is also possible that I am the one who is wrong.
But I think I just showed that not only /can/ you write such a
program, but it isn't even very difficult.
--
Richard Heathfield
Email: rjh at cpax dot org dot uk
"Usenet is a strange place" - dmr 29 July 1999
Sig line 4 vacant - apply within
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 428 |
Nodes: | 16 (2 / 14) |
Uptime: | 108:15:16 |
Calls: | 9,053 |
Calls today: | 10 |
Files: | 13,395 |
Messages: | 6,015,806 |