Possibly better loop construct, also labels+goto important and on the fly compiler idea.

B

Bernhard Schornak

wolfgang kern wrote:

Bernhard Schornak replied to a "Flying-Bucket-post":

Methink we all know about the often not-so-logical ideas from
Buck, they merely come from an abstracted view and are far away
from todays hardware given opportunities.

OTOH, I sometimes got to think about his weird ideas, but mainly
figured that his demands are already covered by hardware but may
not have entered his Delphi/Python-HLL-world yet.
Most of the asked features may be found implemented in the C/C+-
area even just as intrisincs since a while anyway now.


Oops. I am a free human, so I am a natural enemy of declarations of
quite pointless "Universal Laws" - in simple words: Plights are the
opposite of rights.

wolfgang
(for those who dont know:
I'm a purist machine code programmer since more than 35 years)


Bis zum selba z'sammg'schtrickt'n ZX80 (1980) ko I grod no midhoid'n...


Pfüat'Di

Bernhard
 
B

Bernhard Schornak

Skybuck Flying wrote:

"
What is logical?
"

To put the exit condition at the bottom is logical.


As "logical" as to put it anywhere else inside the loop body. As long as we write code
on machine language level, we are asked to choose the most efficient instruction chain
we can find. The decision where to place which instructions is up to the programmers -
not to a counter-productive "Universal Law".

The exit condition glues the loop to the code that will be executed next which is also at the bottom.

Example:

Loop

NextCode


Yes. As you should know, jump targets should be aligned to 32 byte boundaries to avoid
prefetch stalls. Hence, it is absolutely illogical to let a loop run into a set of NOP
instructions at the bottom of the loop's body. Therefore, we had to end each loop with
a jump to the next label to avoid the execution of a couple of extra NOP instructions.
This is as illogical as the attempt to declare some artificial restrictions as the new
Non-Plus-Ultra of programming.

Placing the exit ondition near next code makes more sense at least in situation where I was
programming.

I will give you an example:



LoopBegin( Step = 10 )

if ButtonExists then
begin
ClickButton()
end;

LoopEnd( ButtonClicked )

Execute next code...

This loop waits for the button to appear, once it's found it is clicked and then the loop exits to
continue the next code.

Putting this exit condition on the top makes no sense.


Ever thought about how a compiler might translate this construct? Here are 2 partially
optimised results:

ButtonExists = bit 0 in RCX
ButtonClicked = bit 1 in RCX

...
movl $0x0A, %ebp
testl $0x01, %ecx # does button exist?
je 1f
jmp 0f

.p2align 5,,31
0:decl %ebp
je 1f
call _ClickButton
jmp 0b

.p2align 5,,31
1:eek:rl $0x02, %ecx # button was clicked ten times...
...


Alternative:

...
movl $0x0A, %ebp
testl $0x01, %ecx # does button exist?
je 1f
jmp 0f

.p2align 5,,31
0:call _ClickButton
decl %ebp
jne 0b
jmp 1f

.p2align 5,,31
1:eek:rl $0x02, %ecx # button was clicked ten times...
...


The code with the conditional branch at top is faster than the alternative code,
because putting calls at places used as branch target, even if properly aligned,
is punished with some penalty cycles. As the loop ends at the bottom, we have to
insert a second jump to bypass the second set of NOPs.

Placing an exit condition at the top possibly looks odd for HLL programmers, but
it's faster in many cases. Placing all exit conditions at the bottom of the loop
body can never be faster, but often will be the slower solution.

You should translate your HLL constructs into simple machine language before you
start to declare "Universal Laws" which are none.

I am still wondering why you post to alt.lang.asm if you do not accept that your
proposals are analysed and their flaws are revealed. ;)


BTW: If this button ever existed, it'll exist throughout the runtime of the loop
without disappearing. Hence, it is not necessary to query its existence in each
iteration, because it costs a lot of precious time. The best solution is the one
above - check if the button exists, then start the loop.


