Alternate proofs (other than diagonalization and topological nested sets) for uncountability of the reals? I recently started studying set theory and am having quite a bit of difficulty accepting Cantor's diagonal proof for the uncountability of the reals. I also saw a topological proof via nested sets for uncountability which still does not satisfy me completely, given that just like the diagonal it relies on a never ending process. In fact, the nested sets proof sounds very much like the diagonalization proof to me.
Do all proofs of the uncountability of the reals involve diagonalization? Are there any other proofs I can look at to understand? I couldn't find any on searching stack exchange. Thanks.
 A: The real numbers are a complete densely ordered set without endpoints. That is, there is no minimum, no maximum, between every two points there is a third, and every set which has an upper bound has a least upper bound.

Theorem: Every countable dense order without endpoints is order-isomorphic to the rational numbers.

Since the rational numbers are not order complete, the real numbers are not order-isomorphic to the rationals. Therefore the real numbers cannot be countable.
A: The real numbers are a perfect set, and all perfect sets are uncountable. In particular, this gives a proof of the uncountability of real numbers that does not reference decimal expansions.  
A: Not all proofs of uncountability of the reals involve diagonalization. In fact, one can prove without diagonalization that $\mathbb R$ and $\mathcal P(\mathbb N)$ have the same size, and then give a diagonalization-free proof that, for any $X$, its power set $\mathcal P(X)$ has size strictly larger. This was first noticed by Zermelo. The details can be found in this MO answer.
Briefly: You prove that if $f:\mathcal P(X)\to X$, then $f$ is not injective, by explicitly exhibiting a pair $A\ne B$ of subsets of $X$ with $f(A)=f(B)$. Zermelo's approach uses well-orderings. You find $A,B$ by using transfinite recursion, to define an injective sequence $\langle a_\alpha\mid \alpha<\tau\rangle$ of elements of $X$ such that for all $\beta<\tau$ we have $f(\{a_\alpha\mid \alpha<\beta\})=a_\beta$, but $f(\{a_\alpha\mid \alpha<\tau\})=a_\gamma$ for some $\gamma<\tau$.
