all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* What makes elisp fun ?
@ 2017-05-22 12:28 Jean-Christophe Helary
  2017-05-22 21:36 ` Emanuel Berg
                   ` (3 more replies)
  0 siblings, 4 replies; 17+ messages in thread
From: Jean-Christophe Helary @ 2017-05-22 12:28 UTC (permalink / raw)
  To: help-gnu-emacs

Chassell's introduction really does not manage to make the reader enthusiastic about programming in elisp. Maybe it's because it was written when people really had to learn *everything* about programming concepts since the internet was not so widely spread at the time.

There are countless people on the web who are super excited about Emacs and modes and how all that allows them to be so much better at what they do, but most of the things I read about elisp are "elisp is what you have to go through to write your .emacs file"... I have yet to find just *one* document about elisp that shows some real enthusiasm about the language, its features and how it enables users to do amazing things (because it also is a Lisp). 

I've read (or started reading) a number of books on Lisp and they pretty much all put the emphasis on how simple the syntax is, and on how macros are the defining difference between lisp and all the other languages.

On that note, the macro chapter in the reference does not really manage to show users how Lisp macros are so different from any other kind of macro system. When you read Graham's Ansi Common Lisp, you get right away (p.11) that macros are *the* defining difference between Lisp and other languages. On Lisp, or more recently Let Over Lambda and even Practical Common Lisp show you right away how important macros are.

I understand that macros are not exactly for beginners... But still the way they are introduced for other Lisps really conveys the idea that Lisp is a very special language. And really, that message does not come through in the Introduction to Emacs Lisp or even in the Reference.

So, besides for the fact that elisp is the Emacs extension language, what makes you enthusiastic about it and want to program in it? What makes elisp fun for you ?

Jean-Christophe 


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: What makes elisp fun ?
  2017-05-22 12:28 What makes elisp fun ? Jean-Christophe Helary