Greetings from Augsburg

Bernhard Schornak
 
R

rurpy

I said absolutely nothing of the sort. You're making that quote up -- not
just misinterpreting what I said, or taking my words in the worst
possible way, but completely inventing things I never said.

Yes, on rereading you are correct, you did not say his
proposition made no sense, you disagreed with him that
"putting this exit condition on the top makes no sense"
and claimed he had no business making such a statement
since he had no programming experience.
I misattributed the "no sense" quote. Please note that
that is not the same as "making something up".
Not only did
I never say that Skybuck's proposition "made no sense", but I gave an
example of a language with a loop that does exactly what he wants, and
explicitly described as making sense:

"There is one sort of loop where it makes sense to have the loop condition
at the end. Python doesn't have such a loop, but Pascal does: the repeat
until loop."

As I said above, I read your response as disagreeing with
Skybuck's idea: that the loop test should *always* go at
the bottom.

That you agree with *sometimes* putting the test at the
bottom does not contradict that you disagreed with his
general proposition.
I don't know whether to be more offended for myself, that you would
invent such a bare-faced falsehood about what I said, or for anyone else
reading this thread, that you should assume they would fail to notice
that not only did I not say what you quote me as saying, but that it is
the *opposite* of what I actually said.

No, it was *not* the opposite. It was an overstatement
of your position: "I think the proposition is nutty" versus
"I disagree with the proposition". Presumably if you think
a proposition is nutty or non-nonsensical you also disagree
with it and the former is a stronger version of the latter.
I don't know whether you are deliberately lying, or whether you're just
such a careless reader that you have attributed words actually written by
Skybuck to me, but either way I expect an apology from you for putting
false words into my mouth.

An apology is due when someone does some damage to things
or people (including reputation or feelings) that should
have been avoided.

My overstating your disagreement with Skybuck was inadvertent,
does not change the points I was making (it does not matter
whether you thought he was wrong or nutty) and did no
significant damage to you or your reputation.

You damage your own reputation far more by your use of
erroneous protestations, hyperpole and faux indignation [*1]
to distract from the actual issue, your implications that I
may be lying, deliberately misrepresenting and inventing
bare-faced falsehoods, and your propensity to attack others
based on unsubstantiated speculation which was the origin
of this discussion.

So I acknowledge I overstated your position, but sorry,
no apology beyond that.

Now hopefully having addressed the indignation bit we can
get back to the actual points under discussion?
As for the rest of your argument, I am not of the opinion that he is an
inexperienced programmer because his proposal is "nutty" (YOUR word, not
mine) since I don't think his proposal is completely nutty. There are use-
cases for putting the loop condition at the end. I think he is an
inexperienced programmer because of the lack of any sign in his emails
that he has any meaningful experience in programming.

Replacing "his proposal is nutty" with "his proposal is wrong",
what "signs" did you expect to be present beyond the fact he
advocated looping in a way you don't agree with? A CV?
As I pointed out (again missing from your quotes) he *did*
claim programing experience in his original post.

I also note your change from your original "no programming
experience" to "no meaningful programming experience".
As for your defence[1] of the ad hominem "Clearly Julie is mistaken,
she's just a girl, what would she know about programming?", [...]

That part was poorly written and was not intended to be a
defense of the Julie ad hominen. My intent was to acknowledge
that it was an ad hominem, show a reason why it was an ad
hominem and show that that same reason also applied to your
ad hominem attack against Skybuck. Unfortunately in a late-
night last-minute edit I screwed it up pretty badly. I
started off,

When what I meant was more like,

I then tried to show you that whether someone accepts an
argument as an ad hominem or not depends on whether one accepts
the validity of the implication or not by using, as an example,
people that I thought you would know exist, if not know personally.

That of course makes no sense, since for you to claim it is
an ad hominem, you (being the one who presented it as an
ad hominem) need to show the implication is *invalid*, not
defend it. You would defend the claim that the whole statement
is an ad hominem. Which is what I intended to say.

