Quantum Information Processing and Quantum Simulation with Programmable Rydberg Atom Arrays