@ 2017-05-22 21:36 ` Emanuel Berg
  2017-05-22 21:49   ` Emanuel Berg
  2017-05-23 22:39 ` Michael Heerdegen
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 17+ messages in thread
From: Emanuel Berg @ 2017-05-22 21:36 UTC (permalink / raw)
  To: help-gnu-emacs

Jean-Christophe Helary wrote:

> Chassell's introduction really does not
> manage to make the reader enthusiastic about
> programming in elisp. Maybe it's because it
> was written when people really had to learn
> *everything* about programming concepts since
> the internet was not so widely spread at
> the time.

Most books on programming aren't that fun.

Either the book tries to teach programming in
general, and the particular langauge is just
the way to do that. Those books are very
tedious to read for the dirty old pros...

On the other end of the spectrum, books are
just references (or close to it) that lists the
whole language. Those books are not exactly for
reading and they can be of dubious value even
to experience programmers which are new to the
particular language, because even tho they
understand the syntax and purpose of the
functions etc., there is no mention how to get
the tool-chain going for the
development process.

The best books on computers IMHO are about
*culture*, e.g. this one on UNIX:

    @book{quarter-century-of-unix,
      title      = {A Quarter Century of UNIX},
      author     = {Peter Salus},
      publisher  = {Addison-Wesley},
      year       = 1994,
      ISBN       = 0201547775,
    }

> There are countless people on the web who are
> super excited about Emacs and modes and how
> all that allows them to be so much better at
> what they do

Experienced Emacs user are super productive
using Emacs for whatever they do. However, this
often mean that they just do more things, so
the number of computer hours isn't reduced.
On the contrary, most often...

> but most of the things I read about elisp are
> "elisp is what you have to go through to
> write your .emacs file"... I have yet to find
> just *one* document about elisp that shows
> some real enthusiasm

Perhaps it is a difficult to convey in a book
chapter or web site document.

> I've read (or started reading) a number of
> books on Lisp and they pretty much all put
> the emphasis on how simple the syntax is, and
> on how macros are the defining difference
> between lisp and all the other languages.

Macros (N.B. not keyboard macros in Emacs) is
one feature - Lisp, the programmable
programming language. But it isn't the
only one.

As for me, the syntax is one thing with
parenthesis and no semi-colons at the end
of statements.

Also I like the tradition of long and elaborate
names which describe function and variables,
compared to the cryptic names people (even I)
use with C and C++.

Not being explicit about types with variables
and function arguments is another very relaxing
thing. Not caring about namespaces. No pointers
or explicit memory management. Obviously I'm
not an OO guy, and I know there are Lispy
implementations, but I do use it with C++ and
not having classes, objects, constructors, or
any of that is a bliss.

Also the freedom of Lisp where everything is
data, and data is everything. You can send
a function as an argument to a function, and
have that function execute the argument
function with the other function's definition
as data! It is just insane how easy it is to do
compared to other languages.

> On that note, the macro chapter in the
> reference does not really manage to show
> users how Lisp macros are so different from
> any other kind of macro system. When you read
> Graham's Ansi Common Lisp, you get right away
> (p.11) that macros are *the* defining
> difference between Lisp and other languages.
> On Lisp, or more recently Let Over Lambda and
> even Practical Common Lisp show you right
> away how important macros are.

Macros are difficult to maintain and debug
compared to regular Lisp. Sometimes they are
very useful tho but I wouldn't base my entire
game on them.

> So, besides for the fact that elisp is the
> Emacs extension language, what makes you
> enthusiastic about it and want to program in
> it? What makes elisp fun for you ?

The best thing in terms of Emacs is that you
can just write a couple of lines and evaluate
the form (defun or whatever) and then have it
instantly up and running. No compilation phase
in between to get you off your workflow.
You are inside Emacs all the while when you
make it work better, for you.

I mentioned LaTeX compilation in another post
(and the UNIX book reference above is
Biblatex). I don't know if you are familiar
with the LaTeX workflow? If so, the Elisp/Emacs
workflow is exactly like that, only the other
way around :)

BTW, here are two good books on Lisp. The first
one is very good what I can remember:

    @book{land-of-lisp,
      title      = {Land of Lisp},
      author     = {Conrad Barski},
      publisher  = {No Starch},
      year       = 2010,
      ISBN       = 1593272812,
    }

    @book{lispcraft,
      author     = {Robert Wilensky},
      ISBN       = 0393954420,
      publisher  = {Norton},
      title      = {LISPcraft},
      year       = 1984
    }

-- 
underground experts united
http://user.it.uu.se/~embe8573




^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: What makes elisp fun ?
  2017-05-22 21:36 ` Emanuel Berg
@ 2017-05-22 21:49   ` Emanuel Berg
  0 siblings, 0 replies; 17+ messages in thread
From: Emanuel Berg @ 2017-05-22 21:49 UTC (permalink / raw)
  To: help-gnu-emacs

Emanuel Berg wrote:

> Most books ...

Oh, another thing for the record. All this talk
of manuals and books may communicate that Emacs
and/or Elisp are very advanced and require
years of study. Well, they are advanced in the
sense there is always more to learn. Still, it
is just another piece of software technology.
Anyone can use it and not everyone who does
makes it their computer lifestyle.

-- 
underground experts united
http://user.it.uu.se/~embe8573




^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: What makes elisp fun ?
  2017-05-22 12:28 What makes elisp fun ? Jean-Christophe Helary
  2017-05-22 21:36 ` Emanuel Berg
