On Aug 7, 2013, at 2:06 PM, Norman Richards wrote:
> Structural editing, like paredit, is really the only sane way to do Clojure 
> code.  I honestly thing anyone who manually balances parenthesis or edits 
> Clojure functions in a way that doesn't preserve the structural integrity of 
> your expressions is just doing it wrong.  (not just doing it poorly - but 
> doing it wrong)

What a spectacularly annoying thing to say.

I've been coding in Lisp for close to 30 years and teaching Lisp off and on for 
about 20. I have used paredit many times over these decades but I dislike it 
intensely, both for my own coding and for my teaching. I have my reasons for 
this, which I could explain, but I have no interest in discouraging you or 
anyone else who finds it useful from using it. But I don't want to use it, and 
I don't see where you get off saying that I'm "doing it wrong" on account of 
this.

> So, of course, my advice to the original poster is to just jump in and learn 
> paredit.  It will probably seem awkward at first, but if you invest the 
> effort (and it honestly doesn't take that much) to learn a better way to edit 
> expressions, you'll be so much better off. 

Your mileage may vary!

> In fact, I've sold several people on Clojure just by showing them how paredit 
> makes it significantly easier to lisp-style expressions than to edit C-style 
> languages with their irregular syntax.  I would jumped on lisp years ago if I 
> had realized how easy it was to edit instead of remembering those painful 
> university lisp assignments where I spent all my time balancing parenthesis 
> and being afraid to make simple structural changes for fear of getting my 
> code all messed up.

In my own experience bracket-matching and auto-reindentation are indeed 
essential, and they make balancing parentheses and seeing the structure of the 
code almost effortless. I would personally have a hard time coding in any 
environment without these tools. But Paredit takes things further by 
interfering with the typing/cutting/pasting/sketching/brainstorming 
skills/habits that I've developed over my whole life and which I use in every 
other text-based application and environment, preventing me from treating 
programs as text -- which is how I sometimes really want to think of them, 
especially when I'm playing with ideas and sketching out code roughly.

Your mileage may vary! But that doesn't mean that either of us is doing it 
wrong.

 -Lee


--
Lee Spector, Professor of Computer Science
Cognitive Science, Hampshire College
893 West Street, Amherst, MA 01002-3359
lspec...@hampshire.edu, http://hampshire.edu/lspector/
Phone: 413-559-5352, Fax: 413-559-5438

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to