unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Konrad Hinsen <konrad.hinsen@fastmail.net>
To: Ricardo Wurmus <rekado@elephly.net>,
	Hartmut Goebel <h.goebel@crazy-compilers.com>,
	guix-devel@gnu.org
Subject: Re: How to reference external program used in shell-scripts?
Date: Tue, 10 Sep 2019 10:42:42 +0200	[thread overview]
Message-ID: <m1woeg35kt.fsf@KHs-MacBook.fritz.box> (raw)
In-Reply-To: <87lfuy4ne7.fsf@elephly.net>

Ricardo Wurmus <rekado@elephly.net> writes:

> Hartmut Goebel <h.goebel@crazy-compilers.com> writes:
>
>> Anyway: IMHO missing "dynamic binding" is one of the major drawbacks of
>> functional deployment, as it requires updating (and esp. downloading)
>> much more packages compared to a rpm/deb based system.
>
> At the same time static binding is also one of the major advantages as
> deployments are stateless and thus much more predictable, reliable, and
> inspectable.

Indeed. We are having the same dynamic vs. static debate at the systems
level that has been going on at the programming language level for a
while. And for both situations, we still have to find the right
equilibrium between the two approaches, which both have their good and
bad aspects.

At the systems level, the last decades have seen a strong emphasis on
dynamic binding, in particular with the dominance of dynamic linking and
shared libraries. This has lead us into dependency hell to which we have
found quick-hack solutions (coarse-grained packages such as Docker
containers) and then more thorough ones (Nix and Guix).

Now the challenge is to put the right dose of dynamic binding back into
mostly static systems, and in the right place. For Guix, I'd say the
right place is the individual profile, and in particular the user's
default profile, so /usr/bin/env looks like a good start. My current way
of doing my work with Guix is to play dynamically in my default profile
but deploy stable applications in –pure environments. That's a bit more
work than what I could dream of, but it's sooooo much better than
everything else I have used before that I am not complaining.

Cheers,
  Konrad.

      reply	other threads:[~2019-09-10  8:43 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-08 13:14 How to reference external program used in shell-scripts? Hartmut Goebel
2019-08-08 14:50 ` Ricardo Wurmus
2019-08-09  8:03   ` Hartmut Goebel
2019-08-09  8:54     ` Ricardo Wurmus
2019-09-03  9:08       ` Hartmut Goebel
2019-09-03 10:27         ` Ricardo Wurmus
2019-09-03 13:01         ` Ludovic Courtès
2019-09-03 13:48           ` P via Development of GNU Guix and the GNU System distribution.
2019-09-08 19:41             ` Ricardo Wurmus
2019-09-08 18:37           ` Hartmut Goebel
2019-09-08 19:08             ` Ricardo Wurmus
2019-09-10  8:42               ` Konrad Hinsen [this message]

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=m1woeg35kt.fsf@KHs-MacBook.fritz.box \
    --to=konrad.hinsen@fastmail.net \
    --cc=guix-devel@gnu.org \
    --cc=h.goebel@crazy-compilers.com \
    --cc=rekado@elephly.net \
    /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).