unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Maxime Devos <maximedevos@telenet.be>
To: Ryan Prior <rprior@protonmail.com>, jgart <jgart@dismail.de>
Cc: Guix Devel <guix-devel@gnu.org>
Subject: Re: developing javascript with guix
Date: Sat, 30 Jul 2022 22:22:58 +0200	[thread overview]
Message-ID: <82c19fa7-7143-5d5f-1e18-ced31d14ce3d@telenet.be> (raw)
In-Reply-To: <7K0vjV4NvEKb0D-wEmmFrZrnJIJRCzAAPhxOe0b4qRqr10cYam8bO2M2mgiQcBD5tO08B7NqFBo_xn-LCDzg-sS_VKdzVhm4_cwpceZyi60=@protonmail.com>


[-- Attachment #1.1.1: Type: text/plain, Size: 4034 bytes --]

TL;DR: I disagree with many of the claims, I agree that some 
documentation using specific examples is useful, I disagree that this 
isn't what we are already doing in the Guix manual, I agree that we 
don't have per-language landing pages yet and that they could be a 
convenient starting point, I disagree on the degree to which this is 
useful, I disagree that this is required.

On 28-07-2022 01:15, Ryan Prior wrote:
> ## Explanation in context
>
> The language-specific package managers generally don't take for granted that people know anything about the language, because they're designed to be accessible to learners of the language. For example, PyPI's explanation for pip starts with the basic "can you even run Python?" and goes through a bunch of Python-specific package workflows:https://packaging.python.org/en/latest/tutorials/installing-packages/
Neither does the Guix package manager take for granted you know anything 
about the language -- the package management commands are 
language-independent in Guix. (imports are another matter, but those are 
a language manner, which Guix is not involved with). Also, AFAICT, that 
workflow is not Python-specific but PyPi+pip-specific, except for the 
"python3 --version" check. It also seems abstract to me, i.e., it 
doesn't mention any specific packages to install for some project but 
uses abstract commands like "python3 -m pip install "Foo==some-version", 
nothing concrete?
>
> We could write a guide like that

We already have one: see (guix)Getting Started.

> with information and example commands specific to Python packaging, and another for JavaScript, etc.
These commands are not language-specific in Guix.
> These provide explanation in context so beginners and people who are confused for whatever reason can see concrete examples of what you're supposed to do.

Context and examples exist in (guix)Getting Started (example: Emacs, 
context: Getting Started,.

> Meanwhile, in the Guix docs, everything is abstract. We don't name any specific library commons or restrict package search to any specific namespace, we don't even have tags or categories for them.

"guix search node mersenne" -> node-mersenne
"guix search python mersenn" -> no results (can happen)

"guix search python aes" -> some python libraries implementing AES
"guix search node aes" -> likewise, no results.
"guix search rust aes" -> many results

No tags or categories are needed if the descriptions are good. Maybe 
this can be mentioned among the examples in (guix)Invoking guix package?

>   There is no link to Guix documentation I can give to a Python hacker that assures them, in the way PyPI's website does, that Guix has the stuff they need and they can find it and make it work. So Guix requires more faith and experimentation from users, which means a lot of people will just bounce off it.
Myself, I doubt that this will give much assurance or help them beyond 
what the docs already do, but I suppose we could make a few 
language-specific 'cheat sheets' of sorts, which seems to be the kind of 
thing you are referring to?  E.g.,:

* Install the Python interpreter: $ guix install python

   (see (guix).... for more info on "guix install")

* Install some Python libraries: $ guix install python-thisexample 
python-thatexample
* Search for Python libraries: $ guix search python more-keywords...

   (see [...] for more info on [...])

   Example: search for Python cryptography libraries: $ guix search 
python crypto ...

* Start the Python interpreter: $ python3

* Start Python and import some libraries:

   $ python3

   import foobar

   (see https://some-python-site on how to use imports in Python.)

   Important: the package name does not always match the name used in 
Python!.

I don't think this brings much, but not much is still a little, and a 
little is still useful.

If there is interest, such workflows could be worked out in prose.

Greetings,
Maxime.


[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 929 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]

  parent reply	other threads:[~2022-07-30 20:23 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-27  0:25 developing javascript with guix jgart
2022-07-27  9:33 ` Maxime Devos
2022-07-27 22:25   ` jgart
2022-07-27 23:15     ` Ryan Prior
2022-07-30 13:40       ` Luis Felipe
2022-07-30 16:04         ` bokr
2022-08-03 14:26         ` david larsson
2022-07-30 19:36       ` Maxime Devos
2022-07-30 19:44       ` Maxime Devos
2022-07-30 19:50       ` Maxime Devos
2022-07-30 20:22       ` Maxime Devos [this message]
2022-08-03 13:18       ` Giovanni Biscuolo
2022-07-30 19:35     ` Maxime Devos

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

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=82c19fa7-7143-5d5f-1e18-ced31d14ce3d@telenet.be \
    --to=maximedevos@telenet.be \
    --cc=guix-devel@gnu.org \
    --cc=jgart@dismail.de \
    --cc=rprior@protonmail.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 public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).