Finally
Again I was thinking of the entire statement as defendable
as an ad hominem, not the logical implication within, but
that is sadly not how it came out and I can see how the
whole thing reads the the opposite of what I intended.
I will note though that had you read with a more open mind
you might have noticed something was amiss since I would
hardly be saying you would have used that as an example
if it obviously wasn't an ad hominem.

While I screwed up that explanation, the conclusion remains
the same: that an argument is an ad hominem depends on the
invalidity of the embedded implication. Your accusation of
no "programming experience" toward Skybuck is an ad hominem
despite your denial because (in addition to the personal
aspect) the implicit implication is

"his claim, 'putting the loop condition at the top is
wrong' is wrong" -> "he has no programming experience."

and that is an invalid implication, especially given the
existence of his explicit statement that he *did* have
programming experience.

I hope that explanation is a little clearer.
[...snip uninteresting discourse on Aristotle and elk knees...]
And so we come back to Skybuck, who
apparently believes that the use of GOTO instead of loops makes
code more reliable and easier to maintain.

First he never said anything about reliability or maintenance.
He said explicitly wanted goto's for error handling and to
the extent I understood him, I gather he wanted access to
low-level asm-like features from HLLs, which would be consistent
with his cross-posting to alt.lang.asm.

Also, advocating availability of goto's does not imply no
programming experience. Someone who's used goto's in Visual
Basic for error exits might want them elsewhere (not saying
it's a good idea, just that it doesn't show "no programming
experience"). Further, I have seen credible posts in this
very group that pointed out that goto might be useful in
Python in some circumstances. I myself wouldn't mind its
availability for one use: the implementation of efficient
FSMs.

So even if you add his advocacy for goto to the basis for
your conclusion he has no programming experience, it's still
not a valid conclusion and just your opinion.

To be clear: I am not defending his arguments, I am saying
that your claim that he has no programming experience is
not supported by what he wrote and added nothing to your
perfectly fine criticism of his proposition; you could
(and should) have left out those spurious claims.

----
[*1] Obviously I can't read your mind and can only speculate
whether or not you are truly as offended as you say or why.
I thought that accusing you of faux indignation for rhetorical
effect is more complementary (at least you do so skillfully)
then leaving the implication that you unjustifiably go off
the emotional wagon so easily.
 
S

Steven D'Aprano

Yes, on rereading you are correct, you did not say his proposition made
no sense, you disagreed with him that "putting this exit condition on
the top makes no sense" and claimed he had no business making such a
statement

I said nothing of the sort.

Good lord Rurpy, I've already called you out once for misrepresenting
what I've said, and here you are doing it again. You didn't have the good
graces to even say sorry, instead trying to weasel out of an apology with
a feeble "acknowledge[ment] that I overstated your position", and here
you are again digging yourself deeper into the hole. That's three posts
in a row -- your original post where you characterised me as making an
"attack" on Skybuck, the second post where you escalated by attributing
words I never wrote to me, and now this one where yet again you continue
to misrepresent my post despite being called out on it.


[...]
I am saying that your claim
that he has no programming experience is not supported by what he wrote

I did not claim Skybuck had "no business" (your words) making such a
statement about loop conditions. Far from it, I treated his opinion as a
serious one worthy of discussion, discussing situations that both support
and contradict his idea.

I *asked him* if he had programming experience, with an explicit
question, and even began the question with the sort of social lubricant
that acknowledges that the question is a touchy one ("please excuse my
question"). I suggested that *it seems* that he doesn't have such
experience. The normal, good-faith implication of this is that I am
stating an opinion of how it seems to me, not an absolute fact. The whole
exercise was to engage Skybuck in conversation, give him a chance to
demonstrate (or at least assert) that I was mistaken about his lack of
experience, and defend or amend his claim that putting the loop condition
at the beginning of the loop makes no sense.

Unless you are prepared to discuss this in good faith, instead of
continuing to misrepresent what I say, I am done discussing this with you.
 
S

Steven D'Aprano

I find it actually pretty appropriate. The attitude comes from a
hierarchy in which we are not at the top - but neither is esr.

Hmmm, well it's not clear to me that ESR doesn't consider himself at the
top of any hacker hierarchy. I'm sure that he considers that there are
those who know more than him with respect to some specific technology or
other, and I'm sure he doesn't think geeks fall into organisation charts
with nice neat lines between those who report to whom. But I also think
he doesn't have the false modesty to put himself anywhere but in the top
"elite geek hacker" category.

[...]
We're in a hierarchy (or actually
several independent and unrelated ones), and being at the top means (in
the open source world) being everyone's servant; and the people at the
top simply don't have time to be _everyone's_ servant personally, so
they need some sous-servants to help them to help people.

An interesting thought, but I wouldn't put it that way. It seems to me
that a better description would be that geeks tend to be big believers in
"giving back", or perhaps something akin to "Whiteman's Burden" that
Kipling believed in, the idea that those who have have a duty to those
who don't. Of course, the whole colonialism thing is out of favour these
days, and truth be told the idea of bringing "civilization to the
savages" was more honoured in the breach than in the observance even in
Kipling's day. But the idea that those who have more than others (be that
skills, knowledge or possessions) have a duty towards those who don't is
not a bad philosophy to live be.

