The paper surveys the fundamental principles of evolvable hardware, introduces main problems of the field and briefly describes the most successful applications. Although evolvable hardware is typically interpreted from the point of view of electrical engineering, the paper discusses the implications of evolvable hardware for the theory of computation. In particular, it is shown that it is not always possible to understand the evolved system as a computing mechanism if the evolution is conducted with real hardware in a loop. Moreover, it is impossible to describe a continuously evolving system using the computational scenario of a standard Turing machine.