Contrary to popular belief, ENIAC was not the first general-purpose computer. In 1973 the patent for ENIAC was invalidated by the Judge Earl Larson of the US District Court in Minneapolis. Larson found that ENIAC was based on the ideas of John Vincent Atanasoff, who constructed ABC, the first electronic computer, around 19401.

John Atanasoff was finally acknowledged as the true inventor of the electronic computer. However, ABC also wasn't the first general-purpose computer, because actually it wasn't general-purpose, as it wasn't programmable. It was hardwired for solving systems of linear equations2.

The real first ever digital programmable general-purpose electronic computer was built around the same time in Germany. In 1941 Konrad Zuse, a German engineer, built Z3, a binary computer, controlled by perforated strips of film. The machine was fully programmable and in fact it contained almost all features of a modern computer, as defined by John von Neumann in Preliminary Discussion of the Logical Design of an Electronical Computing Instrument (1946)3. The only exception was that the program was not stored in the internal memory of Z3, but on the perforated film strip. However, ENIAC also did not posess this ability - the programming was done by manually rewiring part of the computer.

Now let's give our due respect to Konrad Zuse4.

Sources (to back my claims):
1 http://www.computer.org/history/development/1973.htm
2 http://www.wikipedia.org/wiki/Atanasoff_Berry_Computer
3 http://www.epemag.com/zuse/part4a.htm
4 http://www.bionomics.org/text/resource/articles/ar_015.html