If we must have hierarchies -- and alas, Homo sapiens being as it is, we
do -- it is better for those at the top to have a duty to serve as well
as privileges. That's what Heinlein was getting at with the (often
misunderstood) "Starship Troopers". Did it glorify military service? Yes
it did, but it also emphasised the *service* part. If you want the
privilege of citizenship, they you have to earn it by first serving.

But I think that *servant* is not the right description for the
relationship you are talking about. That implies that (say) I could
demand ESR's service at any time, or at least at any time within pre-
defined boundaries (even servants get days off), and that he would have
no right to refuse service. But that's not the case. He is a volunteer
who is free to say No at any time, and the quickest way to get him to say
No would be to treat him as a servant.
 
C

Chris Angelico

Hmmm, well it's not clear to me that ESR doesn't consider himself at the
top of any hacker hierarchy. I'm sure that he considers that there are
those who know more than him with respect to some specific technology or
other, and I'm sure he doesn't think geeks fall into organisation charts
with nice neat lines between those who report to whom. But I also think
he doesn't have the false modesty to put himself anywhere but in the top
"elite geek hacker" category.

There are multiple independent hierarchies, and in some of them, he
may well be at (or close to) the top - but not all of them. Proper
acceptance of a hierarchical world includes knowing that there's
always someone above you.
But I think that *servant* is not the right description for the
relationship you are talking about. That implies that (say) I could
demand ESR's service at any time, or at least at any time within pre-
defined boundaries (even servants get days off), and that he would have
no right to refuse service. But that's not the case. He is a volunteer
who is free to say No at any time, and the quickest way to get him to say
No would be to treat him as a servant.

It's a tricky concept to describe, and I agree that "servant" isn't an
ideal term for it. I'm the head of a (tiny) community called Minstrel
Hall, and what that means is that whenever anyone needs something
done, it's my job to do it. That's not the classic understanding of
the servant's role (the bonded man who has to do whatever he's told
immediately), but is somewhat closer to a somewhat obscure term:
servitor [1] or sizar [2]. I first met that word via Princess Ida, who
stated that her university had no such students, though Wikipedia
gives a better actual definition. The head of a community has certain
duties to perform [3] and may or may not receive respect in return.
Ultimately, if the head doesn't do his (or her, but the "his/her"
"he/she" gets tedious) duties, he'll have no community following him,
so he's responsible to his members in a very direct way.

ChrisA

