From: Tim X on
Don Geddis <don(a)geddis.org> writes:

> "xahlee(a)gmail.com" <xahlee(a)gmail.com> wrote on Sun, 4 May 2008 :
>> If there are 4 lisp programers, most or all of which i think are
>> experienced, and all claim that i was wrong, how can i be right?
>
> At the very least, you ought to more seriously consider the possibility
> that you are wrong.
>
>> I'm guessing my problem has to do with my personality. A normal person,
>> would probably just discuss the issue in earnest. Like, we all human
>> beings, some knows some areas better, and we all make mistakes. A
>> discussion can just carry on in its course, and everyone can just learn
>> something or simply enjoy the conversation. But Noooo! I can't be like
>> that.
>
> That does sound like a problem with your personality, just as you suspected.
>
> Perhaps you'd make more progress if you'd work on this particular problem.
>
>> Still, it troubles me deeply, how could a patently simple explanation, a
>> simple concept, a penetrating view, be not clearly grasped by a gaggle of
>> lispers? In this thread, there are 15 messages. Not one reply, seems to
>> indicate that what i said is correct. Almost half of them actually pointed
>> out that i was incorrect, and even unhelpful. I'm greatly troubled by
>> this.
>
> If it happened that you _were_ wrong, what kind of evidence do you think
> you might see?
>
> I'm curious why you don't at least think about the case where you are not
> correct. Might that explain all the reactions you're getting?
>
>> i'm rather quite surprised how my exposition of the closure concept
>> turn up so many messages, many claiming it being even unhelpful or
>> useless.
>
> If your theories of the world are constantly surprised by actual observations
> of that world, at some point you need to consider that perhaps your theories
> are in error.
>
> After all, the whole point of a theory is to make what happens later
> predictable, not surprising.
>

I've re-read what Xah wrote and in addition to what you have pointed out
I would add

* Xah's skills with respect to writing are very poor. Reading followups
to his posts and doing a bit of 'reading between the lines' often
provides additional information that make his initial
claims/rants/explinations a little easier to
understand. Unfortunately, despite suggestions from many that he work
on this skill in order to get his message across more effectively, it
does not appear he can handle any form of criticism without becoming
totally defensive even when that criticism is presented in an
obviously well meaning and patient way. See Kent's post in this thread
and Xah's response.

* From reading a number of his posts, it seems clear that Xah hopes to
provide some level of demystification of many technical concepts. This
is an admirable goal, but one which is undermined by his poor
communication skills. However, he often makes the mistake of over
simplification. This immediately makes others respond with claims that
he is wrong. In reality, I suspect that he is not strictly wrong, but
rather presents an overly simplistic explination that unfortunately is
potentially misleading. For example, in this current thread on
closures, I get the impression that Zah is providing an explination
via an over simplistic analagy that essentially says that a closure is
a technique to create a function that has its own private storage that
can maintain a sort of function state. His use of the term global
variable has muddied the waters and clouded the message I suspect he
was trying to get across. His claim he can do closures using global
variables is misleading as I suspect what he really means is that you
could simulate the same properties using such variables. His point
could possibly have been less contentious if he had concentrated on
using an analagy closer to that of objects. His references to using
global variables glosses over the limitations and complexities that
would be involved in getting only the most basic properties of a
closure in his simulated version. However, the most misleading aspect
of his explination is that it effectively makes closures seem like
nothing but a 'cute' programming trick and is likely to make some feel
that it has no relevance and no practicle application in the real
world.

* Xah's claims that no other languages other than CL use closures is
also incorrect and shows that while he may have some grasp of
theoretical mathematical concepts, he has little understanding of many
of the languages he tries to speak about with authority. For example,
the first place I came across closures was in perl and in a real-world
application. This was one of the languages that he claimed didn't use
closures.

* I suspect Xah suffers from some form of paranoia or related
personality disorder and can't help but see any level of criticism as
a personal attack. He seems unable or at least unwilling to actually
consider that he may actually cause the 'attacks' he recieves and is
unable to recognise his own contribution to the situation. The whole
rest of the world is wrong and he is the only one who is right. It
reminds me of a programmer I once worked with. He was quite a good
programmer and quite intelligent, but was never able to recognise his
own role in creating bugs. Whenever he was having trouble finding a
bug in a bit of code, he would immediately start suspecting bugs in
the language, OS or a virus. I'd point out how unlikely it was for him
to have tripped over a bug in the language (At the time, we were
working in C) and that it was almost certainly a bug in his code. He
refused to believe it - logged bug reports with the compiler vendor,
got the sys admins to check for viruses and blamed all the libraries
we were using. In the end, it turned out to be a bit of his code that
was attempting to access memory via a pointer that had already been
passed to free(). Apart from this occuring when viruses were still
quite new and rare and apart from the fact that this would have to be
one of the most common bugs you encounter in C, the real issue was
that he simply couldn't see his own part in the equation - his code
was perfect and it had to be something else not him. Xah is like that
programmer.

* I've noticed that Xah posts on a wide variety of topics and seems to
produce a huge amount of output. Despite the fact that most of what I
have read of his work could be reduced by half and be a lot clearer
and more succinct if only he tried to refine his style and applied
some rigor to his editing, I find that with only a few exceptions, his
analysis seems shallow and lacking in any evidence of real depth of
knowledge and understanding. It is possible that this is due to his
poor expressive skills, but i suspect that he is reasonably
intelligent and has a broad but shallow grasp of many topics. This in
itself is fine, but anyone who really wants to explain difficult or
even not so difficult topics really needs to have a very solid
understanding before attempting to explain it to others who do not.

