6 ms·
Xah Lee has trolled Lisp groups for years. It's well known that much of his 'advice' is useless. The number of bullshit posts by him is a bignum. His comp.lang.
by lispm 11y ago
Xah Lee has trolled Lisp groups for years. It's well known that much of his 'advice' is useless. The number of bullshit posts by him is a bignum. His comp.lang.lisp trolling is legendary.
Nothing 'ad homenim' or mean - just saying how it is.
- manish_gill 11y agoAs an emacs beginner, I've landed on his site numerous times, often finding it helpful. The fact that he might or might not have trolled some mailing list is of no concern to me. If you have a better alternative resource, please present it. If you can find technical faults in this resource, you should provide them so the author can correct it and other might learn of them as well. Otherwise, stop trying to justify ad hominem with meaningless retorts.
- lispm 11y ago> The fact that he might or might not have trolled some mailing list is of no concern to me. It's not meaningless to me. > If you can find technical faults in this resource, you should provide them so the author can correct it and other might learn of them as well. We had extensive discussions with him for years. Literally thousands of posts can be found on comp.lang.lisp. The only Lisp he learned was some imperative crappy style, while lecturing everyone how dumb they are.
- josteink 11y ago> The only Lisp he learned was some imperative crappy style Not to be trolling myself, but I believe that's part of the "practical" aspect. You'll find much of the same in "Practical common lisp".
- lispm 11y agoWhat I think of is Lisp code from the 60s, before structured programming, functional programming, etc. when he writes: (let (a b c) (setq a ...) ... (setq b ...) ....) That's basically the style of the past: (prog (a b c) (setq a ...) ...) With one difference: then it was usual to program control flows in Lisp with labels and gotos...
- brudgers 11y agoThat in no way excuses being mean.
- xahlee 11y agowhich way to use let is just a personal taste. When i begin in elisp, i ALWAYS stick with this form of using local var: (let (x y z) (setq ...) (setq ...) (setq ...) ... ) This makes it easier to read all local variable names. Especially when readers are beginners, non-professional programers, scientists, writers. If we always use this simple style of let, what possible problem can it create? • Does it creates algorithmic problem? • Does it slow down programs? • Does it violate some computer science principles? • Are there science based proof, or statistics, that shows this style does some damage, such as more difficult to maintain? The only thing i can think of, is a matter of esthetics. later on, sometimes i use this form (let (x (y 3) (z 4)) body) with the condition that, if i set the variable in the let parameter, it must be constant. The value never changes in the body. And now sometimes i also use the (let* ...) form. These variations are just sugar syntax. Not really important. It's a bikeshedding problem. The thing is, in emacs lisp, there's no way to declare constants. And also, it is unnatural to code elisp or even Common Lisp without lots of setq or setf or similar. In JavaScript, the issue is much worse. JavaScript Name Hoisting and One-Liner Functional Style http://xahlee.info/js/javascript_name_hosting_and_one-liner_functional_style.html http://xahlee.info/js/javascript_name_hosting_and_one-liner_...
- klibertp 11y ago> If you can find technical faults in this resource, you should provide them so the author can correct That's the problem, actually - I never saw Xah correct anything he thought "right", no matter how many people presented rational arguments. Granted, I don't follow his writings that much, so maybe it happens; however my general impression is that it's utterly impossible to convince Xah of anything. On the other hand, his site does provide a certain amount of information. It just mixes good information with bad in a way which makes it very hard for beginners to tell one from the other.
- brudgers 11y agoHis behavior on Usenet doesn't excuse anyone's behavior on HN.
- klibertp 11y ago> It's well known that much of his 'advice' is useless. The number of bullshit posts by him is a bignum. I wanted to check this. How easy would it be to find something trolling-like, written by Xah? Turns out it took only 3 tries when searching for "Xah Lee" on googlegroups comp.lang.lisp. The third post I clicked revealed this gem: there's a good solution to lisp's non-functional ways. BAN lispers from using list or cons. Everything should be vector/array instead. everytime a cons is involved, lispers should get a electric shock. that will immediately fix majority of lisp's non-functional programing in practice. though, i'll have to say, the more i read about Clojure, the better it seems. It is very functional, the savior of the lisp name. ...I wasted a bit of time on this and I'm not sure it was worth it, but I'm pasting this here to strengthen lispm argument by replacing "it's well known" with a concrete example.
- brudgers 11y agoBullies always rationalize their bullying by arguing their victim deserved it. Their flunkies are recognized by their chorus of "Yeah he deserved it" noises.
- klibertp 11y agoNo, it's not about him at all. It's just that other people do deserve to know that investing their time into studying some kind of material is not likely to pay off. I agree, though, that "he's a troll" is not the best way of communicating it. You'll notice that I wasn't the one who did that.
- xahlee 11y agocon shouldn't be used, especially today. see this Guy Steele article: Guy Steele on Parallel Programing: Get rid of cons! http://xahlee.info/comp/Guy_Steele_parallel_computing.html http://xahlee.info/comp/Guy_Steele_parallel_computing.html “Get rid of cons!” is the exact words from his paper.
- deleted 11y ago[deleted]