From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "B. T. Raven" Newsgroups: gmane.emacs.help Subject: Re: learning Emacs Lisp Date: Tue, 11 Nov 2008 18:24:50 -0600 Message-ID: References: <87k5bbjzvo.fsf@thinkpad.tsdh.de> <87ljvrl2l0.fsf@gmail.com> <3dc09d96-f4cd-43ef-b327-a5e43dfa7022@g17g2000prg.googlegroups.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Trace: ger.gmane.org 1226450449 22263 80.91.229.12 (12 Nov 2008 00:40:49 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 12 Nov 2008 00:40:49 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Wed Nov 12 01:41:50 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 1L03no-0007Uk-E6 for geh-help-gnu-emacs@m.gmane.org; Wed, 12 Nov 2008 01:41:48 +0100 Original-Received: from localhost ([127.0.0.1]:55004 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1L03mg-0003R3-Dp for geh-help-gnu-emacs@m.gmane.org; Tue, 11 Nov 2008 19:40:38 -0500 Original-Path: news.stanford.edu!newsfeed.stanford.edu!postnews.google.com!news1.google.com!Xl.tags.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!local02.nntp.dca.giganews.com!nntp.sysmatrix.net!news.sysmatrix.net.POSTED!not-for-mail Original-NNTP-Posting-Date: Tue, 11 Nov 2008 18:24:51 -0600 User-Agent: Thunderbird 2.0.0.17 (Windows/20080914) Original-Newsgroups: gnu.emacs.help In-Reply-To: <3dc09d96-f4cd-43ef-b327-a5e43dfa7022@g17g2000prg.googlegroups.com> Original-Lines: 95 X-Usenet-Provider: http://www.giganews.com Original-NNTP-Posting-Host: 65.45.140.57 Original-X-Trace: sv3-BZoK0etadWIAoA3522IKondSijiZncIjz3GGUaTywoxuTxZykJQXqXX1Dqtk3K7+slgKpUHWkRp1NFe!lm+SgoNtTCl6XHlLUBO/Hf8QOEBgLV58+lsRXGy8pznwatuq54k4GTMjW/dq7TAq8buybmVljoTQ!NYVBhwfpAqcoNp+pfJPXOibuT0uDKA== Original-X-Complaints-To: abuse@sysmatrix.net X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.3.39 Original-Xref: news.stanford.edu gnu.emacs.help:164339 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:59673 Archived-At: Xah wrote: > On Nov 10, 12:59 pm, Niels Giesen wrote: >> Richard Riley 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