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

rurpy at yahoo.com rurpy at yahoo.com
Fri Nov 1 05:41:32 CET 2013

On 10/31/2013 02:41 AM, Steven D'Aprano wrote:
> On Wed, 30 Oct 2013 19:48:55 -0700, rurpy wrote:
>> On 10/30/2013 04:22 AM, Steven D'Aprano wrote:
>>> Skybuck's experience at programming *is relevant* to the question of
>>> whether or not he understands what he is talking about.
>> No.  You claimed his proposition "made no sense" based on your analysis
>> of it.  
> 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,

>>  Secondly, the example ad hominem argument you gave, "Clearly 
>>  Julie is mistaken, she's just a girl, what would she know about
>>  programming?" depends on the non-validity of the logical
>>  implication.
When what I meant was more like,

>>  Secondly, the example ad hominem argument you gave, "Clearly 
>>  Julie is mistaken, she's just a girl, what would she know about
>>  programming?", that it is an ad hominen depends on the non-validity
>>  of the logical implication. 

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.

>>  Yet I'm sure you are aware that are some people who
>>  would find that a valid implication and if you could not defend it,
>>  then you would not be able to claim ad hominem.

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.

>>  Of course it *is*
>>  easily defendable which is why you used it as an example.

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 

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. 

More information about the Python-list mailing list