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
next prev parent 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).