@ 2017-05-23 22:39 ` Michael Heerdegen
  2017-05-23 22:49   ` Drew Adams
                     ` (2 more replies)
  2017-05-26 10:52 ` Thien-Thi Nguyen
  2017-05-26 13:58 ` Eric Abrahamsen
  3 siblings, 3 replies; 17+ messages in thread
From: Michael Heerdegen @ 2017-05-23 22:39 UTC (permalink / raw)
  To: Jean-Christophe Helary; +Cc: help-gnu-emacs

Jean-Christophe Helary <jean.christophe.helary@gmail.com> writes:

> So, besides for the fact that elisp is the Emacs extension language,
> what makes you enthusiastic about it and want to program in it? What
> makes elisp fun for you ?

Lisp programs are represented as Lisp objects (lists).  You can
manipulate them with ordinary means of the language just like any other
list. You can do this with macros.  That's what's making Lisp and it's
macros unique, among its semantical simplicity: It's a progammable
programming language, and the meta programming language is the same
language again.

Emacs offers a perfect programming environment for Elisp, and OTOH is
itself programmable in Elisp.  These three aspects form a unique triad
that you can find nowhere else.  No "besides" needed.

But besides... If you look only at the language Emacs Lisp, it is
probably not much cooler than other Lisps.  It has some weaknesses even,
though there has been improvements in the last time (introduction of
lexical binding for example).

The most important point for most of Elisp developers is probably that
they can do something useful for real-life with their language (or
hobby), something they can use personally.  That you program stuff for
an Editor makes Elisp quite interesting, because you do stuff with it
that you probably don't do with other Lisps.  If you want to count
Fibonacci numbers, you still can use Scheme...

And you can do all this in very cool ways, because you can do it with a
Lisp!  For example, I recently discovered that you can do very cool
things with streams (aka delayed lists) (they are not built in, but hey,
you have a programmable programming language, so they have been added
with very few lines Elisp).  Elisp makes it possible to invent very cool
stuff in very cool ways, and other people may want use your work.  Elisp
let's you be very creative.


Michael.



^ permalink raw reply	[flat|nested] 17+ messages in thread

* RE: What makes elisp fun ?
  2017-05-23 22:39 ` Michael Heerdegen
@ 2017-05-23 22:49   ` Drew Adams
  2017-05-24  9:13   ` hector
  2017-05-24 20:56   ` Emanuel Berg
  2 siblings, 0 replies; 17+ messages in thread
From: Drew Adams @ 2017-05-23 22:49 UTC (permalink / raw)
  To: Michael Heerdegen, Jean-Christophe Helary; +Cc: help-gnu-emacs

What Michael said!



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: What makes elisp fun ?
  2017-05-23 22:39 ` Michael Heerdegen
  2017-05-23 22:49   ` Drew Adams
@ 2017-05-24  9:13   ` hector
  2017-05-24  9:29     ` tomas
  2017-05-24 20:56   ` Emanuel Berg
  2 siblings, 1 reply; 17+ messages in thread
From: hector @ 2017-05-24  9:13 UTC (permalink / raw)
  To: help-gnu-emacs

On Wed, May 24, 2017 at 12:39:43AM +0200, Michael Heerdegen wrote:
> 
> But besides... If you look only at the language Emacs Lisp, it is
> probably not much cooler than other Lisps.  It has some weaknesses even,
> though there has been improvements in the last time (introduction of
> lexical binding for example).
> 
> The most important point for most of Elisp developers is probably that
> they can do something useful for real-life with their language (or
> hobby), something they can use personally.  That you program stuff for
> an Editor makes Elisp quite interesting, because you do stuff with it
> that you probably don't do with other Lisps.  If you want to count
> Fibonacci numbers, you still can use Scheme...

Apropos Scheme and Elisp weaknesses... I have some ideas going around
my head. Is there an interpreter of Scheme written in Elisp? Or put
another way: can I eval Scheme code within Emacs?

I read about replacing the Emacs LISP core with Guile and Scheme.
Is it useable yet?

One of the things this would solve is the recurring question of
Emacs namespaces since Guile has a nice module infrastructure.

BTW I guess this should go to emacs-devel but I don't know how
to cross-mail or even if a non-member can submit messages.
You just gave me a good chance to put it here.



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: What makes elisp fun ?
  2017-05-24  9:13   ` hector
@ 2017-05-24  9:29     ` tomas
  0 siblings, 0 replies; 17+ messages in thread
