I think your hang-up is one of infinity. Just because we must deal the reality
of the finite does not mean our computers are not _capable_. For example, the
Turing Machine in our minds is able to run infinitely, but the computer plugged
in to my wall cannot because it is dependent on me paying the power bill.
Any Turing Machine we will have made into silicon is able to run any Turing
Machine we can formulate (at this current moment in time) except only up to
a finite point. But we can forever increase that finite point of measure! For
example, our computers now may be able to calculate up to N. The next year, we
may be able to do N+10000. The following year, N+10000000, and on and on. This
is a limit of our reality, but not of the Turing Machine, which our machines
must be because they are capable of being extended all the way to infinity, even
if we take them there step by step, by adding 1 at a time.
Again, if this were a problem of infinity, then we would have limited the domain
and solved the issue already. But we can design very simple, very finite Turing
Machine programs for which the Halting Problem cannot be solved:
while (true) {
sleep(1);
}
edit: you were right -- we are talking past each other. The "finite" in "finite state machine" is not useful here. Any infinite Turing Machine which we have made into silicon is still an infinite Turing Machine, just one we have inherently limited due to our realities of only having so much time or room or resources or whatever else. But a FSM is not one we limited artificially, it is a different class entirely and a class we can completely make into silicon without any sort of loss. Again, if this were a problem of "infinity" then we would have limited the domain by our own choice and solved it, which we have done for machines of a lower complexity, but _not_ for Turing Machines.