Anyway, I'll leave it at that. In conclusion, I suspect Xah isn't quite
as incorrect as most of us initially thought, but as Kent points out,
his style of expression makes it very difficult to know for
certain. This combined with a tendency to over simplify tends to get the
wrong response and probably makes him worse and in the end it all just
ends up with the same pointless threads going around in a circle.

Tim

P.S. Xah, if you read this, save yourself the effort. I know you want to
respond and tell me how much you hate me and how I should go back to
school/college/homework and that you are perfect and misunderstood blah blah
blah. Its predictable and boring. Lets just assume you have responded
and insults from a faceless paranoid in another country has scarred me
for life. I'll organise some councelling tomorrow to help me get over
it.

BTW: You are wrong in your assumption regarding my age and what I do. I
finished school before you were even born and have more life behind me
than I have left in front. My first paid job with computers was so long
ago its just a hazy memory of punch cards and a wonderful new aid to
productivity, the tty. (Actually, I've still got a few boxes of punch
cards - I find them very useful for making notes as they fit quite
nicely in your shirt pocket (doubled over that is).

--
tcross (at) rapttech dot com dot au
From: Tim X on
George Neuner <gneuner2/@/comcast.net> writes:

>
> I think we probably could all cut Xah some slack provided he stops the
> rude name-calling.
>

I tend to agree. If he showed some level of willingness to address
responses based on the content of the response rather than just
personally attacking the poster and if he showed some willigness to even
consider that sometimes he may either be wrong, over simplistic or
willing to learn or expand his ideas based on input from others, then
possibly everyone including Xah could benefit in different ways.

Tim

--
tcross (at) rapttech dot com dot au
From: John Thingstad on
P� Wed, 07 May 2008 10:01:58 +0200, skrev Didier Verna
<didier(a)lrde.epita.fr>:

> pjb(a)informatimago.com (Pascal J. Bourguignon) wrote:
>
>> And yes, this include several MUAs entirely written in emacs lisp, so
>> if it's not fine to do that, at least it doesn't discourrage emacs
>> lisp programmers...
>
> Right :-) You can always knock in a nail with a screw driver. You just
> wish you had a hammer ;-)
>
> But to be really fair, once you get a hammer, it doesn't mean you know
> how to use it properly. So part of the problem we have today is also due
> to extremely bad design and ugly code in most elisp lines out there.
>
> So on the one hand, we have elisp code, mostly a collection of crappy
> hacks on top of each other, but it works... and I'm really wondering, if
> a standard elisp object system had existed in the first place, would the
> original programmers have been skilled enough to use it and design their
> stuff properly ?
>
> On the other hand, we have XEmacs code base, which is very well designed
> and abstracted, OO actually[1], but it is written in C with a bunch of
> ugly
> macrology on top because it is rather hard to object-orient plain C
> code...
>

erm. emacs is a evolved system that worked the whole time while they added
code. If you had 'designed' it with the current features I doubt if it
would ever have worked in the first place. Another question is if OO
design would have made it 'better' or just more 'familiar'.

--------------
John Thingstad
From: Didier Verna on
"John Thingstad" <jpthing(a)online.no> wrote:

> emacs is a evolved system that worked the whole time while they added
> code. If you had 'designed' it with the current features I doubt if it
> would ever have worked in the first place.

If not in the first place, emacs lisp code could have evolved if elisp
itself had; but that didn't really happen. At some point (I mean right
now), perhaps starting from scratch again would be better than
refactoring.


> Another question is if OO design would have made it 'better' or just
> more 'familiar'.

Right. Not all parts would necessarily benefit from object
orientation, but some definitely would. What's more (at least in the
case of XEmacs), some parts already *are* object-oriented; just not in
an OO language which is a real PITA. Refactoring those parts with a
more modern tool underneath would not be difficult, because the design
is already there.

--
5th European Lisp Workshop at ECOOP 2008, July 7: http://elw.bknr.net/2008/

Didier Verna, didier(a)lrde.epita.fr, http://www.lrde.epita.fr/~didier

EPITA / LRDE, 14-16 rue Voltaire Tel.+33 (0)1 44 08 01 85
94276 Le Kremlin-Bic�tre, France Fax.+33 (0)1 53 14 59 22 didier(a)xemacs.org
From: viper-2 on
On May 6, 4:00 pm, Rainer Joswig <jos...(a)lisp.de> wrote:
> In article
> <2f9bb421-187a-4820-a515-03fc41d14...(a)m45g2000hsb.googlegroups.com>,
>

> Well, you have to read for example the mentioned
> Lisp Machine Window System Manual (available as PDF).
> On page 2 there is a 'Note from Richard Stallman',
> where he writes in what is clearly his style:
>
> "The current implementation of the window system is based on
> flavors, and was designed and implemented primarily by Howard
> Cannon and Mike McMahon during 1980. It replaced an
> earlier version implemented by me, which was based on
> Smalltalk-like classes. The newer system is generally an
> improvement, but as Howard Cannon steadfastly refused
> to discuss the design with me I must decline responsibility
> for such counterintuitive aspects as the definition of
> exposure."

Noted. BTW Rainer, you have nice name.:-)

agt