In a nutshell: Printing a random non-computable real is a meaningless task, for precise technical reasons. The meaningful problem is to print non-computable numbers precisely identified by some unique property. But these cannot be printed by any program precisely because they are not computable. Using randomness in the hope of printing by chance the uncomputable
number you are interested in is impossible with a program, unless you use a physical random
phenomenon as randomness source (depending on physics, with probability zero, and without knowing whether you are succeeding).
I am not sure what you mean by a number that is not "reachable by
humanity".
The fact that there is an infinity of real numbers between two
integers does not imply that there are more real numbers than
integers (though there are more).
For example, there is an infinity of rational number between two
integers, but the number (cardinality) of integers and rational
numbers is the same. Actually, there is an infinity of rational
numbers between any two rational numbers, but it does not imply that
there are more rational numbers than rational numbers.
By the way, there is an infinity of rational numbers between any two real
numbers, but there are more real numbers than rational numbers.
That should at least tell you that determining which set is bigger is
not at all obvious, and is not related to the number of angels who can
dance between two numbers.
Then why are there more real numbers than integer? Here is one of the
proofs due to Cantor. The reals in the interval $[0.0, 1.0[$ are isomorphic
to infinite sequences of the symbols 0
and 1
, which is their
representation in binary notation (by just adding a decimal/binary point in
front). If you consider any enumeration of these infinite strings, it
is always possible to define a string that is not in the enumeration,
by using for its $n^{th}$ symbol the opposite (1
for 0
, and 0
for 1
) of the $n^{th}$ symbol of the $n^{th}$ number of the
enumeration. This means that if you attempt to define a
one-one correspondance between the integers (used to enumerate) and the
reals (being enumerated) there are always reals that are not included
in the enumeration, which can be interpreted as implying that there
are more reals than integers.
This technique is a diagonalization proof, similar to the proof technique used for proving the
undecidability of the halting problem.
Now, as remarked in the question, any program texts can be read as an
integer, so that one may consider there are no more programs than
integers. This is why we may conclude that there are numbers that
cannot be computed by a program, hence cannot be printed (else, each real could be mapped to the integer corresponding to the
program that prints it.). But this
fast reasonning may not be so convincing, so lets get more into
details. and also consider an actual example.
Your printing device, assuming it does what you expect,
even if it started at the big bang, is only producing digits one by
one, and will at any time have produced only a finite number of
digits, say $n$. That only defines a rational number, and even if we
are actually printing some irrational number. Assuming we are using binary numbers,
if we have already printed $n$ digits, they correspond to a rational
number $x$, and all we know is that the number we ultimately print
will be in the interval $[x, x+2^{-n}[$. But this interval will always
contain an infinity of rational numbers, of computable real, and of
uncomputable reals. And this will remain so for any future value of $n$. Stating that you want to print an uncomputable
number, any uncomputable number, is a meaningless endeavor.
It reminds me of people looking for the pot of gold at the foot of the rainbow.
The meaningful problem is not to write any uncomputable number, but to write a specific one, identified by a specific property. Consider for example the binary real $h\in[0.0, 1.0[$ defined as follows: its $n^{th}$
digit is $1$ iff the Turing Machine with Gödel number $n$ halts on empty
input, and $0$ otherwise. This number is very precisely defined. But
if it were computable, we would have a way to decide the halting
problem. Hence, there is no algorithm, no program, that can enumerate the bits of
the real number $h$, and thus there is no way to print it. And using random generators will not help.
Of course, it could be that some random generator, controlled by a
random physical process such as radioactive decay would produce
precisely that number (with a probability closing to zero as time
passes). But, at best:
1- you would have at any time only a rational number which is a prefix
of the non-computable real you are interested in
2- you would most likely be unable to check wether your prefix is
really correct
3- you would have no garantee that the next digit will still be correct.
But, even then, you must assume that the random generator uses some
physical "true" randomness source. Even randomly created, or
computing with whatever technique known or yet to be invented, no computer program can
print an uncomputable real number, such as the number $h$ defined above. That
is a result of computability theory that no such program can exist.
Your only hope is that computability theory does not apply to
radioactive decay or some other such physical phenomena. But I know of no proof
either way. And it would not really help you in any meaningful way, because the probability of success is zero, and because you would have no way of knowing you are succeeding. Note that I cannot say "of knowing you have succeeded", because you never reach the end of that infinite process, so that any proof would have to be an on-going continuous process, which cannot be finitely defined for essentially the same reason a printing program cannot exist for an uncomputable number.