[1] https://en.wikipedia.org/wiki/Servitor
[2] https://en.wikipedia.org/wiki/Sizar
[3] The quirky part of my brain is thinking now of this, sung by one
of the kings in a newly-formed republican monarchy (it makes sense in
context): http://math.boisestate.edu/gas/gondoliers/web_opera/gond12.html
 
A

Antoon Pardon

Op 01-11-13 05:41, (e-mail address removed) schreef:
An apology is due when someone does some damage to things
or people (including reputation or feelings) that should
have been avoided.

My overstating your disagreement with Skybuck was inadvertent,
does not change the points I was making (it does not matter
whether you thought he was wrong or nutty) and did no
significant damage to you or your reputation.

It seems rather obvious from Steven's reaction, your overstatement
hurt (damaged) his feelings. Since you ackowleged that damaged
feelings are cause for an apology, it seems by your own words
an apology is due.
 
R

rurpy

]
Yes, on rereading you are correct, you did not say his proposition made
no sense, you disagreed with him that "putting this exit condition on
the top makes no sense" and claimed he had no business making such a
statement

I said nothing of the sort.

Steven, please stop. Trying to treat you as as an intelligent
and intellectually honest person and consistently getting crap
like this back is getting annoying.

Here is a synopsis of the post in question (quotes are direct
quotes, not paraphrase) [*1]:
Skybuck: "To put the exit condition at the bottom is logical."
You: Ask if Skybuck has "ever done any programming at all?".
You: Give example of python While loop with test at top
You: Give example of loop with test at bottom: "inappropriate" and "ugly")
You: Example of For loop with test at bottom: "silly"
You: Example of Until loop with test at bottom: "makes sense"
Skybuck: Example of loop with test at bottom.
You: Similar While loop with test at top: "better"
You: Similar Until loop with test at bottom: "I would use a while loop"
Skybuck: "Putting this exit condition on the top makes no sense."
You: "Wait until you actually start programming before deciding
what makes sense or doesn't."

I paraphrased that dialog as "you disagreed with him that
'putting this exit condition on the top makes no sense' and
claimed he had no business making such a statement".

Instead of endlessly repeating your misrepresentation charges
along with exaggerations like "nothing of the sort", why don't
you for once actually say how my paraphrase differs materially
in meaning from what was said? How would you paraphrase it?

And, how does what you said disprove my primary point: that you
stated as fact he had no programming experience when such a
statement was your speculation, not fact, and thus likely to
raise someone's hackles?
Good lord Rurpy, I've already called you out once for misrepresenting
what I've said, and here you are doing it again. You didn't have the good
graces to even say sorry, instead trying to weasel out of an apology with
a feeble "acknowledge[ment] that I overstated your position", and here
you are again digging yourself deeper into the hole. That's three posts
in a row -- your original post where you characterised me as making an
"attack" on Skybuck, the second post where you escalated by attributing
words I never wrote to me, and now this one where yet again you continue
to misrepresent my post despite being called out on it.

Steven, in every one of those posts I explained and justified
my statements. You don't even have the decency to address
those points -- instead you simply snip them out and repeat
your same accusations over and over as though by repeating
them enough times they will magically become true.

You may think you are being clever (or perhaps it is out of
desperation to avoid admitting that your response to Skybuck
was, as I demonstrated, an unjustified ad hominem attack) but
your twisting and squirming to avoid acknowledging my points
is painfully transparent.
[...]
I am saying that your claim
that he has no programming experience is not supported by what he wrote

I did not claim Skybuck had "no business" (your words) making such a
statement about loop conditions. Far from it, I treated his opinion as a
serious one worthy of discussion, discussing situations that both support
and contradict his idea.

