emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: use-package.el -> Emacs core


From: Oleh Krehel
Subject: Re: use-package.el -> Emacs core
Date: Tue, 10 Nov 2015 14:06:59 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux)

David Kastrup <address@hidden> 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 via email to

[Prev in Thread] Current Thread [Next in Thread]