Varieties decompose uniquely into finitely many irreducibles, and each variety is generated by only finitely polynomials. These two finiteness properties make varieties seemingly "manageable" objects, and leads me to the question:

Can a computer, given a variety (finite set of polynomials) produce a list of its irreducible components (finite set of finite sets of polynomials) in finite time?