From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: David Kastrup Newsgroups: gmane.emacs.devel Subject: Re: use-package.el -> Emacs core Date: Tue, 10 Nov 2015 13:46:15 +0100 Message-ID: <87y4e6t42w.fsf@fencepost.gnu.org> References: <564136F7.2020404@yandex.ru> <877flqe1a4.fsf@gmail.com> <87twoucaxz.fsf@gmail.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1447159643 21562 80.91.229.3 (10 Nov 2015 12:47:23 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 10 Nov 2015 12:47:23 +0000 (UTC) Cc: Juanma Barranquero , Emacs developers , Dmitry Gutov To: Oleh Krehel Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Nov 10 13:47:17 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Zw8KS-0008VF-P6 for ged-emacs-devel@m.gmane.org; Tue, 10 Nov 2015 13:47:17 +0100 Original-Received: from localhost ([::1]:59317 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zw8KN-00032s-BD for ged-emacs-devel@m.gmane.org; Tue, 10 Nov 2015 07:47:11 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:58494) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zw8K9-00032i-5p for emacs-devel@gnu.org; Tue, 10 Nov 2015 07:46:58 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Zw8K8-0005Cd-6F for emacs-devel@gnu.org; Tue, 10 Nov 2015 07:46:57 -0500 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:33290) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zw8Jy-000583-M4; Tue, 10 Nov 2015 07:46:46 -0500 Original-Received: from localhost ([127.0.0.1]:47109 helo=lola) by fencepost.gnu.org with esmtp (Exim 4.82) (envelope-from ) id 1Zw8Jy-0002RS-28; Tue, 10 Nov 2015 07:46:46 -0500 Original-Received: by lola (Postfix, from userid 1000) id BD58BDF5C0; Tue, 10 Nov 2015 13:46:15 +0100 (CET) In-Reply-To: <87twoucaxz.fsf@gmail.com> (Oleh Krehel's message of "Tue, 10 Nov 2015 13:10:00 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::e X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:193842 Archived-At: Oleh Krehel writes: > Juanma Barranquero writes: > >> On Tue, Nov 10, 2015 at 8:55 AM, Oleh Krehel wrote: >> >>> I have some reservations for this. While I use use-package, I started >>> with it long after learning basic Elisp. Essentially, use-package is a >>> black box that abstracts and creates new syntax. Which is fine for >>> veteran users, since they have an idea of what it does. But I think it >>> might be detrimental to new Elisp users. Using the first method, they >>> learn what `add-hook' is, what `add-to-list' is, what keymaps are etc. >>> These things are useful in all kinds of places, not just in the context >>> of setting up packages. >> >> Wouldn't that be an argument against Customize, too? > > 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. It's like saying lamp sockets are for people that aren't yet ready to learn soldering. Once they do, they indeed become redundant. > 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. > 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. > 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. > 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. -- David Kastrup