unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: "B. T. Raven" <nihil@nihilo.net>
To: help-gnu-emacs@gnu.org
Subject: Re: learning Emacs Lisp
Date: Tue, 11 Nov 2008 18:24:50 -0600	[thread overview]
Message-ID: <QbudnVQF_ZfJv4fUnZ2dnUVZ_r6dnZ2d@sysmatrix.net> (raw)
In-Reply-To: <3dc09d96-f4cd-43ef-b327-a5e43dfa7022@g17g2000prg.googlegroups.com>

Xah wrote:
> On Nov 10, 12:59 pm, Niels Giesen <niels.gie...@gmail.com> wrote:
>> Richard Riley <rileyrg...@gmail.com> writes:
>>
>> [...]
>>
>>> 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.
>> Where is there any evidence that the original OP is a `typical
>> procedural programmer fluent in C/C++'?
> 
> Vast majority of programers coming to emacs is familiar with
> procedural languages, such as C, C++, Java, perl, php, visual basic.
> 
> The original poster may be a exception, but it is reasonable to make a
> general assumption when giving tips.
> 
>> It annoys me to pieces that so many textbooks assume that everyone out
>> there is a C/C++/Java programmer. For me, Lisp was my first
>> programming language (thanks to Emacs, which I started using to write
>> law papers in), and I do not need textbooks to explain for instance
>> Ruby to me in Lisp (which is perfectly feasible) but I even less need
>> comparisons with Java or C. Even worse, doing so is a major
>> distraction from the real object of learning.
>>
>> Consider teaching Dutch to someone from Morocco but using English
>> during the lessons: that's just plain silly and simply leads to
>> unnecessary confusion. Using analogies from Slovak to teach Polish
>> however may be insightful, but only when the student already has
>> knowledge of a Slavic language. Same goes with programming languages:
>> do not assume.
> 
> it is relevant to consider something vast majority of readers are
> already familiar of.
> 
> Vast majority of programers, are familiar with one of procedural lang
> such as C, Java, C++, perl, visual basic. These are roughly maybe 95%
> of all programers. So, when teaching a new programing language,
> mentioning tips related to procedural lang is fruitful and effective.
> 
> Similarly, when teaching a foreign lang, it makes sense to mention
> tips contrasting to the lang English.
> 
>> When teaching something, teach it by itself; people willing to learn a
>> new language are most likely not stupid, and if they are somewhat
>> smart, they will find out for themselves what differences and
>> similarities there are between languages known already.
> 
> you are of course just bitching. Of course, most tutorials do try to
> teach the lang itself, and very few are entirely based on transition
> from another lang, such as “Python for Perl programers” or “Java for C+
> + programers”, “PHP for Perl programers”, “Haskell for Lispers”, etc.
> 
>> For me, it would have been nice when learning JavaScript if the books
>> had warned me that not everything is an expression (invalid left-hand
>> assignment anyone?), that you have to explicitly return something,
>> that there are things such as keywords, and it would be nice if
>> textbooks explain how to take advantage of closures instead of trying
>> to get rid of them, hide them, and how to build an ugly half-assed
>> Class system.
>>
>> The first few of those would cause people coming from C or Java at
>> least to frown but most probably to get irritated ("Why would I care
>> about all these strange incomprehensible things from some dead
>> language with too many parens, when all I want to do is simply to
>> learn JavaScript?????"). Therefore, I would not recommend such in a
>> learning text on JavaScript.
> 
> You were complaining about books giving tips of procedural lang tips.
> But now you are using a example of giving tips about lisp to
> illustrate how silly it is. Note that the books we are discussing, do
> not give tips about lisp, because it is a lang very few people know.
> 
> However, books about functional langs do sometimes give relevant info
> for programers familiar with lisp. The principle is the same, namely,
> that for a significant portion of the readership, they are familiar
> with lang x, so the book give tips for lang x programers. For example,
> the official elisp reference gives many tips and warnings to those
> familiar with Common Lisp, and about C too.
> 
> (to me, it is entirely distracting because i do not have working
> familiarity with Common Lisp or C, nor do i care about them. However,
> i'm the world's top expert in Mathematica, but vast majority of
> potential readers of elisp doc are not familiar with Mathematica.)

I thought that Stephen Wolfram (author of _A New Kind of Science_) was 
the top expert. Is this another exaggeration like the statistics you 
pull out of a hat?: e.g. "99.9999% of all southpaws are touch typists." 
Remember that all majorities are not "vast," in fact the vast majority 
of them are not even majorities but only pluralities.

Ed


  reply	other threads:[~2008-11-12  0:24 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
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 [this message]
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

  List information: https://www.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to=QbudnVQF_ZfJv4fUnZ2dnUVZ_r6dnZ2d@sysmatrix.net \
    --to=nihil@nihilo.net \
    --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.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).