I'm trying to understand why the set of finite languages over a finite alphabet is countable but the set of languages over a finite alphabet is uncountable. I'm guessing its because the sentences represented by the finite alphabet is infinitely countable and corresponds to a natural number. Thus the set of finite languages over a finite alphabet can be counted by listing them in increasing size (similar to the proof of how the sentences over a finite alphabet are countable). However, if the languages are NOT finite, then I'm assuming Cantor's Diagonalization argument should be used to prove by contradiction that it is uncountable. Am I on the right track? Also, could someone please clear up why Cantor's Diagonalization will not work to contradict the first one but will work to contradict the second one? Is it because in the first one, the languages are finite thus they can be represented by natural numbers so nothing is missed but when they are infinite you can always find a diagonal (flipping the bits) that is not in the list?
Thanks in advance, I thought I understood it completely but I seem to keep fighting the idea of it in my head.