[Top][All Lists]

[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/."


>  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?


>  Notice that it's enough that merely one 0 or 1 got flipped for the behaviour


>> 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.


>> 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.

Updated version attached.

To the maintainers: what do you think of publishing this on

Pierre Neidhardt

Attachment: signature.asc
Description: PGP signature

Description: Text Data

reply via email to

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