all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Richard Riley <rileyrgdev@gmail.com>
To: help-gnu-emacs@gnu.org
Subject: Re: learning Emacs Lisp
Date: Mon, 10 Nov 2008 20:36:23 +0100	[thread overview]
Message-ID: <gfa2ge$rev$1@registered.motzarella.org> (raw)
In-Reply-To: mailman.17.1226345002.26697.help-gnu-emacs@gnu.org

Tassilo Horn <tassilo@member.fsf.org> writes:

> Richard Riley <rileyrgdev@gmail.com> writes:
>
> Hi Richard,
>
>> [...] but Xah Lee is an excellent resource with carefully argued
>> points and practical approach to, amongst other things, eLisp usage.
>
> This is a joke, isn't it?

Not in the slightest. I can only assume the bit you snipped about some
more established Emacs users disagreeing with him applies to you? Or the
tone suggests that.

>
> When learning a language it's better to take a look at polished code
> that uses this language's idioms.  Xah's on a crusade against even the
> most basic stuff like correct indentation...

By correct indentation I guess you mean the established custom? I cant
disagree that customs are good but personally I think the established
custom in elisp is rather awkward to the extreme. Not that i dont try to
adhere to it :-; But even looking around the C world we see various
indentation standards and everyone is entitled to their view. A constant
style is, of course, better for everyone although it does not
immediately mean that constant style is the best. As a programmer for
years I can not even begin to understand how and why eLisp bracketing
standards became as they did other than maybe to save screen real estate
in the VT100 type days. FWIW, I think saving space is better for the eye
too in some ways but I find "at a glance" analysis of most eLisp code
almost impossible because of the standard of grouping all closing
brackets.

>
> The best resources for elisp are
>
>   (info "(eintr)Top")
>
> and
>
>   (info "(elisp)Top")

For eLisp reference maybe.  But I found Xah Lee's tutorial very
good. Its a programmers introduction and gets to the key points quickly
in an ordered manner and grouped in logical sections.

*shrug*

We all prefer different methods. But I like his practical learn by doing
approach.

>
> together with the online help (`C-h ?').  All of these are included in
> emacs.

If I might be so bold as to mention I added a context help addition which
shows you the function or variable under point as an extension to eldoc:

http://www.emacswiki.org/emacs-fr/ElDoc#toc6

>
> And of course, you learn a language best by speaking/programming in it.
> But Drew already said that.

Of course. But eLisp is special in that its almost unreadable to the
typical procedural programmer fluent in C/C++ etc until you know a lot
if it already. Or that was my experience. And we all have different
experiences so it does no harm to remain open as to what suits other
people.

I found Xah Lee's tutorial very useful and feel it would certainly
benefit some others too.

>
> Ah, and there's this (and other emacs related newsgroups) + #emacs on
> freenode where you can ask your questions.
>
> Bye,
> Tassilo

-- 
 important and urgent problems of the technology of today are no longer the satisfactions of the primary needs or of archetypal wishes, but the reparation of the evils and damages by the technology of yesterday.  ~Dennis Gabor, Innovations:  Scientific, Technological and Social, 1970


  parent reply	other threads:[~2008-11-10 19:36 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-10 15:21 Grouping related buffers Corey Foote
2008-11-10 16:43 ` Tassilo Horn
2008-11-10 17:24   ` Corey Foote
2008-11-10 18:05     ` learning Emacs Lisp [was: Grouping related buffers] Drew Adams
     [not found]     ` <mailman.9.1226340315.26697.help-gnu-emacs@gnu.org>
2008-11-10 18:27       ` learning Emacs Lisp Richard Riley
2008-11-10 19:22         ` Tassilo Horn
2008-11-10 19:48           ` Drew Adams
     [not found]         ` <mailman.17.1226345002.26697.help-gnu-emacs@gnu.org>
2008-11-10 19:36           ` Richard Riley [this message]
2008-11-10 20:59             ` Niels Giesen
2008-11-10 21:24               ` Richard Riley
2008-11-11  4:07               ` Xah
2008-11-12  0:24                 ` B. T. Raven
2008-11-12  3:32                   ` Xah
2008-11-11  6:49               ` Wei Weng
2008-11-11 18:58                 ` Niels Giesen
2008-11-11  4:56             ` Andreas Politz
2008-11-11  8:48               ` Richard Riley
2008-11-11  9:57                 ` Andreas Politz
2008-11-11 10:14                 ` Lennart Borgman
     [not found]                 ` <mailman.58.1226398497.26697.help-gnu-emacs@gnu.org>
2008-11-11 10:34                   ` Richard Riley
2008-11-11 10:43                 ` Juanma Barranquero
2008-11-11 11:04                   ` Richard Riley
2008-11-11 11:17                     ` Juanma Barranquero
2008-11-10 18:26 ` Grouping related buffers Drew Adams
     [not found] ` <mailman.0.1226335408.26697.help-gnu-emacs@gnu.org>
2008-11-13 13:09   ` Stefan Kamphausen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='gfa2ge$rev$1@registered.motzarella.org' \
    --to=rileyrgdev@gmail.com \
    --cc=help-gnu-emacs@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.