From: tomas @ 2017-05-24  9:29 UTC (permalink / raw)
  To: help-gnu-emacs

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Wed, May 24, 2017 at 11:13:01AM +0200, hector wrote:
> On Wed, May 24, 2017 at 12:39:43AM +0200, Michael Heerdegen wrote:
> > 
> > But besides... If you look only at the language Emacs Lisp, it is
> > probably not much cooler than other Lisps.  It has some weaknesses even,
> > though there has been improvements in the last time (introduction of
> > lexical binding for example).
> > 
> > The most important point for most of Elisp developers is probably that
> > they can do something useful for real-life with their language (or
> > hobby), something they can use personally.  That you program stuff for
> > an Editor makes Elisp quite interesting, because you do stuff with it
> > that you probably don't do with other Lisps.  If you want to count
> > Fibonacci numbers, you still can use Scheme...
> 
> Apropos Scheme and Elisp weaknesses... I have some ideas going around
> my head. Is there an interpreter of Scheme written in Elisp? Or put
> another way: can I eval Scheme code within Emacs?

There is an Emacs Lisp implementation in Guile Scheme. The idea is to
be able to "cross the border" between both languages with relative
ease (Guile Scheme has provisions for letting "live" different languages
peacefully under its roof).

As far as I know, the implementation is pretty advanced, but not (yet?)
capable of substituting Emacs Lisp. Besides, I don't know how much
consensus there is among Emacs hackers.

See
  https://www.emacswiki.org/emacs/GuileEmacs
  https://www.gnu.org/software/guile/manual/html_node/Emacs-Lisp.html

to get you started.

Besides, I'm sure BT Templeton will appreciate any help, hint, hint :)

cheers
- -- tomás
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEARECAAYFAlklUnMACgkQBcgs9XrR2kYi0gCffUKdzsCmVI4yY5wS75ccEVaz
k20An0Wi2S0fpIbkh0jtax9kvb/UVDDZ
=IvJO
-----END PGP SIGNATURE-----



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: What makes elisp fun ?
  2017-05-23 22:39 ` Michael Heerdegen
  2017-05-23 22:49   ` Drew Adams
  2017-05-24  9:13   ` hector
@ 2017-05-24 20:56   ` Emanuel Berg
  2 siblings, 0 replies; 17+ messages in thread
From: Emanuel Berg @ 2017-05-24 20:56 UTC (permalink / raw)
  To: help-gnu-emacs

Michael Heerdegen wrote:

> And you can do all this in very cool ways,
> because you can do it with a Lisp!
> For example, I recently discovered that you
> can do very cool things with streams (aka
> delayed lists) (they are not built in, but
> hey, you have a programmable programming
> language, so they have been added with very
> few lines Elisp). Elisp makes it possible to
> invent very cool stuff in very cool ways, and
> other people may want use your work.
> Elisp let's you be very creative.

Yes, the interesting thing is, this advanced
and genial code-as-data-and-data-as-code and
the circular lispness of Emacs, what it amounts
to is the possibility to do really simple
things fast and to be able to enjoy them
immediately. To write a project in C is like
creating a masterpiece and then you put it
somewhere where it takes the least space.
Write a defun in Elisp and it is like crafting
a new tool and hanging it on a hook screw.
Interesting thing is the new tool seems to have
much more enjoyment to it than the masterpiece.

-- 
underground experts united
http://user.it.uu.se/~embe8573




^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: What makes elisp fun ?
  2017-05-22 12:28 What makes elisp fun ? Jean-Christophe Helary
  2017-05-22 21:36 ` Emanuel Berg
  2017-05-23 22:39 ` Michael Heerdegen
@ 2017-05-26 10:52 ` Thien-Thi Nguyen
  2017-05-26 13:58 ` Eric Abrahamsen
  3 siblings, 0 replies; 17+ messages in thread
From: Thien-Thi Nguyen @ 2017-05-26 10:52 UTC (permalink / raw)
  To: help-gnu-emacs

