The human brain is an extremely complex machine, which, thanks to its architecture and way of computation, is able to solve relatively complicated problems with high speed and relatively small energy consumption. Recognition of an object or a face, and control of our body in response to a sensory stimulation, are as straightforward for us as complex from the computational viewpoint. Recreating this type of computation, which can be fast and energy efficient, has been a visionary objective of the research for decades. Today, this dream is coming true thanks to the maturity of the microelectronic technology and the progress in neural and neuro-biological networks. The aim of this work is to review the state of the art of neuromorphic computing. The historical milestones of this topical area will be reviewed, and the main technologies, both in terms of software and in terms of hardware circuits that can mimic the way of reasoning of the brain, will be summarized. The future challenges will be described, including the need for a deeper understanding of the cognitive processes in the human brain, and the ability of future technologies, new materials, and new architectures, to accelerate the progress of the innovations in this fascinating technological field. © 2018 Associazione Italiana per l'Informatica e il Calcolo Automatico. All rights reserved.