all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Oleh Krehel <ohwoeowho@gmail.com>
To: David Kastrup <dak@gnu.org>
Cc: Juanma Barranquero <lekktu@gmail.com>,
	Dmitry Gutov <dgutov@yandex.ru>,
	Emacs developers <emacs-devel@gnu.org>
Subject: Re: use-package.el -> Emacs core
Date: Tue, 10 Nov 2015 14:06:59 +0100	[thread overview]
Message-ID: <87oaf2atqk.fsf@gmail.com> (raw)
In-Reply-To: <87y4e6t42w.fsf@fencepost.gnu.org> (David Kastrup's message of "Tue, 10 Nov 2015 13:46:15 +0100")

David Kastrup <dak@gnu.org> writes:

>> Customize is for people that aren't yet ready to learn Elisp.  Once
>> they do, it indeed becomes redundant.
>
> Nonsense.  It provides type safety and makes sure that the variables are
> set in the intended way.  It also makes sure that any followup actions
> necessary after setting the variables are being performed.

I meant configuring your Emacs with the Customize interface is redundant
once you know Elisp. The type safety and :set handlers are separate from
that.

I only use this thing instead of `setq' for custom vars:

(defmacro csetq (variable value)
  `(funcall (or (get ',variable 'custom-set) 'set-default) ',variable ,value))

> It's like saying lamp sockets are for people that aren't yet ready to
> learn soldering.  Once they do, they indeed become redundant.

Lamp sockets are still relevant. Calling an electrician ("M-x"
`customize-group') isn't relevant.

>> I used Customize when I started out around 5 years ago. I don't use it
>> now, except for providing it to the users of my packages.
>
> I don't see that this makes any sense since it means you have to learn
> all about the various dependencies and intricacies of every single
> package you are going to use.

Having to learn the various dependencies and intricacies of every single
package I use make perfect sense to me.

>> Use-package is already an Elisp thing.
>
> It's for people that aren't yet read to manage load-file.  Or something.
> And Elisp is for people that aren't yet ready to learn C.

Bad analogy. Elisp is for people what want to get things done faster
than with C.

>> We should encourage the core Elisp to be simple to learn, because it
>> is actually very simple.  Not anymore so with macros like `cl-loop',
>> `pcase' and `use-package'.  They are powerful, but /they are their own
>> language/ completely separate from Elisp. They have their place, but
>> in my opinion Elisp newbies should not be encouraged to use them.
>
> Sorry, but I cannot agree at all.  That's like saying C++ users should
> not learn about the standard libraries since they should rather write
> their own.

No, it's like saying that it's OK for users to write Boost template
constructs and do QT stuff without learning the basic C++ and STL.

>> And including `use-package' into the core somehow promotes and
>> recommends the use of it over the built-in facilities, which are
>> newbie-friendly, while `use-package' is not.
>
> I think you got it backwards.

Let's agree to disagree then. John asked for opinions and I gave mine.
What it boils down to is: new users should learn how to use "while"
before they use "loop". And they should be aware that even some veteran
programmers are against the use of "loop" in favor of "while"; they
should not see "while" as training wheels and "loop" as the big boy's
bike.



  reply	other threads:[~2015-11-10 13:06 UTC|newest]

Thread overview: 95+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-10  0:02 use-package.el -> Emacs core John Wiegley
2015-11-10  0:14 ` Dmitry Gutov
2015-11-10  0:31   ` John Wiegley
2015-11-10  0:40     ` Dmitry Gutov
2015-11-10  7:55     ` Oleh Krehel
2015-11-10 11:52       ` Juanma Barranquero
2015-11-10 12:10         ` Oleh Krehel
2015-11-10 12:23           ` Juanma Barranquero
2015-11-10 12:40             ` Oleh Krehel
2015-11-10 12:47               ` Juanma Barranquero
2015-11-10 15:15                 ` John Wiegley
2015-11-10 15:42                   ` Juanma Barranquero
2015-11-10 15:56                     ` Dmitry Gutov
2015-11-11  0:37                     ` Stephen Leake
2015-11-11  0:56                       ` Juanma Barranquero
2015-11-10 15:55                   ` João Távora
2015-11-10 16:08                     ` John Wiegley
2015-11-10 16:23                   ` Drew Adams
2015-11-10 14:03               ` David Kastrup
2015-11-10 14:15                 ` Oleh Krehel
2015-11-10 14:22                 ` João Távora
2015-11-10 15:17                   ` John Wiegley
2015-11-10 15:46                     ` João Távora
2015-11-10 18:15                       ` John Wiegley
2015-11-10 19:32                         ` João Távora
2015-11-10 19:47                           ` John Wiegley
2015-11-10 21:00                             ` João Távora
2015-11-10 15:56                     ` Kaushal Modi
2015-11-10 18:20                       ` John Wiegley
2015-11-10 18:32                         ` Drew Adams
2015-11-10 18:38                           ` John Wiegley
2015-11-10 18:52                             ` Kaushal Modi
2015-11-10 18:55                               ` John Wiegley
2015-11-10 19:24                             ` Drew Adams
2015-11-10 19:35                               ` John Wiegley
2015-11-10 20:42                                 ` Drew Adams
2015-11-10 12:42             ` Kaushal Modi
2015-11-10 12:46           ` David Kastrup
2015-11-10 13:06             ` Oleh Krehel [this message]
2015-11-10 18:15               ` Evgeny Panasyuk
2015-11-10 18:31                 ` Alan Mackenzie
2015-11-10 13:32             ` Wolfgang Jenkner
2015-11-10 15:08               ` Customize is only for newbies? [was: use-package.el -> Emacs core] Drew Adams
2015-11-11  0:01                 ` Wolfgang Jenkner
2015-11-10 14:58           ` Drew Adams
2015-11-10 15:42             ` John Wiegley
2015-11-10  8:49     ` use-package.el -> Emacs core João Távora
2015-11-10  8:57       ` Pedro Silva
2015-11-10  9:45         ` João Távora
2015-11-10 12:01           ` Phillip Lord
2015-11-10 13:37             ` João Távora
2015-11-10 14:07               ` Oleh Krehel
2015-11-10 14:39               ` Nicolas Richard
2015-11-10 14:48                 ` João Távora
2015-11-10 15:40                   ` John Wiegley
2015-11-12 12:43                   ` Nicolas Richard
2015-11-10 17:36               ` Phillip Lord
2015-11-10  0:44 ` Artur Malabarba
2015-11-10  1:05   ` John Wiegley
2015-11-10  1:24     ` Artur Malabarba
2015-11-10  1:37       ` John Wiegley
2015-11-10  3:20         ` Artur Malabarba
2015-11-10  5:37           ` Kaushal Modi
2015-11-10  6:07             ` John Wiegley
2015-11-10 23:27             ` Stephen Leake
2015-11-10 23:32               ` John Wiegley
2015-11-11  9:29                 ` Oleh Krehel
2015-11-11 16:48                   ` John Wiegley
2015-11-11 20:04                     ` Kaushal Modi
2015-11-11 20:10                       ` John Wiegley
2015-11-12  2:11                       ` Copyright assignments in Gnu Elpa (was: use-package.el -> Emacs core) Michael Heerdegen
2015-11-12  2:19                         ` Copyright assignments in Gnu Elpa John Wiegley
2015-11-12  3:50                         ` Artur Malabarba
2015-11-12 22:31                         ` Copyright assignments in Gnu Elpa (was: use-package.el -> Emacs core) Richard Stallman
2015-11-15 14:51                           ` Copyright assignments in Gnu Elpa Andreas Röhler
2015-11-16 19:30                             ` Richard Stallman
2015-11-10  1:37 ` use-package.el -> Emacs core Ted Zlatanov
2015-11-10  8:24 ` joakim
2015-11-11  0:29   ` Stephen Leake
2015-11-11  0:45     ` Dmitry Gutov
2015-11-11  9:30       ` Stephen Leake
2015-11-11 10:04         ` Xue Fuqiao
2015-11-11 10:20         ` Artur Malabarba
2015-11-10  8:44 ` Andreas Röhler
2015-11-10  9:29 ` Nicolas Petton
2015-11-11  0:32   ` Stephen Leake
2015-11-11  0:37     ` John Wiegley
2015-11-10 18:21 ` Stephen Leake
2015-11-10 18:34   ` John Wiegley
2015-11-10 19:54     ` Dmitry Gutov
2015-11-10 20:09       ` Kaushal Modi
2015-11-10 20:27         ` John Wiegley
2015-11-11  0:04     ` Stephen Leake
  -- strict thread matches above, loose matches on Subject: below --
2017-02-15 19:49 Toon Claes
2017-02-15 19:51 ` John Wiegley

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=87oaf2atqk.fsf@gmail.com \
    --to=ohwoeowho@gmail.com \
    --cc=dak@gnu.org \
    --cc=dgutov@yandex.ru \
    --cc=emacs-devel@gnu.org \
    --cc=lekktu@gmail.com \
    /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.