How is the set of all programs countable? I'm having a hard time seeing how the number of programs is not uncountable, since for every real number, you can create a program that's prints out that number.  Doesn't that immediately establish uncountably many programs?

From my answer here.
The set of all programs is countably infinite. To see why, first notice that each program must be finite in length. Second, notice that the set of all possible  programs is infinite, for no matter what $n \in \mathbb{N}$ you pick, you can always write a program that is longer than $n$. Next, let $S_n$ be the set of all programs of length $n$. Each $S_n$ is finite. The set of all programs of all possible lengths is a countable union of sets $S_n$:
$$
S = \bigcup_{n=0}^\infty S_n
$$
Since the countable union of countable (or finite) sets is at most countable, we conclude that the set of all programs is countable.
