[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: How to present Guix to a wider audience
From: |
Pierre Neidhardt |
Subject: |
Re: How to present Guix to a wider audience |
Date: |
Wed, 22 Jan 2020 12:00:15 +0100 |
Hi ndre,
Thanks, those are great suggestions! Some comments below:
> "Applications are /written/ in programming languages, which are specialized
> human
> languages made up to give instructions to computers. As such, they are
> usually a
> subset of English language with a special syntax which purports to avoid
> ambiguity.
> But computers cannot understand these human languages, in fact they can only
> /understand/ machine language, which are series of operating instructions
> coded
> with numbers.
>
> So, in order to run an application on a computer, someone has to translate it
> from the programming language in which it was written to the target machine
> language which the computer /understands/. This is the work of /compilers/,
> which are specialized software that automate the translation task. The result
> of their translation to machine language is called /compiled code/. The
> program
> as expressed on a programming language is called /source code/."
Hmmm, maybe a bit too long in my opinion. While this is educational, I
don't want to drown the fish either :)
The phrasing is good though and I've included half of it into the text.
> "Now while the source code is intelligible to humans and offers a pretty high
> level of transparency of its logic, compiled code is a virtualy unreadable
> sequence of numbers. In order to understand it, a human would have to decode
> the numbers to the appropriate instructions, do the binary arithmetic they
> represent and have intimate knowledge of the hardware. Moreover, one
> instruction
> on source code translates to several coded instructions on machine language.
> Thus, they are effectively /black boxes/."
Included.
> compile the source code twice, chances are that you'll get slightly different
> sequences of numbers. So how can you know that the compiled software you've
> downloaded is in fact a proper translation of the source code instead of some
> modified version of it?
Included.
> Notice that it's enough that merely one 0 or 1 got flipped for the behaviour
Included.
>> It is actually possible: if we go up the chain of compilers far enough, we
>> reach
>
> a level where have a trivial "machine level" compiler that can build a simple
> compiler from source.
Included.
>> This machine-readable file is small enough that it is no longer a black box
>> and
>
> can be inspected by humans and it is also the only piece of software which
> needs
> the tedious decoding process done. This simpler compiler can in turn build
> a more
I'm not sure this part adds much to the explanation. I haven't included
it because I fear it sounds too complicated.
Thanks!
Updated version attached.
To the maintainers: what do you think of publishing this on guix.gnu.org?
--
Pierre Neidhardt
https://ambrevar.xyz/
signature.asc
Description: PGP signature
guix-why-matters.org
Description: Text Data
- Re: How to present Guix to a wider audience, (continued)
Re: How to present Guix to a wider audience, ndre, 2020/01/21