His idea was that loop tests should always or usually be
done at the end of the loop. You discussed *nothing* that
supported that idea. You contradicted it by showing a
number of examples where you claimed testing at the top
was better.
I *asked him* if he had programming experience, with an explicit
question, and even began the question with the sort of social lubricant
that acknowledges that the question is a touchy one ("please excuse my
question"). I suggested that *it seems* that he doesn't have such
experience. The normal, good-faith implication of this is that I am
stating an opinion of how it seems to me, not an absolute fact.

You seem to have a very selective memory. I quoted your
concluding sentence, which you conveniently leave out
above, previously in this message. You did not "suggest"
when you said "Wait until you start programming...". Nor
is that an expression of opinion.

If you can't even tell when you're misrespresenting your
own words, how do you expect to be able to tell when someone
else does?

Why don't you just own up to what you wrote?
The whole
exercise was to engage Skybuck in conversation, give him a chance to
demonstrate (or at least assert) that I was mistaken about his lack of
experience, and defend or amend his claim that putting the loop condition
at the beginning of the loop makes no sense.

Then perhaps you should not have ended your exercise by
telling him he had no programming experience (directly
contradicting his earlier statement that he did.)
Unless you are prepared to discuss this in good faith, instead of
continuing to misrepresent what I say, I am done discussing this with you.

Good faith? Is that is supposed to be a joke?

Yes, please. I have wasted enough time trying to respond
calmly, logically and honestly to your sleazy, and amusing
to no one but your fans, rhetorical gymnastics. If you can't
write with any kind of honesty or integrity, please do stop.

One last serious comment, take it or leave it:
On the off chance you actually do believe you said nothing
to Skybuck that he should be offended by, you might want
to consider that perhaps your perceptions of how you think
others should react to your words are not the same way as
others actually do.
 
R

rurpy

Op 01-11-13 05:41, (e-mail address removed) schreef:

It seems rather obvious from Steven's reaction, your overstatement
hurt (damaged) his feelings.

It it not obvious to me at all.
Since you ackowleged that damaged
feelings are cause for an apology, it seems by your own words
an apology is due.

I explained why an apology was not appropriate previously.
 
S

Steven D'Aprano

Instead of endlessly repeating your misrepresentation charges along with
exaggerations like "nothing of the sort", why don't you for once
actually say how my paraphrase differs materially in meaning from what
was said?

I have directly addressed your points three times. I did not "attack" the
OP by any reasonable definition of the word. My post was not an ad
hominem. Skybuck's experience as a programmer is relevant to the
credibility of his opinions about programming. I did not declare as a
fact that he had no experience, as you claim, but posed it as a question
and expressed it explicitly as a subjective observation.

Each time I have responded to you, I have given direct quotes and
directly addressed the substance of your posts, which is all to do with
the supposed tone of my response to the OP. Each time you have continued
to misrepresent me, misquote me, and interpret my words assuming bad
faith rather than good, in order to justify your idea that my post was an
ad hominem attack.

Including this post, where you make the false statement that:

His idea was that loop tests should always or usually be done
at the end of the loop. You discussed *nothing* that supported
that idea.

Emphasis yours. But in fact I gave the concrete example of Pascal
repeat...until loops, which have the test at the end of the loop. So yet
again your claims are simply wrong.

This is four posts in a row now that you have wrongly represented me. I
can only conclude that you think that by repeating a lie often enough,
you'll convince others that it must be true and "win". I will no longer
play this game with you. Goodbye.

*plonk*
 
A

Antoon Pardon

Op 02-11-13 02:51, (e-mail address removed) schreef:
It it not obvious to me at all.

Shouldn't you be erring on the safe side? Rather issue an appology
when it may not be really needed than refuse to give one when it
may be appropiate?
I explained why an apology was not appropriate previously.

No you didn't. What you did was trying to minimize your contribution.
 
J

Joshua Landau

I said nothing of the sort.

Personally, rurpy's reading seems like a reasonable one to me. Maybe
not correct in a technical sense, but at least reasonable.

Particularly, the phrase

"Wait until you actually start programming before deciding what makes
sense or doesn't."

seems especially harsh, and would be furthermore so should Skybuck be
a professional programmer. That's a phrase easy to take badly,
especially over this medium.

Sure, you in all probability didn't mean it like that but rurpy isn't
uncalled for in raising the concern. Really I just want to remind you
that you're both on the same side here.
 
M

Mark Lawrence

Personally, rurpy's reading seems like a reasonable one to me. Maybe
not correct in a technical sense, but at least reasonable.

Particularly, the phrase

"Wait until you actually start programming before deciding what makes
sense or doesn't."

seems especially harsh, and would be furthermore so should Skybuck be
a professional programmer. That's a phrase easy to take badly,
especially over this medium.

Sure, you in all probability didn't mean it like that but rurpy isn't
uncalled for in raising the concern. Really I just want to remind you
that you're both on the same side here.

Coming from me this is probably a classic case of pot calling the kettle
black, but how about reading the Spike Milligan story The White Flag
before this also escalates out of control.
 
P

Peter Cacioppi

Mark said :

"The White Flag before this also escalates out of control. "

This word "before" ... I don't think it means what you think it means.

This thread has been off the rails for days.
 
S

Skybuck Flying

For those programmers that want to write clear/understandable/less buggy
code instead of the fastest it could be interesting.

Also ultimately compilers are free to implement it they way they want it ;)
Thus freeing the programmer from strange assembler instruction orders as
usual ;)

