The first generation of computers used vacuum tubes as their basic electronic components which made the computers very large and prone to overheating issues. They had limited memory using punched cards and could only perform basic mathematical calculations. Programming was done in low-level machine languages. Some examples of first generation computers include ENIAC, EDVAC, and UNIVAC.