It's not just a matter of writing code with no bugs, though. As I mentioned this another comment, [1] voting is unusual as we must be confident in the correctness of the count, and confident that it's not possible to prove whether a particular person voted a particular way. There's also a trust issue: with a digital system, a single corrupt official will likely be able to do far more damage to the vote than with a paper-based system. Even if the system is somehow structured to resist this, public trust might still be less than in a paper-based system.