If you ever would like to write your own compiler you are free to implement
it the way you want it and thus hopefully your assembler analysis makes
sense ;)

Bye,
Skybuck.
 
C

Chris Angelico

For those programmers that want to write clear/understandable/less buggy
code instead of the fastest it could be interesting.

"it", without context? What could be interesting? You're not quoting
any text, so I have no idea what you're referring to. Correspondingly
in your other paragraphs.

ChrisA
 
S

Steven D'Aprano

]
Sure, you in all probability didn't mean it like that but rurpy isn't
uncalled for in raising the concern. Really I just want to remind you
that you're both on the same side here.

Thanks for the comments Joshua, but I'm afraid I cannot agree. I gave it
a lot of thought and I cannot continue to give Rurpy the presumption of
good faith any longer. This saddens me, but that's the way it is.

I'm trying hard to give up threads like this, where people debate the
subjective tone of an email and ever more pedantic arguments about the
precise wording. Even when all participants are arguing in good faith,
they risk becoming quagmires which go nowhere in dozens of posts.
 
A

Antoon Pardon

Op 03-11-13 06:17, Steven D'Aprano schreef:
]
Sure, you in all probability didn't mean it like that but rurpy isn't
uncalled for in raising the concern. Really I just want to remind you
that you're both on the same side here.

Thanks for the comments Joshua, but I'm afraid I cannot agree. I gave it
a lot of thought and I cannot continue to give Rurpy the presumption of
good faith any longer. This saddens me, but that's the way it is.

I'm trying hard to give up threads like this, where people debate the
subjective tone of an email and ever more pedantic arguments about the
precise wording. Even when all participants are arguing in good faith,
they risk becoming quagmires which go nowhere in dozens of posts.

I'm not so sure it is all in good faith. I see a lot of persons digging
in their heels and not much effort in trying to understand someone else's
point of view.
 
R

rurpy

[...]
I did not declare as a
fact that he had no experience, as you claim, but posed it as a question
and expressed it explicitly as a subjective observation.

This is a key point. Several of your other denials are
true only if you are right about this.

You concluded your reply to Skybuck with:

"Wait *until* you *start* programming..." [my emphasis]

The implication, that the OP does not have any programming
experience, will be clear to anyone with with even mediocre
English speaking ability. The semantic information conveyed
to the OP is the same as the statement of fact, "you have no
programming experience" and it is perfectly valid to claim
that you told the OP that he had no programming experience.

I pointed this out in nearly every email but in every one
of your responses to it, you ignore that concluding sentence
and mention *only* your initial questioning sentence to
justify your assertion that you "posed it as a question".