[-- Attachment #1: Type: text/plain, Size: 1112 bytes --]


() Jean-Christophe Helary <jean.christophe.helary@gmail.com>
() Mon, 22 May 2017 21:28:26 +0900

   So, besides for the fact that elisp is the Emacs extension
   language, what makes you enthusiastic about it and want to
   program in it?  What makes elisp fun for you?

For me, Emacs makes Emacs Lisp "fun".  In the past, this fun was
in the form of ‘M-x zone RET’ (and so on).  In the present, such
concerns like "how to disable the !@#!@# ELECTRIC-FOO" is "fun".
In the future, i might very well re-enable Blink-Cursor mode, in
anger or in jest, and see what manner of hooks can be piled onto
the timers before Emacs throws a rod...  that might be fun.  :-D

Of course, Emacs also makes Emacs Lisp "not fun", at times, like
when old (functional) code fails to run on a new release.  Sigh.

-- 
Thien-Thi Nguyen -----------------------------------------------
 (defun responsep (query)
   (pcase (context query)
     (`(technical ,ml) (correctp ml))
     ...))                              748E A0E8 1CB8 A748 9BFA
--------------------------------------- 6CE4 6703 2224 4C80 7502

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: What makes elisp fun ?
  2017-05-22 12:28 What makes elisp fun ? Jean-Christophe Helary
                   ` (2 preceding siblings ...)
  2017-05-26 10:52 ` Thien-Thi Nguyen
@ 2017-05-26 13:58 ` Eric Abrahamsen
  2017-05-26 14:43   ` Maxim Cournoyer
                     ` (2 more replies)
  3 siblings, 3 replies; 17+ messages in thread
From: Eric Abrahamsen @ 2017-05-26 13:58 UTC (permalink / raw)
  To: help-gnu-emacs

Jean-Christophe Helary <jean.christophe.helary@gmail.com> writes:

> Chassell's introduction really does not manage to make the reader
> enthusiastic about programming in elisp. Maybe it's because it was
> written when people really had to learn *everything* about programming
> concepts since the internet was not so widely spread at the time.
>
> There are countless people on the web who are super excited about
> Emacs and modes and how all that allows them to be so much better at
> what they do, but most of the things I read about elisp are "elisp is
> what you have to go through to write your .emacs file"... I have yet
> to find just *one* document about elisp that shows some real
> enthusiasm about the language, its features and how it enables users
> to do amazing things (because it also is a Lisp).
>
> I've read (or started reading) a number of books on Lisp and they
> pretty much all put the emphasis on how simple the syntax is, and on
> how macros are the defining difference between lisp and all the other
> languages.
>
> On that note, the macro chapter in the reference does not really
> manage to show users how Lisp macros are so different from any other
> kind of macro system. When you read Graham's Ansi Common Lisp, you get
> right away (p.11) that macros are *the* defining difference between
> Lisp and other languages. On Lisp, or more recently Let Over Lambda
> and even Practical Common Lisp show you right away how important
> macros are.
>
> I understand that macros are not exactly for beginners... But still
> the way they are introduced for other Lisps really conveys the idea
> that Lisp is a very special language. And really, that message does
> not come through in the Introduction to Emacs Lisp or even in the
> Reference.
>
> So, besides for the fact that elisp is the Emacs extension language, what makes you enthusiastic about it and want to program in it? What makes elisp fun for you ?

This is a trick question: the reason elisp is fun is because it's the
Emacs extension language.

Others have mentioned the "coding playground" aspect of Emacs. As you
write code, you have this enormous sandbox to play in, a sandbox where
there's room for anything to happen, and there's a spot to put your
drink down, to boot.

To that I'll add: the built-in help and debugging facilities. I am
continually annoyed that other languages don't have edebug. *Why* don't
they have edebug? Edebug was an essential factor in my progress from a
novice programmer to... wherever I'm at now. Watching the little cursor
go basically taught my brain how code flows. Now I know you're supposed
to do it with printf statements and gdb, but in elisp it's still
comforting to run through my functions with edebug before I go on to
next steps.

Eric




^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: What makes elisp fun ?
  2017-05-26 13:58 ` Eric Abrahamsen
@ 2017-05-26 14:43   ` Maxim Cournoyer
  2017-05-26 14:50   ` Yuri Khan
  2017-05-26 20:53   ` Emanuel Berg
  2 siblings, 0 replies; 17+ messages in thread
From: Maxim Cournoyer @ 2017-05-26 14:43 UTC (permalink / raw)
  To: help-gnu-emacs, Eric Abrahamsen

On May 26, 2017 6:58:37 AM PDT, Eric Abrahamsen <eric@ericabrahamsen.net> wrote:

>To that I'll add: the built-in help and debugging facilities. I am
>continually annoyed that other languages don't have edebug. *Why* don't
>they have edebug? Edebug was an essential factor in my progress from a
>novice programmer to... wherever I'm at now. Watching the little cursor
>go basically taught my brain how code flows. Now I know you're supposed
>to do it with printf statements and gdb, but in elisp it's still
>comforting to run through my functions with edebug before I go on to
>next steps.
>
>Eric

I can also say that edebug and the rich online documentation makes for a great interactive experience. Combined with the fact that you can override pretty much anything anywhere easily, experimenting is very easy and fun!

Maxim
Hi!



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: What makes elisp fun ?
  2017-05-26 13:58 ` Eric Abrahamsen
  2017-05-26 14:43   ` Maxim Cournoyer
@ 2017-05-26 14:50   ` Yuri Khan
  2017-05-26 20:53   ` Emanuel Berg
  2 siblings, 0 replies; 17+ messages in thread
From: Yuri Khan @ 2017-05-26 14:50 UTC (permalink / raw)
  To: Eric Abrahamsen; +Cc: help-gnu-emacs@gnu.org

On Fri, May 26, 2017 at 8:58 PM, Eric Abrahamsen
<eric@ericabrahamsen.net> wrote:

> I am continually annoyed that other languages don't have edebug. *Why* don't
> they have edebug?

Oh, they do. It’s just that their equivalents of edebug are locked in
proprietary IDEs for those languages.



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: What makes elisp fun ?
  2017-05-26 13:58 ` Eric Abrahamsen
  2017-05-26 14:43   ` Maxim Cournoyer
  2017-05-26 14:50   ` Yuri Khan
@ 2017-05-26 20:53   ` Emanuel Berg
  2017-05-26 21:17     ` John Ankarström
  2 siblings, 1 reply; 17+ messages in thread
From: Emanuel Berg @ 2017-05-26 20:53 UTC (permalink / raw)
  To: help-gnu-emacs

Eric Abrahamsen wrote:

> This is a trick question: the reason elisp is
> fun is because it's the Emacs
> extension language.

Are you sure? I can't even imagine having to do
C or an OO language for what I do in Elisp.
How it would ever work is another issue.
But I can even less imagine it be as much fun
as Lisp. Lisp is just a more relaxed language
and for programming which is so intense and
focused it is an awesome quality.

> Others have mentioned the "coding playground"
> aspect of Emacs. As you write code, you have
> this enormous sandbox to play in, a sandbox
> where there's room for anything to happen,
> and there's a spot to put your drink down,
> to boot.

Yes.

-- 
underground experts united
http://user.it.uu.se/~embe8573




^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: What makes elisp fun ?
  2017-05-26 20:53   ` Emanuel Berg
@ 2017-05-26 21:17     ` John Ankarström
  2017-05-28 18:35       ` Emanuel Berg
  0 siblings, 1 reply; 17+ messages in thread
From: John Ankarström @ 2017-05-26 21:17 UTC (permalink / raw)
  To: help-gnu-emacs

Emanuel Berg <moasen@zoho.com> writes:

> Eric Abrahamsen wrote:
>
>> This is a trick question: the reason elisp is fun is
>> because it's the Emacs extension language.
>
> Are you sure? I can't even imagine having to do C or an OO
> language for what I do in Elisp. How it would ever work is
> another issue. But I can even less imagine it be as much
> fun as Lisp. Lisp is just a more relaxed language and for
> programming which is so intense and focused it is an
> awesome quality.

I completely agree with this sentiment. Emacs Lisp is a joy
to work with not only because it's the interactive extension
language of Emacs, but because it's a nice language. If
Emacs used Python as an extension language, I don't think we
would feel the same for Python as we do for Elisp.

The fact that Elisp is part of Emacs helped me discover, not
as a means to an end, but as a language in its own right.



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: What makes elisp fun ?
  2017-05-26 21:17     ` John Ankarström
@ 2017-05-28 18:35       ` Emanuel Berg
  2017-05-28 18:48         ` John Ankarström
  0 siblings, 1 reply; 17+ messages in thread
From: Emanuel Berg @ 2017-05-28 18:35 UTC (permalink / raw)
  To: help-gnu-emacs

John Ankarström wrote:

> The fact that Elisp is part of Emacs helped
> me discover, not as a means to an end, but as
> a language in its own right.

That's very common and it is one of the best
things with Emacs.

I think the young programmers in their early
teens that discover Lisp are
virtually nonexistent.

At the universities they sometimes teach just
a bit of Lisp together with Haskell and perhaps
SML or Erlang as part of a course in
"functional programming". That can very well be
done but probably it will focus too much on the
functional aspects to give a fair view of Lisp,
with which you can program in any style
or paradigm.

-- 
underground experts united
http://user.it.uu.se/~embe8573




^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: What makes elisp fun ?
  2017-05-28 18:35       ` Emanuel Berg
@ 2017-05-28 18:48         ` John Ankarström
  2017-05-28 22:22           ` Emanuel Berg
  0 siblings, 1 reply; 17+ messages in thread
From: John Ankarström @ 2017-05-28 18:48 UTC (permalink / raw)
  To: help-gnu-emacs

Emanuel Berg <moasen@zoho.com> writes:

> At the universities they sometimes teach just a bit of Lisp
> together with Haskell and perhaps SML or Erlang as part of a
> course in "functional programming". That can very well be done
> but probably it will focus too much on the functional aspects
> to give a fair view of Lisp, with which you can program in any
> style or paradigm.

Right, that's one of the things I like about Lisp. If you want to
go functional, it's a great language for that. If you want to
indulge in some good old imperative programming and just get
things done, it offers that too.

It's because it doesn't lock you into a paradigm that it becomes
such a useful tool.

- John



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: What makes elisp fun ?
  2017-05-28 18:48         ` John Ankarström
@ 2017-05-28 22:22           ` Emanuel Berg
  0 siblings, 0 replies; 17+ messages in thread
From: Emanuel Berg @ 2017-05-28 22:22 UTC (permalink / raw)
  To: help-gnu-emacs

John Ankarström wrote:

> Right, that's one of the things I like about
> Lisp. If you want to go functional, it's
> a great language for that. If you want to
> indulge in some good old imperative
> programming and just get things done, it
> offers that too.
>
> It's because it doesn't lock you into
> a paradigm that it becomes such
> a useful tool.

People often misunderstand those paradigms
anyway. What they are are brain-models to
increase understanding so people can relate and
be more aware what they do and the alternatives
how to go forward. They are not blueprints
"what to do" and should not be the starting
point of writing a new program.

By the way the paradigms aren't even
comparable! Functional and
imperative/procedural programming are more of
styles. OO requires an underlying architecture
and is today rather a method for creating
models of certain phenomena. (I suppose most
games can be seen as models, as well.)

C++ people today often downplay the OO part,
while in the 90s some people rewrote entire
programs just to make them "Object Oriented"!

-- 
underground experts united
http://user.it.uu.se/~embe8573




^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2017-05-28 22:22 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-05-22 12:28 What makes elisp fun ? Jean-Christophe Helary
2017-05-22 21:36 ` Emanuel Berg
2017-05-22 21:49   ` Emanuel Berg
2017-05-23 22:39 ` Michael Heerdegen
2017-05-23 22:49   ` Drew Adams
2017-05-24  9:13   ` hector
2017-05-24  9:29     ` tomas
2017-05-24 20:56   ` Emanuel Berg
2017-05-26 10:52 ` Thien-Thi Nguyen
2017-05-26 13:58 ` Eric Abrahamsen
2017-05-26 14:43   ` Maxim Cournoyer
2017-05-26 14:50   ` Yuri Khan
2017-05-26 20:53   ` Emanuel Berg
2017-05-26 21:17     ` John Ankarström
2017-05-28 18:35       ` Emanuel Berg
2017-05-28 18:48         ` John Ankarström
2017-05-28 22:22           ` Emanuel Berg

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.