From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Richard Riley Newsgroups: gmane.emacs.help Subject: Re: learning Emacs Lisp Date: Tue, 11 Nov 2008 11:34:50 +0100 Organization: A noiseless patient Spider Message-ID: References: <87k5bbjzvo.fsf@thinkpad.tsdh.de> <1226379475.20507@arno.fh-trier.de> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1226400361 29568 80.91.229.12 (11 Nov 2008 10:46:01 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 11 Nov 2008 10:46:01 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Tue Nov 11 11:47:01 2008 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1Kzqk6-00026C-4K for geh-help-gnu-emacs@m.gmane.org; Tue, 11 Nov 2008 11:45:06 +0100 Original-Received: from localhost ([127.0.0.1]:53132 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Kzqix-0007a2-TH for geh-help-gnu-emacs@m.gmane.org; Tue, 11 Nov 2008 05:43:56 -0500 Original-Path: news.stanford.edu!newsfeed.stanford.edu!goblin1!goblin.stu.neva.ru!news.eternal-september.org!news.motzarella.org!motzarella.org!not-for-mail Original-Newsgroups: gnu.emacs.help Original-Lines: 53 Original-X-Trace: news.eternal-september.org U2FsdGVkX1/TW/7tjc+N9baZ+HYv57wQujeuNc1sk1+WsuwsBmL6lJaTfem5JXgtFH30ffBddsF+eHoI7Vi6GMsH69ZFnQCcG1RtgEkczQxD7oIqCx1BBw91zyqN9WuBqm35uxLwMrg82L5hyYkcOA== Original-X-Complaints-To: Please send complaints to abuse@motzarella.org with full headers Original-NNTP-Posting-Date: Tue, 11 Nov 2008 10:35:12 +0000 (UTC) X-Auth-Sender: U2FsdGVkX1+O9v7MjQ12X7lkWUuGaosXxR3GvFOGeuxC1/l2h1WhmA== Cancel-Lock: sha1:rvt30HDGo2HqpuD5CdX6Ohhr724= User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) Original-Xref: news.stanford.edu gnu.emacs.help:164318 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:59653 Archived-At: "Lennart Borgman" writes: > On Tue, Nov 11, 2008 at 9:48 AM, Richard Riley wrote: >>> That darn old emacs again ! Seriously this has more to do with lisp in >>> general than specifically with elisp. I doubt you'd find any _one_ serious >>> programmer or author in the whole lisp community who proposes this kind of >>> style ( each closing paren on a seperate line ). >> >> You will notice that I did not propose it. I said the standard is hard >> for me to read as someone who is not an eLisp magician. I still do not >> understand (other than the reasons I postulated about above) why it is >> as it is. I find it very hard to indent and match (ok, emacs helps with >> matching brackets), but would find it very difficult to read from a >> printout for example. But this is more my lack of experience >> possibly. All hindrances can become less so with experience. But would >> aligned brackets really hurt anyone? I dont think so. It is convention >> (and convention is a good thing at times) which has the style as it >> is. Or? > > I think that most elisp programmers will look at the indentation when > reading the code on paper. You can compare with python where only the > indentation matters. I do not like that, but the combination of > indentation (for the eyes) and parenthesis (for the parser) seems very > good to me. > While I am not surprised at some of the reactions to my recommendations for Xah Lee's tutorial, I feel I should defend it further from the perspective of the programmer coming to eLisp for the first time. I know for me going to php, , java, bash script and elisp (as some examples), I knew what I wanted to do. It was a question of how. I wanted to + display some stuff in the result are/log/status buffer + compare some values using standard operators + loop on things + define variables with varying scope + manipulate and merge some strings + create and use a function or two + handle arrays/lists of data and manipulate them If the following does not make that clear to a programmer then I think nothing will: http://xahlee.org/emacs/elisp_basics.html >From that quick intro I could get into other people's code and read it a lot more comfortably. It reminds me very much of K&R's excellent tutorial section at the beginning of the C Programming language in that its written for the programmer who knows what he wants to do, just not in that particular language at that moment in time. I recommend it completely.