As an aside, you shouldn't rely on that initial question
sentence so much either -- just because something is framed
as a question does not mean its intent is not to attack:
"excuse me for asking, but are you an asshole?"
You asked, "have you *ever* done *any* programming *at all*?"
[my emphasis] which could be as easily taken as rhetorically
laying the ground for discrediting his idea as an honest
neutral question and the former interpretation is strengthened
by your concluding "wait until..." statement.

My claims of "ad hominem" and "attack" follow from the fact
that you *did* tell the OP he had no programming experience,
in direct contradiction to what he had stated, and with no
evidence to support your claim beyond the OP's opinions on
loops and goto's.
Each time I have responded to you, I have given direct quotes and
directly addressed the substance of your posts, which is all to do with
the supposed tone of my response to the OP. Each time you have continued
to misrepresent me, misquote me, and interpret my words assuming bad
faith rather than good, in order to justify your idea that my post was an
ad hominem attack.

Including this post, where you make the false statement that:

His idea was that loop tests should always or usually be done
at the end of the loop. You discussed *nothing* that supported
that idea.

Emphasis yours. But in fact I gave the concrete example of Pascal
repeat...until loops, which have the test at the end of the loop. So yet
again your claims are simply wrong.

That was an unfortunate example for you to chose since it
directly contradicts your claims.

Read that quote again. You are a programmer. You should
understand logic. Please explain how acknowledging *one*
useful end-of-loop construct supports the idea that
/quote/
loop tests should *always or usually* be done at the end of the loop
/endquote/,
especially when you present it with long string of cases where
testing at the bottom is *not* desirable. You did not agree
with the OPs idea that the test should *always* go at the end
of the loop and I represented your opinion as such.

This was pointed out to you before yet you continue to claim
I am misrepresenting you.
This is four posts in a row now that you have wrongly represented me. I
can only conclude that you think that by repeating a lie often enough,
you'll convince others that it must be true and "win".

In my preceding post, I pointed out your practice of repeating
the same discredited accusations in the the hope that repeating
them enough would somehow make them true... It is amusing to
see you lift my own words to use against me (although I used
the word "accusation" and you choose to use the word "lie" --
a difference in our standards I guess.)

I misrepresented you once, immediately acknowledged and corrected
it when you pointed it out. You have continued to accuse me of
misrepresenting you in *every* post you've made, while refusing
to respond to my request to tell me how you think you *should* be
paraphrased.

Indeed you have followed a consistent policy of falsely accusing
me of underhanded and disreputable practices, while at the same
time, often in the same sentence, engaging copiously in exactly
those same practices yourself.
I will no longer
play this game with you. Goodbye.

*plonk*

Bye.
 
R

rurpy

]
Sure, you in all probability didn't mean it like that but rurpy isn't
uncalled for in raising the concern. Really I just want to remind you
that you're both on the same side here.

Thanks for the comments Joshua, but I'm afraid I cannot agree. I gave it
a lot of thought and I cannot continue to give Rurpy the presumption of
good faith any longer. This saddens me, but that's the way it is.

Steven, "presumption of good faith" is typical of the
disingenuous remarks that have permeated your posts
in this thread.

Early on, I misrepresented you by claiming you thought
Skybuck's proposal was "nutty" rather than that you
simply and reasonably disagreed with it [*1]. I also
used the phrase "makes no sense" implying it came from
you rather than from Skybuck as it had [*2].

However in pointing my mistake out [*3], you did so
with remarks like:

"You're making that quote up"
"that you would invent such a bare-faced falsehood
"that it is the *opposite* of what I actually said
"I don't know whether you are deliberately lying"
"you're just such a careless reader"

As soon as you pointed out my mistake, I immediately
acknowledged and corrected it [*4]. You continued
with the outrage and attacks on my character.

Bad faith in my part indeed. The nice thing about
email is that there exists a record that anyone can
refer to if they want to discern the truth.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
474,089
Messages
2,570,602
Members
47,223
Latest member
smithjens316

Latest Threads

Top